grafana-prometheus-datasource
13.2.5
π Bump backend dependency (#400)
π Disable publish workflows (#354)
π Let a host insert text at the Prometheus code editor's cursor through the internal unstable_queryEditorInsertionV1 prop. (#390)
13.2.4
π Update Go to 1.27.3. (#380)
π Fix security vulnerability CVE-2026-102990 by overriding basic-ftp to ^6.2.1 (#386)
π Fix security vulnerabilities (CVE-2026-93749, CVE-2026-17495)
π Keep the error source of failed resource and Search API requests. Timeouts, cancellations, connection errors and other downstream errors from these requests are now reported as downstream, not as plugin errors. (#388)
π Update contributing docs (#380)
π Update MonacoQueryField to respect the theme.components.height.md variable (#378)
13.2.3
π Cap Metrics Explorer search results and show when the list is incomplete. (#365)
π Preserve label values when switching between Prometheus Builder and Code modes (#358)
π Load metric combobox names in alphabetical order without metadata. (#369)
π Show metric names as each search batch arrives. (#363)
π Stream Metrics Browser metric names from the Search API. (#367)
π Show suggestion batches as they arrive. (#363)
13.2.2
π added datasource config schema (#228)
π Fix security vulnerabilities (CVE-2026-84445) (#366)
13.2.1
π Improve Search API ranking and bound streamed response memory
π Use the Search API for metric and label discovery
13.2.0
π Support PromQL anchored and smoothed range selectors in the query builder, code editor, scope filtering, and label suggestions. (#343)
βοΈ Chore: align Grafana peer ranges to >=12.3.0 so they match grafanaDependency and the required @grafana/i18n peer (#340)
π Fix config editor crash when customQueryParameters is provisioned as a non-string value. (#347)
π Default to POST for POST-friendly metadata endpoints (e.g. /api/v1/labels) when no HTTP method is configured, matching the config editor's default. (#322)
π Recognise native-histogram trim operators (</, >/) in the PromQL query editor by bumping @prometheus-io/lezer-promql to 0.313.3 (#338)
π Fall back to standard Prometheus discovery when the Search API is unavailable (#348)
π Parse datasource jsonData once per instance construction instead of independently in the transport, query handler, and resource handler. Reduces redundant parsing/logging. (#341)
π Add NDJSON search stream parser and error taxonomy (#337)
π Add the typed Search API client for metric and label discovery (#342)
π Add the chunked transport bridge for the Search API stream and require @grafana/runtime >=11.6.0 (#338)
π Fix: Stop rejecting loosely-typed jsonData (e.g. "true" for a boolean, "1000" for a number) so datasources provisioned with off-spec values load instead of failing every query and health check. timeInterval, queryTimeout and httpMethod still reject a wrong type. (#310)
Breaking (Go API): affected models.PromOptions fields move from plain string/bool/float64/*int64 to named lenient types with the same JSON encoding. Passing one to a string/bool/float64 parameter now needs an explicit conversion. See #310 for details. (#310)
π Surface Mimir query stats in the Inspector's Stats tab (#319)
π Adapt the Search API client to the resource client contract (#344)
π Implement Search API toggle in configuration editor (#350)
π Request gzip for resource calls to prevent failures caused by forwarding the browser's Accept-Encoding to upstream servers (#334)
13.1.9
π Add an internal, experimental PromQL coauthoring capability for the Monaco code editor, including its Grafana Core exposed-surface integration. (#308)
π Update broken dependency tree (#328)
13.1.8
βοΈ Bump grafana-plugin-sdk-go to v0.295.0, which sets a user agent on all outgoing HTTP requests (#302)
βοΈ Bump grafana-plugin-sdk-go v0.296.1 (#289)
π fix(QueryCache): cache relative-offset queries, not just 'now' (#285)
π fix(QueryBuilder): prevent sum by second label from reverting on add (#300)
π Introduce more devenv options for easier and more comprehensive development (#301)
βοΈ Chore: Bump vulnerable frontend dependencies (js-cookie, serialize-javascript, ws, uuid, form-data, brace-expansion, fast-uri, ip-address) (#307)
π Removing abstraction related logic. Abstraction PoC has concluded, cleaning up relevant code. (#318)
π Send resource requests through DataSourceWithBackend. metadataRequest now uses getResource/postResource instead of building the legacy /api/datasources/uid/<uid>/resources URL by hand, so resource calls follow whichever resource API the Grafana instance is configured to use. Its response shape is unchanged. The unused _request method has been removed.
π Improve numeric value parsing performance (#289)
π Bump go v1.26.7 (#289)
π Improve histogram parsing performance (#289)
π Add search api support (#289)
π Improve changeset creation (#289)
π Fix: Convert 'one of' ad hoc filters for label lookups. Multi-value =| / !=| ad hoc filters previously broke getTagKeys / getTagValues with a Prometheus parse error and silently dropped all but the first selected value. (#297)
13.1.7
π Use npm as package manager (#272)
βοΈ Bump grafana-plugin-sdk-go to v0.294.0, enabling diagnostic bundle HTTP capture (#288)
π Fix: force GET method for /api/v1/status/buildinfo to prevent 405 errors on POST-configured datasources (#293)
13.1.6
π Dependency updates (#91)
βοΈ Chore: Remove moment and moment-timezone deps (#264)
π Fix: fetch metrics on series limit blur instead of change (#221)
π Add hover titles for label filter operators (#91)
βοΈ Chore: Remove moment and moment-timezone deps (#264)
π Revert bundling of Assistant (#91)
π Add interaction tracking for Query Explorer and Metrics Browser (#238)
π Query builder: associate each parameter label with its input so screen readers announce the field (a11y) (#76)
π Preserve non-le labels in heatmap frame names. When a histogram is queried with grouping labels (e.g. sum by (le, foo) (some_metric_bucket)) and rendered as a Heatmap, merged frames were named after the lowest le bucket value and dropped the other labels, so the legend showed 0.005, 0.01, β¦ for every grouping instead of {foo="bar"}, {foo="baz"}. The merged-frame name is now built from the non-le labels so each partition reflects its label set. (#186)
π Fix incremental querying emitting DataFrames whose length did not match the trimmed field values, producing invalid frames that could crash downstream consumers such as the heatmap panel. (#241)
13.1.5
π Updating CI/CD workflows (#228)
π Fix: Strip stale encoding headers and forward only allowlisted Grafana headers upstream ([#232](https://github. com/grafana/grafana-prometheus-datasource/pull/232))
π Fix: Forward caching headers for suggestions endpoint (#234)
13.1.4
π Fix forwarding Grafana HTTP headers (X-Dashboard-, X-Grafana-) to upstream database (#229)
13.1.3
π Bump grafana-plugin-sdk-go version to v0.292.2 (#226)
13.1.2
π Bump go version to v1.26.4
π Harden security of dependencies
13.1.1
π Enable scheduled task creation in Crowdin workflow
π Add keywords in plugin.json
π disable yarn scripts
π Add publish-and-deploy job
π Add more rc files to disable running scripts
π Implement i18n support
π Introduce changesets
π Update golangci-lint-version to 2.11.0 in push workflow
π Bump go version to v1.26.3