* Activate schema validation and align underlying systems
* update to save as v0 if not the right schema version
* Resolve merge conflicts
* Move RequireApiErrorStatus to tests package
* Add mutation tests
* Fix lint
* Only do min version check if dashboard is v1
* Fix lint and disable provisioning test
* Revert provisioning changes
* Revert more tests and add schema test
* Reran gen
* SQL Dashboard save
* Adjust APIVERSION
* Fixed mutation test
* Add logging on downgrade
---------
Co-authored-by: Marco de Abreu <18629099+marcoabreu@users.noreply.github.com>
Co-authored-by: Stephanie Hingtgen <stephanie.hingtgen@grafana.com>
* first attempt to have info function
* unit test for query modeller
* enable info function in devenv
* fix unit test
* add unit test for info function
* throw error when trying to visualize the info function
* remove visual query support
* Update packages/grafana-prometheus/src/promql.ts
Co-authored-by: Ivana Huckova <30407135+ivanahuckova@users.noreply.github.com>
* Update packages/grafana-prometheus/src/querybuilder/parsing.test.ts
Co-authored-by: Ivana Huckova <30407135+ivanahuckova@users.noreply.github.com>
* update info function detail
---------
Co-authored-by: Ivana Huckova <30407135+ivanahuckova@users.noreply.github.com>
* Chore: Bump golang.org/x/net to v0.36.0
* Chore: Use github.com/moby/moby version 27.5.1 instead of 26.0.0
* Chore: Bump github.com/ua-parser/uap-go to v0.0.0-20250213224047-9c035f085b90
* Chore: Bump github.com/grpc-ecosystem/go-grpc-middleware/v2 to fix 32-bit overflow issue
* Add version 2.4 to frontend
* Update settings and types
- Set all properties on backend for consistency
* Update query logic to parse new and old format
- Minor naming updates
- Extract logic for initial frame creation
- When parsing old api responses, ensure data is in ascending order
- Update tests
* Update docs and provisioning file
* Fix lint
* Update docs/sources/datasources/opentsdb/_index.md
Co-authored-by: Larissa Wandzura <126723338+lwandz13@users.noreply.github.com>
* Update docs/sources/datasources/opentsdb/_index.md
Co-authored-by: Larissa Wandzura <126723338+lwandz13@users.noreply.github.com>
* Review nit
---------
Co-authored-by: Larissa Wandzura <126723338+lwandz13@users.noreply.github.com>
* adjut quickRanges type in v2
* clean up unused time_options property
* remove deprecated time_options property on time picker
* add schema migration for time_options
* adjust test
* utf8 metrics for prometheus devenv
* introduce utf8 support
* completions and suggestions
* don't wrap the utf8 label in quotes
* linting
* support utf8 labels and metrics on visual query builder
* lint
* update raw view for utf8 metric syntax
* betterer
* support utf8 metric names in explore metrics
* utf8 support in grouop by
* utf8 support in label break down
* support series endpoint
* support series endpoint
* support series endpoint
* Explore metrics: Utf8 support in Explore metrics with OTel experience enabled (#98707)
* betterer
---------
Co-authored-by: Brendan O'Handley <brendan.ohandley@grafana.com>
* Merge in default threshold base if exists
* Fix tests to not expect default threshold
* Add config from query example to gdev
* Add a test around the merging of thresholds
* Revert "Add config from query example to gdev"
This reverts commit a239224ebbd311c33fa445c9a99502262eaa0215.
* update gdev
* Add note about keeping the base threshold
* Update public/app/features/transformers/docs/content.ts
Co-authored-by: Isabel Matwawana <76437239+imatwawana@users.noreply.github.com>
* Merge in generated code
---------
Co-authored-by: Leon Sorokin <leeoniya@gmail.com>
Co-authored-by: Isabel Matwawana <76437239+imatwawana@users.noreply.github.com>
* try to enable cache on golangci linter
* bump version
* exclude G115
* reduce timeout
* remove deprecated linter
* bump linter version in bingo
* try a different syntax for workspace modules
* try another command
* add apps to linter path
* try disabling cue codegen
* skip some linting in devenv
* exclude dirs and try again
* try workaround for pkg
* try path instead of dir
* make it one line
* replace package prefix
* exclude xorm
* exclude wire
* file-based aproach to nolint in workspaces
* missing quote
* simplify command line
* change ownership
* build(webpack): set publicpath and process urls to resolve assets correctly
* build(webpack): add back --progress to build
* Add local cdn
(cherry picked from commit 7a19523fa476fd5ff2d7669d116f5be462b100f5)
* chore(devenv): fix local_cdn path in ngnix conf
* chore(codeowners): add frontend-ops as owners of local_cdn docker block
---------
Co-authored-by: Andreas Christou <andreas.christou@grafana.com>
This solves problems on Linux distros like NixOS and BSDs like FreeBSD that don't provide `/bin/bash`, while also
maintaining support for all other distros out there (AFAIK? even Alpine with its Busybox has /usr/bin/env).
* feat: add extensions to the backend plugin model
* feat: update the frontend plugin types
* feat(pluginContext): return a `null` if there is no context found
This will be necessary to understand if a certain hook is running inside a plugin context or not.
* feat: add utility functions for checking extension configs
* tests: fix failing tests due to the type updates
* feat(AddedComponentsRegistry): validate plugin meta-info
* feat(AddedLinksRegistry): validate meta-info
* feat(ExposedComponentsRegistry): validate meta-info
* feat(usePluginComponent): add meta-info validation
* feat(usePluginComponents): add meta-info validation
* feat(usePluginLinks): add meta-info validation
* fix: only validate meta-info in registries if dev mode is enabled
* tests: add unit tests for the restrictions functionality
* tests: fix Go tests
* fix(tests): revert accidental changes
* fix: run goimports
* fix: api tests
* add nested app so that meta data can bested e2e tested
* refactor(types): extract the ExtensionInfo into a separate type
* refactor(extensions/utils): use Array.prototype.some() instead of .find()
* refactor(usePluginLinks): update warning message
* feat(usePluginExtensions()): validate plugin meta-info
* Wip
* fix(e2e): E2E tests for extensions
* fix(extensions): allow multiple "/" slashes in the extension point id
* fix(extensions/validators): stop validating the plugin id pattern
---------
Co-authored-by: Erik Sundell <erik.sundell87@gmail.com>
* build test apps with webpack
* add extensions test app
* update e2e tests
* remove non-build test apps using amd
* use @grafana/plugin-configs rather than create-plugin config
* Update e2e/plugin-e2e/plugin-e2e-api-tests/as-admin-user/extensions/usePluginComponents.spec.ts
Co-authored-by: Jack Westbrook <jack.westbrook@gmail.com>
* Update package.json
Co-authored-by: Jack Westbrook <jack.westbrook@gmail.com>
* use run dir variable instead of hardcoded path
* add dummy licence file
* add separate step for building test plugins
* support nested plugins
* remove react-router-dom from the externals array
* remove add_mode dev
* lint starlark
* pass license path as env variable
* fix the path
* chore(e2e-plugins): clean up dependencies to match core versions
* refactor(e2e-plugins): prefer extending webpack plugins-config
* docs(e2e-plugins): add basic info to extensions test plugin readme
* update readme
* change dir name from custom plugins to test plugins
* change root readme
* update lockfile
---------
Co-authored-by: Jack Westbrook <jack.westbrook@gmail.com>