Commit Graph

193 Commits

Author SHA1 Message Date
Matheus Macabu a3e14a8006 [release-12.3.2] Chore: Update OpenFGA to 1.11.1 (#114994)
* Chore: Update OpenFGA to 1.11.1

* Fix linter net context

* also bump expr-lang to fix CVE-2025-68156
2026-01-07 10:00:24 +01:00
Matheus Macabu 6c1aba662e [release-12.3.1] Dependencies: Bump Go to v1.25.5 (#114751)
Dependencies: Bump Go to v1.25.5
2025-12-03 11:14:35 +01:00
Levente Balogh 3c0409fe05 Dashboard Controls: Add annotations to the dashboard controls menu (#112816)
* feat: add a placement property to annotations model v2

* chore: update scenes to `v6.42.1`

* chore: run `make gen-apps`

* fix: cater for cases when there is no data layer

* chore: swagger clean

* chore: update api clients

* fix: correct type guard

* fix: display control labels in the default renderer as well for DashboardDataLayerSet
2025-11-03 11:33:44 +01:00
Paul Marbach 64da716a2e Heatmap: Fix runtime error when no data is present, add e2e test (#113242)
* Heatmap: Fix runtime error when no xAxis is present, add e2e test

* update migration test fixture

* updates from review
2025-10-31 18:17:30 +00:00
Ryan McKinley 53aed34652 LibraryPanels: Support CRUD via apiserver (#113035) 2025-10-31 08:14:38 +03:00
Paul Marbach c487952279 Table: Support DataLinks and Actions in SparklineCell (#112244)
* Table: Support DataLinks in SparklineCell

* add data links to sparkline gdev

* fix migrator test

* Clean up single action use case
2025-10-30 10:04:08 -04:00
Costa Alexoglou bbfb8268d1 Provisioning: concurrent deletes in finalizers and 404 handling (#113155)
* fix: concurrent deletes in finalizers and 404 handling

* chore: feedback review

* fix: broken tests
2025-10-30 11:55:36 +01:00
Torkel Ödegaard 344fc5606f PanelTimeCompare: Support saving time compare window (#113150)
* PanelTimeCompare: Support saving time compare window

* fix indentation

* Fix merge issue

* Update

* Update

* make gen-cue

---------

Co-authored-by: oscarkilhed <oscar.kilhed@grafana.com>
2025-10-30 10:50:05 +01:00
Paul Marbach 2a5ce2f031 Gauge: Fix migration version targeting and gdev dashboard (#112974) 2025-10-28 09:31:20 -04:00
Ryan McKinley 6783c7f998 Dashboards: Remove unused version types (#113036) 2025-10-27 09:12:31 -04:00
Ryan McKinley 5df4a3b9a3 Chore: Update app-sdk to v0.48.1 (#113023) 2025-10-27 09:34:26 +03:00
Paul Marbach 3f02f50cf9 StateTimeline: Complete E2E tests and add simple StateTimelineTooltip unit tests (#112901)
* StateTimeline: E2E tests for basic rendering, no data, and tooltip interactions

* Add tests for StateTimelineTooltip sub-component

* Remove unused import from state-timeline.spec.ts

* updates from PR review
2025-10-24 10:45:48 -04:00
Gábor Farkas 8ab7a20265 update dependency grafana/grafana-plugin-sdk-go to v0.281.0 (#112726)
* go get github.com/grafana/grafana-plugin-sdk-go@v0.281.0

* make update-workspace

* updated failing unit test

* disable deprecation warnings

* datasources: allow underscore-prefixed local time range

* updated go.work.sum
2025-10-22 09:02:11 +02:00
Torkel Ödegaard 27ac08dd51 NewGauge: Fix segmented gauge with min value != 0 (#112697)
* NewGauge: Fix segmented gauge with min value != 0

* update gdev dashboard to exercise case

* update gdev dashboard with panel to exercise

* update

---------

Co-authored-by: Paul Marbach <paul.marbach@grafana.com>
2025-10-21 17:49:04 +02:00
Torkel Ödegaard 7df537c9fc NewGauge: Adds new feature toggle named newGauge (#112593)
* NewGauge: Feature toggle and fixes

* Gauge: New migration test dashboard

* Update

* Updates

* Tweaked default barWidth

* Fix multi data links

* remove sizing options

* merge fix

* Update

* Restore

* Update

* Tweaked name font size logic

* use file snapshots instead of inline

---------

Co-authored-by: Paul Marbach <paul.marbach@grafana.com>
2025-10-20 18:33:19 +02:00
Torkel Ödegaard e014f1ba0c NewGauge: Adds scale labels (threshold labels) (#112517)
* Progress on scale label

* Progress

* Progress on labels

* Progress

* fix for segments

* Update

* Fix

* Update

* Some basic unit tests

* fixes

* fixes
2025-10-17 13:51:54 +02:00
Todd Treece 30d79476cd App SDK: Update to v0.47.0 (#112519) 2025-10-16 15:41:41 +00:00
Dominik Prokop 26d36ec7ff Fix v38 table panel overrides migration when defaults.custom is missing (#112430)
Dashboard Migration: Fix v38 table panel overrides migration when defaults.custom is missing

The v38 migration was incorrectly skipping field config overrides processing
when fieldConfig.defaults.custom didn't exist. This caused custom.displayMode
properties in overrides to not be migrated to the new custom.cellOptions format.

The fix ensures migrateOverrides is always called for table panels, regardless
of whether defaults.custom exists.

Added comprehensive unit test covering this edge case to prevent regression.

Issue discovered through comprehensive migration testing infrastructure.
2025-10-16 17:33:03 +02:00
Dominik Prokop 8449a2e4fb Fix v16 grid position calculation for fractional spans (#112428)
Fix v16 grid position calculation for fractional spans

Match frontend span-to-width conversion logic by flooring span first,
then multiplying by width factor, instead of multiplying first then flooring.

This fixes dashboard layout inconsistencies where panels with fractional
spans (e.g. 5.929860088365242) would have different widths between
backend and frontend migration paths.

- Backend old: Math.floor(5.93 * 2) = Math.floor(11.86) = 11
- Backend new: Math.floor(5.93) * 2 = 5 * 2 = 10 (matches frontend)

Includes comprehensive unit test to prevent regression.
2025-10-16 17:32:42 +02:00
Ryan McKinley a1a750d440 Chore: update dependencies in go.mod (#112516)
update go mod
2025-10-16 17:31:32 +03:00
Torkel Ödegaard 77e571b079 RadialGauge: (#111841)
* Radial gauge

* Update

* Update

* Update

* Updated

* Progress

* Spotlight

* Glow

* More effects

* Update

* Update

* Update

* Update

* Fix overflow

* Progress

* Progress

* Barwidth factor

* Update

* segmemnted

* Update

* Update

* Update

* Display processor

* Progress

* Updated

* Update

* rounded bars option

* added option for rounded

* Fixed gauge shape and segments

* Updated text and sparkline placmeent

* progress

* New spotlight effect is working

* refactorings

* Update

* hue working in gauge mode

* Update

* Update

* Progress

* Refactorings and sizing improvements

* Refactorings

* Progress

* Unify arc path

* Thresholdsbar

* Update

* Progress

* Update

* Close to mergable

* Unit tests

* Update

* Update

* Fix

* Update

* update

* simple test

* Fix

* Minor tweak

* added icon to shape

* Progress on color simplification

* progress on new color system

* Simplify color gradient modes around a single auto mode

* Progress on text sizing

* Fixes

* Update

* Update

* Hook up manual font size

* Restore old behavior in old panel
2025-10-16 15:53:38 +02:00
dependabot[bot] a00bcb0154 deps(go): bump the go-opentelemetry-io group across 2 directories with 4 updates (#112488)
* deps(go): bump the go-opentelemetry-io group across 2 directories with 4 updates

Bumps the go-opentelemetry-io group with 4 updates in the / directory: [go.opentelemetry.io/collector/pdata](https://github.com/open-telemetry/opentelemetry-collector), [go.opentelemetry.io/contrib/instrumentation/net/http/httptrace/otelhttptrace](https://github.com/open-telemetry/opentelemetry-go-contrib), [go.opentelemetry.io/contrib/propagators/jaeger](https://github.com/open-telemetry/opentelemetry-go-contrib) and [go.opentelemetry.io/contrib/samplers/jaegerremote](https://github.com/open-telemetry/opentelemetry-go-contrib).
Bumps the go-opentelemetry-io group with 1 update in the /pkg/apiserver directory: [go.opentelemetry.io/contrib/propagators/jaeger](https://github.com/open-telemetry/opentelemetry-go-contrib).


Updates `go.opentelemetry.io/collector/pdata` from 1.30.0 to 1.43.0
- [Release notes](https://github.com/open-telemetry/opentelemetry-collector/releases)
- [Changelog](https://github.com/open-telemetry/opentelemetry-collector/blob/main/CHANGELOG-API.md)
- [Commits](https://github.com/open-telemetry/opentelemetry-collector/compare/pdata/v1.30.0...pdata/v1.43.0)

Updates `go.opentelemetry.io/contrib/instrumentation/net/http/httptrace/otelhttptrace` from 0.62.0 to 0.63.0
- [Release notes](https://github.com/open-telemetry/opentelemetry-go-contrib/releases)
- [Changelog](https://github.com/open-telemetry/opentelemetry-go-contrib/blob/main/CHANGELOG.md)
- [Commits](https://github.com/open-telemetry/opentelemetry-go-contrib/compare/zpages/v0.62.0...zpages/v0.63.0)

Updates `go.opentelemetry.io/contrib/propagators/jaeger` from 1.37.0 to 1.38.0
- [Release notes](https://github.com/open-telemetry/opentelemetry-go-contrib/releases)
- [Changelog](https://github.com/open-telemetry/opentelemetry-go-contrib/blob/main/CHANGELOG.md)
- [Commits](https://github.com/open-telemetry/opentelemetry-go-contrib/compare/v1.37.0...v1.38.0)

Updates `go.opentelemetry.io/contrib/samplers/jaegerremote` from 0.31.0 to 0.32.0
- [Release notes](https://github.com/open-telemetry/opentelemetry-go-contrib/releases)
- [Changelog](https://github.com/open-telemetry/opentelemetry-go-contrib/blob/main/CHANGELOG.md)
- [Commits](https://github.com/open-telemetry/opentelemetry-go-contrib/compare/zpages/v0.31.0...zpages/v0.32.0)

Updates `go.opentelemetry.io/contrib/propagators/jaeger` from 1.37.0 to 1.38.0
- [Release notes](https://github.com/open-telemetry/opentelemetry-go-contrib/releases)
- [Changelog](https://github.com/open-telemetry/opentelemetry-go-contrib/blob/main/CHANGELOG.md)
- [Commits](https://github.com/open-telemetry/opentelemetry-go-contrib/compare/v1.37.0...v1.38.0)

---
updated-dependencies:
- dependency-name: go.opentelemetry.io/collector/pdata
  dependency-version: 1.43.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: go-opentelemetry-io
- dependency-name: go.opentelemetry.io/contrib/instrumentation/net/http/httptrace/otelhttptrace
  dependency-version: 0.63.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: go-opentelemetry-io
- dependency-name: go.opentelemetry.io/contrib/propagators/jaeger
  dependency-version: 1.38.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: go-opentelemetry-io
- dependency-name: go.opentelemetry.io/contrib/samplers/jaegerremote
  dependency-version: 0.32.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: go-opentelemetry-io
- dependency-name: go.opentelemetry.io/contrib/propagators/jaeger
  dependency-version: 1.38.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: go-opentelemetry-io
...

Signed-off-by: dependabot[bot] <support@github.com>

* make update-workspace

Signed-off-by: Dave Henderson <dave.henderson@grafana.com>

---------

Signed-off-by: dependabot[bot] <support@github.com>
Signed-off-by: Dave Henderson <dave.henderson@grafana.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Dave Henderson <dave.henderson@grafana.com>
2025-10-16 12:59:05 +00:00
Ivan Ortega Alba ebd0d334bc Dashboards: Fix preload field not being persisted via /v1beta1 (#112475) 2025-10-16 12:45:29 +02:00
dependabot[bot] 39031948b8 deps(go): bump golang.org/x/text from 0.29.0 to 0.30.0 (#112462)
* deps(go): bump golang.org/x/text from 0.29.0 to 0.30.0

Bumps [golang.org/x/text](https://github.com/golang/text) from 0.29.0 to 0.30.0.
- [Release notes](https://github.com/golang/text/releases)
- [Commits](https://github.com/golang/text/compare/v0.29.0...v0.30.0)

---
updated-dependencies:
- dependency-name: golang.org/x/text
  dependency-version: 0.30.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>

* make update-workspace

Signed-off-by: Dave Henderson <dave.henderson@grafana.com>

---------

Signed-off-by: dependabot[bot] <support@github.com>
Signed-off-by: Dave Henderson <dave.henderson@grafana.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Dave Henderson <dave.henderson@grafana.com>
2025-10-15 20:07:00 +00:00
dependabot[bot] 4f4174a3d8 deps(go): bump github.com/grafana/pyroscope-go/godeltaprof from 0.1.8 to 0.1.9 (#112464)
* deps(go): bump github.com/grafana/pyroscope-go/godeltaprof

Bumps [github.com/grafana/pyroscope-go/godeltaprof](https://github.com/grafana/pyroscope-go) from 0.1.8 to 0.1.9.
- [Release notes](https://github.com/grafana/pyroscope-go/releases)
- [Commits](https://github.com/grafana/pyroscope-go/compare/godeltaprof/v0.1.8...godeltaprof/v0.1.9)

---
updated-dependencies:
- dependency-name: github.com/grafana/pyroscope-go/godeltaprof
  dependency-version: 0.1.9
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>

* make update-workspace

Signed-off-by: Dave Henderson <dave.henderson@grafana.com>

---------

Signed-off-by: dependabot[bot] <support@github.com>
Signed-off-by: Dave Henderson <dave.henderson@grafana.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Dave Henderson <dave.henderson@grafana.com>
2025-10-15 20:03:58 +00:00
Haris Rozajac d9067b27eb Dashboard Migrations: V2 - legacy services.filter and graphite panel type (#112282)
* migrate to v2

* Fix tests

* graphite panels should be auto-migrated

* lint

* Provisioning: Fix dashboard export to preserve original API version

* Add error handling for the edge case where conversion fails but no
storedVersion is available.
2025-10-15 10:34:12 -06:00
Haris Rozajac e5ef29c202 Dashboard Migrations: V3 - no-op; remove v3 from DashboardMigrator.ts (#112239) 2025-10-14 18:39:24 -06:00
Haris Rozajac 01c4cb1fac Dashboard Migrations: V4 - no-op and clean up dead code from DashboardMigrator.ts (#112225) 2025-10-14 14:38:31 -06:00
Haris Rozajac f27900702c Dashboard Migrations: V5 - no-op (#112224)
* migrate to v19

* migrate to v18

* Migration to be verified: v17 Convert minSpan to maxPerRow in panels

* Migration to be verified: 16 Grid layout migration

* Refactor v17 and v19 migrations to use shared helper functions

* Migration to be verified: 15 No-op migration for schema consistency

* Migration to be verified: 14 Shared crosshair to graph tooltip migration

* cleanup

* wip

* complete migration

* fix lint issues

* refactor and test with minimal graph config

* update tests

* migrate to v12

* extract defaults outside the func

* lint

* lint

* add missing showValues prop

* migrate to v11

* migrate to v10

* add test files

* update

* migrate to v9

* migrate to v8

* add context and fix latest version

* add context

* add context

* generate snapshots

* v13 should be no-op

* clean up

* fix tests

* add context

* snapshots

* generate snapshots

* update

* snapshots

* wip

* fix test

* remove nav when cleaning up defaults

* migrate to v6

* update comments

* migrate to v5

* remove v28

* remove singlestat migraiton from frontend migrator because this is an automigration

* remove unused function

* Remove v24 table plugin logic

* cleanup

* remove plugin version for automigrate as it was used only in v24 and v28 that have been removed

* cleanup

* update snapshot

* update snapshot

* update snapshot

* update snapshot

* update snapshot

---------

Co-authored-by: Dominik Prokop <dominik.prokop@grafana.com>
2025-10-14 07:53:13 -06:00
Haris Rozajac 394922c4c8 Dashboard Migrations: V6 pulldowns to annotations; variables (#112221)
* migrate to v19

* migrate to v18

* Migration to be verified: v17 Convert minSpan to maxPerRow in panels

* Migration to be verified: 16 Grid layout migration

* Refactor v17 and v19 migrations to use shared helper functions

* Migration to be verified: 15 No-op migration for schema consistency

* Migration to be verified: 14 Shared crosshair to graph tooltip migration

* cleanup

* wip

* complete migration

* fix lint issues

* refactor and test with minimal graph config

* update tests

* migrate to v12

* extract defaults outside the func

* lint

* lint

* add missing showValues prop

* migrate to v11

* migrate to v10

* add test files

* update

* migrate to v9

* migrate to v8

* add context and fix latest version

* add context

* add context

* generate snapshots

* v13 should be no-op

* clean up

* fix tests

* add context

* snapshots

* generate snapshots

* update

* snapshots

* wip

* fix test

* remove nav when cleaning up defaults

* migrate to v6

* update comments

* remove v28

* remove singlestat migraiton from frontend migrator because this is an automigration

* remove unused function

* Remove v24 table plugin logic

* cleanup

* remove plugin version for automigrate as it was used only in v24 and v28 that have been removed

* cleanup

* update snapshot

* update snapshot

* update snapshot

* update snapshot

* remove test

---------

Co-authored-by: Dominik Prokop <dominik.prokop@grafana.com>
2025-10-14 07:16:34 -06:00
Matheus Macabu db5b275ed4 Go: Update to 1.25.3 (#112359) 2025-10-14 12:21:27 +02:00
Ivan Ortega Alba 99ea1defd6 docs: add comprehensive dashboard migration documentation (#112091)
* docs: add comprehensive dashboard migration documentation

- Add detailed schema version migration guide with step-by-step instructions
- Reorganize main migration README to focus on conversion-level practices
- Add monitoring section with metrics, logging, and error handling
- Include comprehensive testing strategies for backend and frontend
- Provide clear separation between conversion practices and implementation details

* chore: update .gitignore

* Update .gitignore
2025-10-14 09:55:35 +02:00
Haris Rozajac 58915bd384 Dashboard Migrations: V7 - nav to timepicker (#112140)
* migrate to v19

* migrate to v18

* Migration to be verified: v17 Convert minSpan to maxPerRow in panels

* Migration to be verified: 16 Grid layout migration

* Refactor v17 and v19 migrations to use shared helper functions

* Migration to be verified: 15 No-op migration for schema consistency

* Migration to be verified: 14 Shared crosshair to graph tooltip migration

* cleanup

* wip

* complete migration

* fix lint issues

* refactor and test with minimal graph config

* update tests

* migrate to v12

* extract defaults outside the func

* lint

* lint

* add missing showValues prop

* migrate to v11

* migrate to v10

* add test files

* update

* migrate to v9

* migrate to v8

* add context and fix latest version

* add context

* add context

* generate snapshots

* v13 should be no-op

* clean up

* fix tests

* add context

* snapshots

* generate snapshots

* update

* snapshots

* wip

* fix test

* remove nav when cleaning up defaults

* remove v28

* remove singlestat migraiton from frontend migrator because this is an automigration

* remove unused function

* Remove v24 table plugin logic

* cleanup

* remove plugin version for automigrate as it was used only in v24 and v28 that have been removed

* cleanup

* update snapshot

* update snapshot

* update snapshot

* lint

---------

Co-authored-by: Dominik Prokop <dominik.prokop@grafana.com>
2025-10-10 13:46:52 -06:00
Haris Rozajac b232a812ab Dashboard Migrations: V8 - update old influxdb schema (#111423)
* migrate to v19

* migrate to v18

* Migration to be verified: v17 Convert minSpan to maxPerRow in panels

* Migration to be verified: 16 Grid layout migration

* Refactor v17 and v19 migrations to use shared helper functions

* Migration to be verified: 15 No-op migration for schema consistency

* Migration to be verified: 14 Shared crosshair to graph tooltip migration

* cleanup

* wip

* complete migration

* fix lint issues

* refactor and test with minimal graph config

* update tests

* migrate to v12

* extract defaults outside the func

* lint

* lint

* add missing showValues prop

* migrate to v11

* migrate to v10

* add test files

* update

* migrate to v9

* migrate to v8

* add context and fix latest version

* add context

* add context

* generate snapshots

* v13 should be no-op

* clean up

* fix tests

* add context

* snapshots

* generate snapshots

* update

* snapshots

* fix test

* remove v28

* remove singlestat migraiton from frontend migrator because this is an automigration

* remove unused function

* Remove v24 table plugin logic

* cleanup

* remove plugin version for automigrate as it was used only in v24 and v28 that have been removed

* cleanup

* update snapshot

* update snapshot

* update snapshot

---------

Co-authored-by: Dominik Prokop <dominik.prokop@grafana.com>
2025-10-10 12:47:26 -06:00
Haris Rozajac c67974251d Dashboard Migrations: V9 - singlestat panel thresholds (#111422)
* migrate to v19

* migrate to v18

* Migration to be verified: v17 Convert minSpan to maxPerRow in panels

* Migration to be verified: 16 Grid layout migration

* Refactor v17 and v19 migrations to use shared helper functions

* Migration to be verified: 15 No-op migration for schema consistency

* Migration to be verified: 14 Shared crosshair to graph tooltip migration

* cleanup

* wip

* complete migration

* fix lint issues

* refactor and test with minimal graph config

* update tests

* migrate to v12

* extract defaults outside the func

* lint

* lint

* add missing showValues prop

* migrate to v11

* migrate to v10

* add test files

* update

* migrate to v9

* add context and fix latest version

* add context

* add context

* generate snapshots

* v13 should be no-op

* clean up

* fix tests

* add context

* snapshots

* generate snapshots

* update

* fix test

* remove v28

* remove singlestat migraiton from frontend migrator because this is an automigration

* remove unused function

* Remove v24 table plugin logic

* cleanup

* remove plugin version for automigrate as it was used only in v24 and v28 that have been removed

* cleanup

* update snapshot

* update snapshot

* update snapshot

---------

Co-authored-by: Dominik Prokop <dominik.prokop@grafana.com>
2025-10-10 10:39:21 -06:00
Ryan McKinley fdccc3e33c Dashboards/API: Keep original when conversion fails (#109912)
* keep original

* openapi

* update tests

* workspace

* workspace

* fix ts

* merge main

* update snapshots
2025-10-10 15:37:32 +03:00
Haris Rozajac 01ec8e3a4a Dashboard Migrations: V10 - table panel styles.thresholds (#111420)
* migrate to v19

* migrate to v18

* Migration to be verified: v17 Convert minSpan to maxPerRow in panels

* Migration to be verified: 16 Grid layout migration

* Refactor v17 and v19 migrations to use shared helper functions

* Migration to be verified: 15 No-op migration for schema consistency

* Migration to be verified: 14 Shared crosshair to graph tooltip migration

* cleanup

* wip

* complete migration

* fix lint issues

* refactor and test with minimal graph config

* update tests

* migrate to v12

* extract defaults outside the func

* lint

* lint

* add missing showValues prop

* migrate to v11

* migrate to v10

* add test files

* update

* add context and fix latest version

* add context

* add context

* generate snapshots

* v13 should be no-op

* clean up

* fix tests

* add context

* snapshots

* generate snapshots

* fix test

* remove v28

* remove singlestat migraiton from frontend migrator because this is an automigration

* remove unused function

* Remove v24 table plugin logic

* cleanup

* remove plugin version for automigrate as it was used only in v24 and v28 that have been removed

* cleanup

* update snapshot

* update snapshot

---------

Co-authored-by: Dominik Prokop <dominik.prokop@grafana.com>
2025-10-09 16:36:24 -06:00
Haris Rozajac bba720557c Dashboard Migrations: v11 - no-op (#111273)
* migrate to v19

* migrate to v18

* Migration to be verified: v17 Convert minSpan to maxPerRow in panels

* Migration to be verified: 16 Grid layout migration

* Refactor v17 and v19 migrations to use shared helper functions

* Migration to be verified: 15 No-op migration for schema consistency

* Migration to be verified: 14 Shared crosshair to graph tooltip migration

* cleanup

* wip

* complete migration

* fix lint issues

* refactor and test with minimal graph config

* update tests

* migrate to v12

* extract defaults outside the func

* lint

* lint

* add missing showValues prop

* migrate to v11

* add test files

* update

* add context and fix latest version

* add context

* add context

* generate snapshots

* v13 should be no-op

* clean up

* fix tests

* snapshots

* fix test

* remove v28

* remove singlestat migraiton from frontend migrator because this is an automigration

* remove unused function

* Remove v24 table plugin logic

* cleanup

* remove plugin version for automigrate as it was used only in v24 and v28 that have been removed

* cleanup

* update snapshot

* es lint

---------

Co-authored-by: Dominik Prokop <dominik.prokop@grafana.com>
2025-10-09 14:58:47 -06:00
Haris Rozajac 5c815a1733 Dashboard Migrations: v12 - template variables (#110253)
* migrate to v19

* migrate to v18

* Migration to be verified: v17 Convert minSpan to maxPerRow in panels

* Migration to be verified: 16 Grid layout migration

* Refactor v17 and v19 migrations to use shared helper functions

* Migration to be verified: 15 No-op migration for schema consistency

* Migration to be verified: 14 Shared crosshair to graph tooltip migration

* cleanup

* wip

* complete migration

* fix lint issues

* refactor and test with minimal graph config

* update tests

* migrate to v12

* extract defaults outside the func

* lint

* lint

* add missing showValues prop

* update

* add context and fix latest version

* add context

* generate snapshots

* v13 should be no-op

* clean up

* fix tests

* fix test

* remove v28

* remove singlestat migraiton from frontend migrator because this is an automigration

* remove unused function

* Remove v24 table plugin logic

* cleanup

* remove plugin version for automigrate as it was used only in v24 and v28 that have been removed

* cleanup

* es int

---------

Co-authored-by: Dominik Prokop <dominik.prokop@grafana.com>
2025-10-09 13:29:06 -06:00
Haris Rozajac 4d3c5d1550 Dashboard Migrations: V13 no-op, remove 28 and v24 as they are autoMigrations; and remove dead code from DashboardMigrator (#110008)
* migrate to v19

* migrate to v18

* Migration to be verified: v17 Convert minSpan to maxPerRow in panels

* Migration to be verified: 16 Grid layout migration

* Refactor v17 and v19 migrations to use shared helper functions

* Migration to be verified: 15 No-op migration for schema consistency

* Migration to be verified: 14 Shared crosshair to graph tooltip migration

* cleanup

* wip

* complete migration

* fix lint issues

* refactor and test with minimal graph config

* update tests

* extract defaults outside the func

* lint

* lint

* add missing showValues prop

* add context and fix latest version

* generate snapshots

* v13 should be no-op

* clean up

* remove v28

* remove singlestat migraiton from frontend migrator because this is an automigration

* remove unused function

* Remove v24 table plugin logic

* cleanup

* remove plugin version for automigrate as it was used only in v24 and v28 that have been removed

* cleanup

---------

Co-authored-by: Dominik Prokop <dominik.prokop@grafana.com>
2025-10-09 11:14:02 -06:00
Levente Balogh 3658b1fce7 Dashboards: Add a new variable type called "Switch" (#111366)
* feat: add schema changes for a switch type of dashboard variable

* fix: generated go

* feat: add support for a switch type of dashboard variable

* chore: update `@grafana/scenes` to a canary version

* feat: add variable editor for the switch variable

* fix: remove unnecessary jest config change

* chore: remove commented out code
2025-10-09 12:08:55 +00:00
Matheus Macabu 69184b5027 Go: Update to 1.25.2 + golangci-lint v2.5.0 + golang.org/x/net v0.45.0 (#112149)
* Go: Update to 1.25.2

* golangci-lint: Update to 2.5.0

* Dependencies: Bump golang.org/x/net to v0.45.0
2025-10-08 12:35:28 +02:00
Dominik Prokop 825f8fc7ff Dashboard migrations: Fix span: 0 bug and panel ordering in v16 dashboard migration (#112051)
Fix span: 0 bug and panel ordering in v16 dashboard migration

Fix span: 0 handling to match frontend behavior by defaulting to DEFAULT_PANEL_SPAN.
Fix panel ordering issue by using stable sort instead of unstable sort.
Fix collapsed property handling to only set when input row has collapse property.
Add comprehensive test cases for span: 0 bug and collapsed property behavior.
Add sanitized test input file for span: 0 demo dashboard with generic values instead of internal Grafana infrastructure references.

All backend migration tests and frontend comparison tests pass.
2025-10-06 13:29:33 +02:00
Austin Pond 99312a7582 Apps: Update grafana-app-sdk to v0.46.0 (#112021)
Co-authored-by: Ryan McKinley <ryantxu@gmail.com>
2025-10-04 09:33:10 +00:00
Costa Alexoglou 45fe8c6612 fix: version migration (#112022)
* fix: version migration

* fix: cyclomatic
2025-10-03 23:18:04 +02:00
Ryan McKinley 2f2289f226 Chore: Update authlib (foder as top level argument) (#111800) 2025-10-01 14:40:28 +00:00
Ryan McKinley c4a2bb5540 Search: Include managedBy in DashboardHit result (#111600) 2025-09-29 14:28:26 +03:00
Ivan Ortega Alba 6d2fa6c583 Dashboard: Backend always set metricEditorMode: 0 regardless metricQueryType and expression (#111613)
- Fix metricEditorMode logic to match frontend hasOwnProperty behavior
- Fix metricQueryType to only set when property doesn't exist
- Fix statistics processing to handle all types like frontend does
- Fix null statistic handling to match frontend behavior
- Fix object string representation to match JavaScript behavior
- Add comprehensive test coverage for all CloudWatch migration scenarios
- Achieve 100% backend-frontend consistency for v34 migration

* Fix v34 CloudWatch migration backend-frontend inconsistencies

- Fix metricEditorMode logic to match frontend hasOwnProperty behavior
- Fix metricQueryType to only set when property doesn't exist
- Fix statistics processing to handle all types like frontend does
- Fix null statistic handling to match frontend behavior
- Fix object string representation to match JavaScript behavior
- Add comprehensive test coverage for all CloudWatch migration scenarios
- Achieve 100% backend-frontend consistency for v34 migration

* Improve v34 CloudWatch migration test coverage

- Add targeted tests for hasOwnProperty logic coverage
- Add comprehensive getSuffixForStat coverage (all data types)
- Add generateNextRefId double letter generation tests
- Simplify test cases while maintaining full coverage
- Achieve 93%+ coverage on all critical v34 functions
- Remove redundant test cases for better maintainability

* Clean up v34 CloudWatch migration code

- Remove unnecessary comments and documentation
- Simplify function signatures and logic
- Maintain functionality while improving readability
- Keep essential logic intact with cleaner code

* Only remove unnecessary comments
2025-09-29 11:35:58 +02:00
Ryan McKinley a4dabc31ed Folders: let unified storage handle authorization (#110825) 2025-09-24 16:26:47 +03:00
Igor Suleymanov 7aed0da22c Add a CI step for checking app SDK codegen status (#111528)
* Add a CI step for checking app SDK codegen status

What

This commit adds a CI step for checking the status of code generated
with Grafana App SDK. The step fails if there is a git diff as a result
of the codegen step.

It also updates generated code to make sure we're starting from a
correct state.

Why

This ensures that when the schemas or the SDK version are updated, the
codegen mismatch is caught early at the PR stage.

Signed-off-by: Igor Suleymanov <igor.suleymanov@grafana.com>

* Format generated code

Signed-off-by: Igor Suleymanov <igor.suleymanov@grafana.com>

---------

Signed-off-by: Igor Suleymanov <igor.suleymanov@grafana.com>
2025-09-24 15:37:57 +03:00