Release notes for Grafana 9.1.0-beta1

Features and enhancements

  • API: Migrate CSRF to service and support additional options. #48120, @sakjur

  • API: Move swagger definitions to the handlers and rename operations after them. #52643, @papagian

  • Access Control: Allow org admins to invite new users. #52894, @IevaVasiljeva

  • AccessControl: Check dashboards permission for reports. (Enterprise)

  • Alerting: Add config disabled_labels to disable reserved labels. #51832, @JacobsonMT

  • Alerting: Add custom templated title to Wecom notifier. #51529, @dingweiqings

  • Alerting: Add file provisioning for alert rules. #51635, @JohnnyQQQQ

  • Alerting: Add file provisioning for contact points. #51924, @JohnnyQQQQ

  • Alerting: Add file provisioning for mute timings. #52936, @JohnnyQQQQ

  • Alerting: Add file provisioning for notification policies. #52877, @JohnnyQQQQ

  • Alerting: Add file provisioning for text templates. #52952, @JohnnyQQQQ

  • Alerting: Add first Grafana reserved label grafana_folder. #50262, @JacobsonMT

  • Alerting: Add support for images in Kafka alerts. #50758, @grobinson-grafana

  • Alerting: Add support for images in VictorOps alerts. #50759, @grobinson-grafana

  • Alerting: Adds contact point template syntax highlighting. #51559, @gillesdemey

  • Alerting: Adds visual tokens for templates. #51376, @gillesdemey

  • Alerting: Alert rules pagination. #50612, @konrad147

  • Alerting: Change alertScreenshotToken to alertImageToken. #50771, @grobinson-grafana

  • Alerting: Configure alert manager data source as an external AM. #52081, @konrad147

  • Alerting: Do not include button in googlechat notification if URL invalid. #47317, @j6s

  • Alerting: Group alert state history by labels and allow filtering. #52784, @gillesdemey

  • Alerting: Make ticker to tick at predictable time. #50197, @yuri-tceretian

  • Alerting: Persist rule position in the group. #50051, @yuri-tceretian

  • Alerting: Prevent evaluation if “for” shorter than “evaluate”. #51797, @peterholmberg

  • Alerting: Provisioning UI. #50776, @gillesdemey

  • Alerting: Rule api to fail update if provisioned rules are affected. #50835, @yuri-tceretian

  • Alerting: Scheduler to drop ticks if a rule’s evaluation is too slow. #48885, @yuri-tceretian

  • Alerting: Show evaluation interval global limit warning. #52942, @konrad147

  • Alerting: State manager to use tick time to determine stale states. #50991, @yuri-tceretian

  • Alerting: Support for optimistic locking for alert rules. #50274, @yuri-tceretian

  • Alerting: Update RBAC for alert rules to consider access to rule as access to group it belongs. #49033, @yuri-tceretian

  • Alerting: Update default route groupBy to [grafana_folder, alertname]. #50052, @JacobsonMT

  • Alertmanager: Adding SigV4 Authentication to Alertmanager Datasource. #49718, @lewinkedrs

  • Analytics: Save all view time dates as UTC. (Enterprise)

  • Annotations: Migrate dashboardId to dashboardUID. #52588, @lpskdl

  • Auditing: Allow users to have more verbose logs. (Enterprise)

  • Auth: Add lookup params for saml and LDAP sync. (Enterprise)

  • Auth: Add option for case insensitive login. #49262, @Jguer

  • Auth: Case insensitive ids duplicate usagestats. #50724, @eleijonmarck

  • Auth: Implement Token URL Auth. #52578, @Jguer

  • Auth: Implement Token URL JWT Auth. #52662, @Jguer

  • Auth: Lockdown non-editables in frontend when external auth is configured. #52160, @Jguer

  • Azure Monitor: Add new dashboard with geo map for app insights test availability. #52494, @jcolladokuri

  • Azure Monitor: New template variable editor. #52594, @andresmgot

  • Azure Monitor: Restore Metrics query parameters: subscription, resourceGroup, metricNamespace and resourceName. #52897, @andresmgot

  • Chore: Add dashboard UID as query parameter of Get annotation endpoint. #52764, @ying-jeanne

  • Chore: Remove jest-coverage-badges dep from toolkit. #49883, @zoltanbedi

  • Chore: Rename dashboardUID to dashboardUIDs in search endpoint and up…. #52766, @ying-jeanne

  • CloudWatch: Add default log groups to config page. #49286, @iwysiu

  • CommandPalette: Populate dashboard search when the palette is opened. #51293, @ryantxu

  • Core Plugins: Add support for HTTP logger. #46578, @toddtreece

  • Correlations: Add CreateCorrelation HTTP API. #51630, @Elfo404

  • Correlations: Add DeleteCorrelation HTTP API. #51801, @Elfo404

  • Custom branding: Add UI for setting configuration. (Enterprise)

  • Custom branding: Add custom branding service (early access). (Enterprise)

  • Data Connections: Create a new top-level page. #50018, @leventebalogh

  • DataSource: Allow data source plugins to set query default values. #49581, @sunker

  • Docs: CSRF add configuration options and documentation for additional headers and origins. #50473, @eleijonmarck

  • Elasticsearch: Added modifyQuery method to add filters in Explore. #52313, @svennergr

  • Explore: Add ability to include tags in trace to metrics queries. #49433, @connorlindsey

  • Explore: Download and upload service graphs for Tempo. #50260, @connorlindsey

  • Explore: Make service graph visualization use available vertical space. #50518, @connorlindsey

  • Explore: Reset Graph overrides if underlying series changes. #49680, @Elfo404

  • Explore: Sort trace process attributes alphabetically. #51261, @connorlindsey

  • Frontend Logging: Integrate grafana javascript agent. #50801, @tolzhabayev

  • Geomap: Add ability to select a data query filter for each layer. #49966, @mmandrus

  • Geomap: Route/path visualization. #43554, @alexanderzobnin

  • GeomapPanel: Add base types to data layer options. #50053, @drew08t

  • Graph Panel: Add feature toggle that will allow automatic migration to timeseries panel. #50631, @ryantxu

  • Graphite: Introduce new query types in annotation editor. #52341, @itsmylife

  • Infra: Pass custom headers in resource request. #51291, @aocenas

  • Insights: Add RBAC for insights features. (Enterprise)

  • Instrumentation: Add more buckets to the HTTP request histogram. #51492, @bergquist

  • Instrumentation: Collect database connection stats. #52797, @bergquist

  • Instrumentation: Convert some metrics to histograms. #50420, @SuperQ

  • Jaeger: Add support for variables. #50500, @joey-grafana

  • LDAP: Allow specifying LDAP timeout. #48870, @hannes-256

  • LibraryPanels: Require only viewer permissions to use a Library Panel. #50241, @joshhunt

  • Licensing: Usage-based billing reporting enhancements. (Enterprise)

  • Logs: Handle clicks on legend labels in histogram. #49931, @gabor

  • Logs: Improve the color for unknown log level. #52711, @gabor

  • Loki/Logs: Make it possible to copy log values to clipboard. #50914, @Seyaji

  • Loki: Add hint for pipeline error to query builder. #52134, @ivanahuckova

  • Loki: Add hints for level-like labels. #52414, @ivanahuckova

  • Loki: Add support for IP label and line filter in query builder. #52658, @ivanahuckova

  • Loki: Add unwrap with conversion function to builder. #52639, @ivanahuckova

  • Loki: Implement hints for query builder. #51795, @ivanahuckova

  • Loki: Move explain section to builder mode. #52879, @ivanahuckova

  • Loki: Show label options for unwrap operation. #52810, @ivanahuckova

  • Loki: Support json parser with expressions in query builder. #51965, @ivanahuckova

  • Navigation: Display Starred dashboards in the Navbar. #51038, @ashharrison90

  • Node Graph Panel: Add options to configure units and arc colors. #51057, @connorlindsey

  • OAuth: Allow role mapping from GitHub and GitLab groups. #52407, @Jguer

  • Opentsdb: Add tag values into the opentsdb response. #48672, @xy-man

  • OptionsUI: UnitPicker now supports isClearable setting. #51064, @ryantxu

  • PanelEdit: Hide multi-/all-select datasource variables in datasource picker. #52142, @eledobleefe

  • Piechart: Implements series override → hide in area for the legend or tooltip. #51297, @daniellee

  • Plugin admin: Add a page to show where panel plugins are used in dashboards. #50909, @ryantxu

  • Plugins: Add validation for plugin manifest. #52787, @wbrowne

  • Prometheus: Move explain section to builder mode. #52935, @itsmylife

  • Prometheus: Support 1ms resolution intervals. #44707, @dankeder

  • Prometheus: Throw error on direct access. #50162, @aocenas

  • RBAC: Add RBAC for query caching. (Enterprise)

  • RBAC: Add access control metadata to folder dtos. #51158, @kalleep

  • RBAC: Allow app plugins access restriction. #51524, @gamab

  • RBAC: Rename alerting roles to match naming convention. #50504, @gamab

  • Report: Calculate grid height unit dynamically instead use hardcode values. (Enterprise)

  • Reports: Add created column in report_dashboards. (Enterprise)

  • Reports: Add dashboard title in all pdf pages. (Enterprise)

  • Reports: Allow saving draft reports. (Enterprise)

  • Reports: Multiple dashboards improvements. (Enterprise)

  • SAML : Support Azure Single Sign Out. (Enterprise)

  • SAML: Add NameIDFormat in SP metadata. (Enterprise)

  • SAML: Improve debug logs for saml logout. (Enterprise)

  • SSE: Add noData type. #51973, @kylebrandt

  • Search: Filter punctuation and tokenize camel case. #51165, @FZambia

  • Search: Sync state on read for HA consistency. #50152, @FZambia

  • Security: Choose Lookup params per auth module (CVE-2022-31107). #52312, @Jguer

  • Service Accounts: Managed permissions for service accounts. #51818, @IevaVasiljeva

  • Service accounts: Grafana service accounts are enabled by default. #51402, @vtorosyan

  • ServiceAccounts: Add Prometheus metrics service. #51831, @Jguer

  • ServiceAccounts: Add Service Account Token last used at date. #51446, @Jguer

  • SharePDF: Use currently selected variables and time range when generating PDF. (Enterprise)

  • Slider: Enforce numeric constraints and styling within the text input. #50905, @drew08t

  • State Timeline: Enable support for annotations. #47887, @dprokop

  • Table panel: Add multiple data links support to Default, Image and JSONView cells. #51162, @dprokop

  • TeamSync: Remove LDAP specific example from team sync. #51368, @Jguer

  • TeamSync: Support case insensitive matches and wildcard groups. (Enterprise)

  • Tempo: Add context menu to edges. #52396, @joey-grafana

  • Tempo: Consider tempo search out of beta and remove beta badge and feature flags. #50030, @connorlindsey

  • Tempo: Tempo/Prometheus links select ds in new tab (cmd + click). #52319, @joey-grafana

  • Time series panel: Hide axis when series is hidden from the visualization. #51432, @dprokop

  • TimeSeries: Add option for symmetrical y axes (align 0). #52555, @leeoniya

  • TimeSeries: Add option to match axis color to series color. #51437, @leeoniya

  • TimeSeries: Improved constantY rendering parity with Graph (old). #51401, @leeoniya

  • Timeseries: Support multiple timezones in x axis. #52424, @ryantxu

  • TopNav: Adds new feature toggle for upcoming nav. #51115, @torkelo

  • Traces: APM table. #48654, @joey-grafana

  • Traces: Add absolute time to span details. #50685, @joey-grafana

  • Traces: Add horizontal scroll. #50278, @joey-grafana

  • Traces: Consistent span colors for service names. #50782, @joey-grafana

  • Traces: Move towards using OTEL naming conventions. #51379, @joey-grafana

  • Traces: Span bar label. #50931, @joey-grafana

  • Transformations: Add standard deviation and variance reducers. #52769, @ryantxu

  • Transforms: Add Join by label transformation. #52670, @ryantxu

  • URL: Encode certain special characters. #51806, @L-M-K-B

  • ValueMappings: Make value mapping row focusable. #52337, @lpskdl

  • Variables: Add ‘jsonwithoutquote’ formatting options for variables, and format of variable supports pipeline. #51859, @MicroOps-cn

  • Variables: Selectively reload panels on URL update. #51003, @toddtreece

  • Various Panels: Add ability to toggle legend with keyboard shortcut. #52241, @alyssabull

Bug fixes

Breaking changes

Some swagger operations and responses have been renamed to match the respective handler names in order to better highlight their relation. If you use the Swagger specification for generating code, you have to re-generate it and make the necessary adjustments. Issue #52643

The following metrics have been converted to histograms:

  • grafana_datasource_request_total

  • grafana_datasource_request_duration_seconds

  • grafana_datasource_response_size_bytes

  • grafana_datasource_request_in_flight

  • grafana_plugin_request_duration_milliseconds

  • grafana_alerting_rule_evaluation_duration_seconds Issue #50420

In Elasticsearch versions 7.x, to specify the interval-value we used the interval property. In Grafana 9.1.0 we switched to use the fixed_interval property. This makes it to be the same as in Elasticsearch versions 8.x, also this provides a more consistent experience, fixed_interval is a better match to Grafana’s time intervals. For most situations this will not cause any visible change to query results. Issue #50297

Grafana now reserves alert labels prefixed with grafana_

Labels prefixed with grafana_ are reserved by Grafana for special use. If a manually configured label is added beginning with grafana_ it may be overwritten in case of collision.

The current list of labels created by Grafana and available for use anywhere manually configured labels are:

Label Description

grafana_folder

Title of the folder containing the alert.

Issue #50262

In Prometheus, browser access mode was deprecated in Grafana 7.4.0 and removed in 9.0.0. If you used this mode, please switch to server access mode on the datasource configuration page. Issue #50162

Plugin development fixes & changes