grafana/.changelog-archive/CHANGELOG.9.md

269 KiB
Raw Blame History

9.4.12 (2023-06-06)

Bug fixes

  • Query: Prevent crash while executing concurrent mixed queries
  • Alerting: Require alert.notifications:write permissions to test receivers and templates
  • RBAC: Remove legacy AC editor and admin role on new dashboard route. #68775, @grafanabot
  • Revert: Allow editors to access GET /datasources. #68653, @grafanabot
  • Explore: Remove data source onboarding page. #68642, @grafanabot

9.4.10 (2023-05-08)

Features and enhancements

Bug fixes

  • AzureMonitor: Fix logs query multi-resource and timespan values. #67931, @grafanabot
  • TimeSeries: Fix leading null-fill for missing intervals. #67572, @leeoniya
  • Alerting: Fix misleading status code in provisioning API. #67357, @grafanabot
  • Azure Monitor: Fix bug that was not showing resources for certain locations. #66617, @grafanabot

9.4.9 (2023-04-24)

Features and enhancements

Bug fixes

9.4.7 (2023-03-16)

Bug fixes

Breaking changes

The InfluxDB backend migration feature toggle (influxdbBackendMigration) has been reintroduced in this version as issues were discovered with backend processing of InfluxDB data. Unless this feature toggle is enabled, all InfluxDB data will be parsed in the frontend. This frontend processing is the default behavior. In Grafana 9.4.4, InfluxDB data parsing started to be handled in the backend. If you have upgraded to 9.4.4 and then added new transformations on InfluxDB data, those panels will fail to render. To resolve this either:

  • Remove the affected panel and re-create it
  • Edit the time field as Time in panel.json or dashboard.json Issue #64842

9.4.3 (2023-03-02)

Bug fixes

  • Alerting: Use background context for maintenance function. #64065, @yuri-tceretian
  • Report Settings: Fix URL validation. (Enterprise)

9.4.2 (2023-03-02)

Bug fixes

  • Alerting: Fix boolean default in migration from false to 0. #63952, @alexmobo

9.4.1 (2023-02-28)

9.4.0 (2023-02-28)

Features and enhancements

Bug fixes

  • AccessControl: Clear user permission cache for update org user role. #62745, @Jguer
  • Alerting: Fix handling of special floating-point cases when writing observed values to annotations. #61074, @alexweav
  • Auth: Rotate token patch. #62676, @mgyongyosi
  • ContextMenu: Consider y coord when determining bottom collision. #62403, @gelicia
  • Elasticsearch: Fix consistent label order in alerting. #62497, @gabor
  • Explore: Fix graph not updating when changing config. #62473, @Elfo404
  • Heatmap: Support heatmap rows with non-timeseries X axis. #60929, @ryantxu
  • Login: Fix panic when a user is upserted by a background process. #62539, @sakjur
  • MSSQL: Add support for macro function calls. #62742, @mdvictor
  • MySQL: Quote identifiers that include special characters. #61135, @zoltanbedi
  • Navigation: Sign in button now works correctly when served under a sub path. #62504, @ashharrison90
  • Nested Folder: Fix for SQLite not to overwrite the parent on restarts. #62709, @papagian
  • PanelChrome: Adds display mode to support transparent option. #62647, @torkelo
  • Plugins: Case-sensitive routes for standalone pages. #62779, @leventebalogh
  • Plugins: Prefer to use the data source UID when querying. #62776, @andresmgot
  • SQLStore: Fix folder migration for MySQL < 5.7. #62521, @papagian
  • Search: Fix not being able to clear sort value. #62557, @joshhunt
  • Tempo: Fix span name being dropped from the query. #62257, @CrypticSignal

Plugin development fixes & changes

9.4.0-beta1 (2023-01-30)

Features and enhancements

Bug fixes

Breaking changes

Removes the non-functional feature toggle influxdbBackendMigration. InfluxDB is working %100 with server access mode. You can keep using your dashboards, and data sources as you have been using. This won't affect them. If you are upgrading from older versions of Grafana please be sure to check your dashboard config and check for warnings. Issue #61308

Removes support for "detected fields" in the details of a log line, however all supported interactions (filter, statistics, visibility) are now supported for all fields. If you are using Loki you can get those fields back by using a parser operation like logfmt or json. Issue #60448

Deprecations

In the elasticsearch data source, the "Raw document" display mode is deprecated. We recommend using the "Raw Data" mode instead. Issue #62236

Sentry frontend logging provider will be removed with next major version. Issue #60165

Plugin development fixes & changes

9.3.11 (2023-03-22)

Bug fixes

9.3.8 (2023-02-28)

9.3.7 (2023-02-28)

Bug fixes

9.3.15 (2023-06-06)

Bug fixes

  • Alerting: Require alert.notifications:write permissions to test receivers and templates
  • Auth: Remove the session cookie only if it's invalid or revoked. #68796, @mgyongyosi

9.3.14 (2023-05-08)

Features and enhancements

9.3.6 (2023-01-26)

Bug fixes

  • QueryEditorRow: Fixes issue loading query editor when data source variable selected. #61927, @torkelo

9.3.4 (2023-01-25)

Features and enhancements

Bug fixes

  • Alerting: Fix webhook to use correct key for decrypting token. #61717, @yuri-tceretian
  • Alerting: Set error annotation on EvaluationError regardless of underlying error type. #61506, @alexweav
  • Datasources: Fix Proxy by UID Failing for UIDs with a Hyphen. #61723, @csmarchbanks
  • Elasticsearch: Fix creating of span link with no tags. #61753, @ivanahuckova
  • Elasticsearch: Fix failing requests when using SigV4. #61923, @svennergr
  • Elasticsearch: Fix toggle-settings are not shown correctly. #61751, @svennergr
  • Explore: Be sure time range key bindings are mounted after clear. #61892, @gelicia
  • Explore: Unsync time ranges when a pane is closed. #61369, @Elfo404
  • Logs: Lines with long words do not break properly. #61707, @svennergr
  • Loki: Fix misaligned derived fields settings. #61475, @svennergr
  • Query Builder: Fix max width of input component to prevent overflows. #61798, @matyax
  • Search: Auto focus input elements. #61443, @ryantxu
  • Search: Fix empty folder message showing when by starred dashboards. #61610, @eledobleefe
  • Table Panel: Fix image of image cell overflowing table cell and cells ignoring text alignment setting when a data link is added. #59392, @oscarkilhed

9.3.2 (2023-12-13)

Features and enhancements

Bug fixes

  • API: Fix delete user failure due to quota not enabled. #59875, @papagian
  • Accessibility: Improved keyboard accessibility in BarGauge. #59382, @lpskdl
  • Accessibility: Improved keyboard accessibility in BigValue. #59830, @lpskdl
  • Alerting: Use the QuotaTargetSrv instead of the QuotaTarget in quota check. #60026, @joeblubaugh
  • AzureMonitor: Automate location retrieval. #59602, @aangelisc
  • AzureMonitor: Fix bad request when setting dimensions. #59700, @andresmgot
  • BarChart: Fix value mappings. #60066, @leeoniya
  • Build: Streamline and sync dockerfiles. #58101, @DanCech
  • Build: Unified dockerfile for all builds. #59173, @DanCech
  • CloudWatch: Fix - make sure dimensions are propagated to alert query editor. #58281, @conorevans
  • Cloudwatch: Fix deeplink with default region (#60260). #60274, @iwysiu
  • Command Palette: Fix not being able to type if triggered whilst another modal is open. #59728, @ashharrison90
  • Command Palette: Maintain page state when changing theme. #59787, @ashharrison90
  • Dashboards: Fix 'Make Editable' button not working in Dashboard Settings. #60306, @joshhunt
  • Dashboards: Show error when data source is missing. #60099, @joshhunt
  • Datasource: Fix - apply default query also to queries in new panels. #59625, @sunker
  • Dropdown: Menu now closes correctly when selecting options on touch devices. #60181, @ashharrison90
  • Influx: Query segment menus now position correctly near the bottom of the screen. #60087, @ashharrison90
  • Login: Fix failure to login a new user via an external provider if quota are enabled. #60015, @papagian
  • Loki/Prometheus: Fix wrong queries executed in split view. #60172, @svennergr
  • Loki: Fix wrongly escaped label values when using LabelFilter. #59812, @svennergr
  • Navigation: Prevent app crash when importing a dashboard with a uid of home. #59874, @ashharrison90
  • Panel Edit: Fix data links edit icons being off screen when provided title is too long. #59829, @dprokop
  • Prometheus: Fix exemplar fill color to match series color in time series. #59908, @gtk-grafana
  • Prometheus: Fix exemplars not respecting corresponding series display status. #59743, @gtk-grafana
  • StateTimeline: Fix negative infinity legend/tooltip from thresholds. #60279, @leeoniya
  • Table: Fixes row border style not showing and colored rows blending together. #59660, @torkelo
  • Tempo: Fix TraceQL autocomplete issues (#60058). #60125, @CrypticSignal
  • TimePicker: Prevent TimePicker overflowing viewport on small screens. #59808, @ashharrison90
  • TimeRangePicker: Fix recently ranges only not showing all recent ranges. #59836, @joshhunt
  • TimeZonePicker: Scroll menu correctly when using keyboard controls. #60008, @ashharrison90

9.3.1 (2022-11-30)

Features and enhancements

Bug fixes

9.3.0 (2022-11-30)

Features and enhancements

  • Alerting: Enable interpolation for notification policies in file provisioning. #58956, @JohnnyQQQQ
  • Azure Monitor Logs: Avoid warning when the response is empty. #59211, @andresmgot
  • Azure Monitor: Add support to customized routes. #54829, @ms-hujia
  • Canvas: Add icon value mapping. #59013, @nmarrs
  • CloudWatch: Cross-account querying support. #59362, @sunker
  • Docs: Update merge-pull-request.md regarding backport policies. #59239, @dsotirakis
  • GaugePanel: Setting the neutral-point of a gauge. #53989, @sfranzis
  • Geomap: Improve location editor. #58017, @drew08t
  • Internationalization: Enable internationalization by default. #59204, @joshhunt
  • Logs: Add Download logs button to log log-browser. #55163, @svennergr
  • Loki: Add gzip compression to resource calls. #59059, @svennergr
  • Loki: Add improvements to loki label browser. #59387, @gwdawson
  • Loki: Make label browser accessible in query builder. #58525, @gwdawson
  • Loki: Remove raw query toggle. #59125, @gwdawson
  • Middleware: Add CSP Report Only support. #58074, @jcalisto
  • Navigation: Prevent viewer role accessing dashboard creation, import and folder creation. #58842, @lpskdl
  • OAuth: Refactor OAuth parameters handling to support obtaining refresh tokens for Google OAuth. #58782, @mgyongyosi
  • Oauth: Display friendly error message when role_attribute_strict=true and no valid role found. #57818, @kalleep
  • Preferences: Add confirmation modal when saving org preferences. #59119, @JoaoSilvaGrafana
  • PublicDashboards: Orphaned public dashboard deletion script added. #57917, @juanicabanas
  • Query Editor: Hide overflow for long query names. #58840, @zuchka
  • Reports: Configurable timezone. (Enterprise)
  • Solo Panel: Configurable timezone. #59153, @spinillos
  • TablePanel: Add support for Count calculation per column or per entire dataset. #58134, @mdvictor
  • Tempo: Send the correct start time when making a TraceQL query. #59128, @CrypticSignal
  • Various Panels: Remove beta label from Bar Chart, Candlestick, Histogram, State Timeline, & Status History Panels. #58557, @codeincarnate

Bug fixes

  • Access Control: Clear user's permission cache after resource creation. #59307, @grafanabot
  • Access Control: Clear user's permission cache after resource creation. #59101, @IevaVasiljeva
  • Accessibility: Improve keyboard accessibility in AnnoListPanel. #58971, @ashharrison90
  • Accessibility: Improve keyboard accessibility in Collapse. #59022, @ashharrison90
  • Accessibility: Improve keyboard accessibility in GettingStarted panel. #58966, @ashharrison90
  • Accessibility: Improve keyboard accessibility of FilterPill. #58976, @ashharrison90
  • Admin: Fix broken links to image assets in email templates. #58729, @zuchka
  • Azure Monitor: Fix namespace selection for storageaccounts. #56449, @andresmgot
  • Calcs: Fix difference percent in legend. #59243, @zoltanbedi
  • DataLinks: Improve Data-Links AutoComplete Logic. #58934, @zuchka
  • Explore: Fix a11y issue with logs navigation buttons. #58944, @Elfo404
  • Heatmap: Fix blurry text & rendering. #59260, @leeoniya
  • Heatmap: Fix tooltip y range of top and bottom buckets in calculated heatmaps. #59172, @leeoniya
  • Logs: Fix misalignment of LogRows. #59279, @svennergr
  • Navigation: Stop clearing search state when opening a result in a new tab. #58880, @ashharrison90
  • OptionsUI: SliderValueEditor does not get auto focused on slider change. #59209, @eledobleefe
  • PanelEdit: Fixes bug with not remembering panel options pane collapse/expand state. #59265, @torkelo
  • Query Caching: Skip 207 status codes. (Enterprise)
  • Quota: Fix failure in store due to missing scope parameters. #58874, @papagian
  • Quota: Fix failure when checking session limits. #58865, @papagian
  • Reports: Fix time preview. (Enterprise)
  • StateTimeline: Prevent label text from overflowing state rects. #59169, @leeoniya
  • Tempo: Fix search table duration unit. #58642, @joey-grafana
  • TraceView: Fix broken rendering when scrolling in Dashboard panel in Firefox. #56642, @zdg-github

Plugin development fixes & changes

9.3.0-beta1 (2022-11-15)

Features and enhancements

Bug fixes

Breaking changes

Removes the unused close-milestone command from @grafana/toolkit. Issue #57062

@grafana/toolkit cherrypick command was removed. Issue #56114

EmotionPerfTest is no longer exported from the @grafana/ui bundle. Issue #56100

Removing the unused changelog command in @grafana/toolkit. Issue #56073

Deprecations

The interface type LogsParser in grafana-data is deprecated. Issue #56242

The following functions and classes related to logs are deprecated in the grafana-ui package: getLogLevel, getLogLevelFromKey, addLogLevelToSeries, LogsParsers, calculateFieldStats, calculateLogsLabelStats, calculateStats, getParser, sortInAscendingOrder, sortInDescendingOrder, sortLogsResult, sortLogRows, checkLogsError, escapeUnescapedString. Issue #56077

Plugin development fixes & changes

9.2.15 (2023-03-22)

9.2.10 (2023-01-24)

Features and enhancements

Bug fixes

  • Live: Fix Subscription to the channel already exists live streaming error. #61420, @grafanabot
  • Live: Fix Subscription to the channel already exists live streaming error. #61419, @grafanabot
  • Live: Fix Subscription to the channel already exists live streaming error. #61406, @ArturWierzbicki

9.2.7 (2022-11-29)

Bug fixes

9.2.6 (2022-11-22)

Features and enhancements

Bug fixes

9.2.5 (2022-11-16)

Features and enhancements

  • Alerting: Log when alert rule cannot be screenshot to help debugging. #58537, @grobinson-grafana
  • Alerting: Suggest previously entered custom labels. #57783, @VikaCep
  • Canvas: Improve disabled inline editing UX. #58610, @nmarrs
  • Canvas: Improve disabled inline editing UX. #58609
  • Chore: Upgrade go-sqlite3 to v1.14.16. #58581, @sakjur
  • Plugins: Ensure CallResource responses contain valid Content-Type header. #58506, @xnyo
  • Prometheus: Handle errors and warnings in buffered client. #58657, @itsmylife
  • Prometheus: Upgrade HTTP client library to v1.13.1. #58363, @marefr

Bug fixes

Plugin development fixes & changes

  • Toolkit: Fix compilation loop when watching plugins for changes. #58167, @jackw
  • Tooltips: Make tooltips in FormField and FormLabel interactive and keyboard friendly. #57706, @asimpson

9.2.19 (2023-06-06)

Bug fixes

  • Alerting: Require alert.notifications:write permissions to test receivers and templates
  • Auth: Remove the session cookie only if it's invalid or revoked. #68795, @mgyongyosi

9.2.18 (2023-05-08)

9.2.4 (2022-11-07)

Features and enhancements

Bug fixes

Plugin development fixes & changes

9.2.3 (2022-10-31)

Features and enhancements

Bug fixes

  • Access control: Fix a bug with argument order for data source managed permission updates. (Enterprise)
  • Auth: Fix GF_AUTH_JWT_URL_LOGIN env variable doesn't work. #57689, @Jguer
  • Live: Explicitly reply with http 200. #57428, @sh0rez
  • Prometheus: Fix builder operation mode changing multiselect to single select behaviour. #57780, @itsmylife
  • Prometheus: Fix builder operation mode changing multiselect to single select behaviour. #57493, @yinjialu
  • Security: Fix vulnerabilities in webpack loader-utils. #57533, @jackw

9.2.2 (2022-10-25)

Features and enhancements

  • Alerting: Add support for wecom apiapp. #55991, @aimuz
  • Canvas: Improve resource picker initialization. #57319, @nmarrs
  • Canvas: Improve text element readability. #57371, @adela-almasan
  • CloudWatch: Make sure adoption tracking is done on valid, migrated queries. #56872, @sunker
  • Dashboard: Alerts user to incorrect tag format for JSON import. #54657, @iamelDuderino
  • MSSQL: Support tables from all schemas. #53099, @zoltanbedi
  • Opentsdb: Allow template variables for filter keys. #57226, @bohandley
  • Prometheus: Provide label values match parameter API when supported prometheus instance is configured. #56510, @gtk-grafana
  • QueryEditor: Revert components from grafana-ui. #57436, @zoltanbedi
  • TeamSync: Allow team sync when external organization mapping returns no organization role. (Enterprise)

Bug fixes

Breaking changes

We added some components a bit too early to @grafana/ui in 9.2 so we are moving them back to @grafana/experimental. If you used any of these components

  • AccessoryButton
  • EditorFieldGroup
  • EditorHeader
  • EditorField
  • EditorRow
  • EditorList
  • EditorRows
  • EditorSwitch
  • FlexItem
  • Stack
  • InlineSelect
  • InputGroup
  • Space

Please use them from grafana/experimental from now on. Issue #57436

9.2.1 (2022-10-18)

Features and enhancements

  • Alerting: Improve notification policies created during migration. #52071, @JacobsonMT
  • AzureAD: Add option to force fetch the groups from the Graph API. #56916, @gamab
  • AzureAD: Add option to force fetch the groups from the Graph API (#56916). #56947, @gamab
  • Docs: Note end of release notes publication. #57013, @gguillotte-grafana
  • Inspect: Handle JSON tab crash when the provided object is too big to stringify. #55939, @TsotosA
  • TablePanel: Footer now updates values on column filtering. #56354, @mdvictor

Bug fixes

Plugin development fixes & changes

  • Grafana UI: Export prop types for queryfield, modal and field components. #57097, @jackw
  • Toolkit: Fix Cannot use import statement outside... error in tests. #57071, @jackw

9.2.0 (2022-10-11)

Features and enhancements

  • Alerting: Add Notification error feedback on contact points view. #56225, @soniaAguilarPeiron
  • Alerting: Allow created by to be manually set when there's no creator for silences. #55952, @gotjosh
  • Alerting: Expose info about notification delivery errors in a new /receivers endpoint. #55429, @santihernandezc
  • Alerting: Update imported prometheus alertmanager version. #56228, @joeblubaugh
  • Alerting: Update imported prometheus alertmanager version. Backport (#56228). #56430, @joeblubaugh
  • Alerting: Write and Delete multiple alert instances. #55350, @joeblubaugh
  • Core: Implement aria attributes for query rows, improve a11y. #55563, @L-M-K-B
  • Custom Branding: Remove custom branding service. (Enterprise)
  • Custom branding: Remove UI. (Enterprise)
  • DevEnv: Adds docker block for clickhouse. #55702, @owensmallwood
  • Docker: removes unneccesary use of edge repo. #54567, @xlson
  • Explore: Revert split pane resize feature. #56310, @Elfo404
  • Frontend: Make local storage items propagate to different tabs immediately. #55810, @oscarkilhed
  • PublicDashboards: Allow disabling an existent public dashboard if it …. #55778, @evictorero
  • QueryEditorRow: Only pass error to query editor if panel is not in a loading state. #56350, @kevinwcyu
  • Reports: Refresh query variables on time range change. (Enterprise)
  • XYChart: Beta release. #55973, @mdvictor
  • [9.2.x] Alerting: Start ticker only when scheduler starts (#56339). #56418, @yuri-tceretian

Bug fixes

  • Alerting: Fix pq: missing FROM-clause for table "a". #56453, @grobinson-grafana
  • AzureMonitor: Correctly update subscriptions value in ARG editor. #55860, @aangelisc
  • Chore: Fix swagger validation failures. (Enterprise)
  • Chore: Regenerate swagger specification and fix validation failures. #55750, @joshhunt
  • Correlations: Only return correlation for which both source and target datasources exist. #55454, @Elfo404
  • Explore: Prevent panes from disappearing when resizing window in split view. #55696, @gelicia
  • Links: Fix opening links from different orgs on the same tab. #55837, @guicaulada
  • LogContext: Fix scroll position in upper context group. #56370, @svennergr
  • Logs: Show copy button independently from context. #55934, @svennergr
  • Loki/Prometheus: Fix adding of ad hoc filters when jumping from dashboard to explore. #55915, @ivanahuckova
  • Loki: Add support for range aggregations with by grouping. #56184, @ivanahuckova
  • Loki: Fix label-value escaping in context query. #56614, @svennergr
  • Loki: Fix redundant escaping in adhoc filter with regex match. #56447, @ivanahuckova
  • PanelEdit: Fixes resize pane border and spacing issues. #56190, @torkelo
  • PublicDashboards: Fix dashboard insights query when Public Dashboard feature is enabled. (Enterprise)
  • PublicDashboards: Fix dashboard insights query when Public Dashboard feature is enabled. (Enterprise)
  • RBAC: Redirect to /login when forceLogin is set. #56469, @sakjur
  • SAML: Fix RelayState generation function. (Enterprise)
  • Security: Fix CVE-2022-27664. #55361, @yong-jie-gong
  • StateTimeline: Fix tooltip showing erroneously in shared crosshair dashboards. #55809, @mdvictor
  • Tempo: Fix unexpected trimming of leading zeroes in traceID. #55167, @hanjm
  • Tracing: Fix bug where errors are not reported to OpenTelemetry. #55925, @sakjur

9.2.0-beta1 (2022-09-26)

Features and enhancements

  • AccessControl: Move GetCacheKey to SignedInUser. #53591, @mgyongyosi
  • AccessControl: Move GetCacheKey to SignedInUser. (Enterprise)
  • Admin: Add support to configure default admin email. #54363, @mhuangwm
  • Admin: Create/Edit Team/ServiceAccount UI changes. #53889, @mgyongyosi
  • Alert list panel: Add view mode "Stat". #53281, @peterholmberg
  • Alerting: Add alert preview to cloud rules editor. #54950, @konrad147
  • Alerting: Add new API endpoint GET /api/v1/ngalert. #55134, @yuri-tceretian
  • Alerting: Add templates autocomplete. #53655, @konrad147
  • Alerting: Adds support for editing group details for Grafana managed rules. #53120, @gillesdemey
  • Alerting: Change default alert state to Error on execution error or timeout. #55345, @grobinson-grafana
  • Alerting: Display alert's 'Created' time in local time instead of UTC. #54414, @mmusenbr
  • Alerting: Improve Mimir AM interoperability with Grafana. #53396, @konrad147
  • Alerting: Improve validation of query and expressions on rule submit. #53258, @yuri-tceretian
  • Alerting: Read group details before saving. #53586, @gillesdemey
  • Alerting: Resolve stale state. #49352, @yuri-tceretian
  • Alerting: Support for re-ordering alert rules in a group. #53318, @gillesdemey
  • Alerting: Update embedded Alertmanager v0.24. #53555, @yuri-tceretian
  • Alerting: Update forking request handlers to use the same errors. #52965, @yuri-tceretian
  • Alerting: Write and Delete multiple alert instances. #52305, @joeblubaugh
  • Annotation: Optionally allow storing longer annotation tags. #54754, @papagian
  • Auth: Add SAML common resolutions to cookie issues. #55395, @Jguer
  • Auth: Add cli command users-manager for conflict resolution. #52344, @eleijonmarck
  • Auth: Add documentation on group overage claims in AzureAD. #55389, @Jguer
  • Auth: Extend auth token errors with user ID. #54633, @IevaVasiljeva
  • Auth: Reduce allocs in permission map. #55410, @Jguer
  • Auth: Restore legacy behavior and add deprecation notice for empty org role in oauth. #55118, @Jguer
  • AzureMonitor: Automate retrieval of supported Metrics namespaces. #53203, @aangelisc
  • Build: Replace the file-loader loader with asset module in webpack config. #53088, @academo
  • Chore: Group auth docker blocks. #54274, @linoman
  • Chore: Upgrade Go to 1.19.1. #54902, @sakjur
  • Cleanup: Add traces to cleanup jobs. #55465, @sakjur
  • CloudMonitor: Remove cloudMonitoringExperimentalUI feature flag. #55054, @asimpson
  • CloudWatch: Add AWS/States metrics. #55427, @jangaraj
  • CloudWatch: Add missing AWS/ApiGateway metrics. #53839, @jangaraj
  • CloudWatch: Add missing AWS/Events metrics. #53831, @jangaraj
  • CloudWatch: Enable feature adoption tracking in the plugin. #54299, @sunker
  • CloudWatch: Log group variable should get all log groups. #54062, @iwysiu
  • CloudWatch: Refactoring - decouple logs and metrics in datasource file. #55079, @sunker
  • Correlations: Add GetCorrelation(s) HTTP APIs. #52517, @Elfo404
  • Custom branding: Add RBAC (early access). (Enterprise)
  • Custom branding: Add preview for the settings (early access). (Enterprise)
  • Dashboard: Support Variables in "Filter by Name" Transformation. #51804, @Kirchen99
  • DashboardQuery: Expand query options. #53998, @ryantxu
  • Docs: Deprecating packages_api and removing it from our pipelines. #54473, @tolzhabayev
  • Docs: Update annotations API docs to include required field. #52644, @HarryTennent
  • Echo: Add support for Google Analytics 4. #55446, @joshhunt
  • Elasticsearch: Respect time range in ad hoc filters. #53874, @gabor
  • Explore: Add Mixed Datasource. #53429, @gelicia
  • Explore: Add resize to split view, with Min/Max button. #54420, @gelicia
  • Footer: Add release notes url to version label. #52909, @kianelbo
  • Geomap: Add Africa, Australia, Oceania, South Asia, and East Asia as initial view options. #55142, @zuchka
  • Geomap: Add dynamic initial view options. #54419, @drew08t
  • Grafana Backend: Establish a database version support policy. #54374, @joeblubaugh
  • Grafana UI: Add implicit submit to TimeRangeForm for A11y. #52647, @matejkubinec
  • Grafana/ui: Adds all unicons to IconName and script to generate types. #53820, @academo
  • GrafanaUI: Add icon to links on Plugin configuration page. #55581, @leandro-deveikis
  • GrafanaUI: Deprecate logs components. #55364, @gabor
  • GraphPanel: Panel Description box does not expand to fit markdown table. #54238, @gitstart
  • Icons: Move unicons icons to the repository and generate the iconsBundle.js with nodejs. #53766, @academo
  • InfluxDB: Remove browser ('direct' access) mode. #53529, @obetomuniz
  • JWT: Add support for assigning org roles. #54277, @nrwiersma
  • JWT: Allow conventional bearer token in Authorization header. #54821, @nrwiersma
  • Live: Migrate to centrifuge-js v3 (new API and client protocol). #51977, @FZambia
  • Load icons using webpack context instead of react-inlinesvg library. #53675, @academo
  • Login: Allow basic users to reset password when LDAP or Auth Proxy is enabled. #52331, @krzysdabro
  • Login: Remove single admin team restriction. #54534, @linoman
  • Logs: Relocate "show context" button, add copy line log button. #50977, @Seyaji
  • Loki Query Variables: Add support to select from existing labels. #54625, @matyax
  • Loki/Prometheus: Make sections in log/metrics browser resizable. #54704, @gwdawson
  • Loki/Prometheus: Remove beta tag from query builder. #55150, @ivanahuckova
  • Loki: Add validation to derived fields url field setting. #53599, @matyax
  • Loki: Create Variable Query Editor for Loki. #54102, @matyax
  • MSSQL: Migrate to React. #51765, @zoltanbedi
  • Metrics: Instrument requests not matching any handler as notfound. #53949, @bergquist
  • Navigation Bar: Remove plugins link under Server Admin. #54386, @academo
  • Navigation: Don't round app plugin icon images. #54543, @joshhunt
  • OAuth: Allow assigning Server Admin. #54780, @Jguer
  • Panel edit: Run queries when time range changes in table view. #53111, @axelavargas
  • Panels: Add panel debug support helper. #54678, @ryantxu
  • Playlists: Migrate to UIDs and load dashboards in the frontend. #54125, @ryantxu
  • Plugins: Add feature toggles for long running queries. #54349, @kevinwcyu
  • Plugins: Add secure JSON fields to plugin setting DTO. #55313, @wbrowne
  • Plugins: Handle app plugin proxy routes per request. #51835, @marefr
  • Plugins: Use error plane for api/ds/query. #54750, @wbrowne
  • Preferences: Support setting any dashboard as home, not just the starred ones. #54258, @ryantxu
  • Prometheus: Add dashboard uid when tracing header in browsermode. #53232, @lpskdl
  • Prometheus: Throw error on direct access. #50162, @aocenas
  • Prometheus: Upgrades http client to 1.30. #53901, @bergquist
  • Prometheus: Upgrades the prometheus http client to 1.13. #47707, @yesoreyeram
  • PublicDashboard: Add RTK Query with loading and error state. Add MSW dependency for testing. #55518, @juanicabanas
  • PublicDashboards: Add RBAC to secured endpoints. #54544, @evictorero
  • PublicDashboards: Add link to public dashboards docs to sharing modal. #55186, @guicaulada
  • PublicDashboards: Disable form when user does not has permissions. #54853, @evictorero
  • PublicDashboards: Dont support exemplars. #54933, @owensmallwood
  • PublicDashboards: Ignore time range input and changes on public dashboard. #55412, @guicaulada
  • PublicDashboards: Log api layer errors and which datasources fail/succeed. #55056, @owensmallwood
  • PublicDashboards: Render tag when dashboard meta changes in state. #55414, @owensmallwood
  • PublicDashboards: Resolve interval for public dashboard data source. #55489, @guicaulada
  • PublicDashboards: Sanitize metadata from public dashboard queries. #55269, @guicaulada
  • PublicDashboards: UI improvements. #55130, @juanicabanas
  • Query editor: Allow query editors to create new query. #55028, @ivanahuckova
  • RBAC: Add cache for oss rbac permissions. #55098, @kalleep
  • RBAC: Add endpoints for reading and updating role assignments. (Enterprise)
  • RBAC: Add permissions to install and configure plugins. #51829, @gamab
  • RBAC: Display indicator if a permission is inherited. #54080, @kalleep
  • RBAC: Only display unique permissions in list. #54074, @kalleep
  • RBAC: Refactor delegation check to reduce db queries. (Enterprise)
  • RBAC: Validate scopes during role creation. (Enterprise)
  • Report: Keep report data on edit page refresh. (Enterprise)
  • Reports: Allow CSV only option. (Enterprise)
  • Reports: Render steps inside ReportPage. (Enterprise)
  • SAML: Account for all orgs in org_mapping. (Enterprise)
  • SAML: Add option to skip org role sync. #55230, @gamab
  • SAML: Add option to skip org role sync. (Enterprise)
  • SAML: Allow wildcard mapping to add user to all existing orgs. #55628, @gamab
  • SAML: Do not SAML SLO if user is not SAML authenticated. #53418, @Jguer
  • SAML: Improve SAML login flow. (Enterprise)
  • SQL: Migrate (MS/My/Postgres)SQL configuration pages from Angular to React. #51891, @oscarkilhed
  • Search: Migrated impressions to use dashboardUID. #53090, @lpskdl
  • Secrets: Add fallback to secrets kvstore plugin. #54056, @guicaulada
  • Secrets: Convert secret migration to a background service. #54676, @guicaulada
  • Secrets: Implement secrets manager plugin fallback store. #54496, @guicaulada
  • Secrets: Improve error handling for secrets manager plugin. #54811, @guicaulada
  • SegmentInput: Omit allowCustomValue and allowEmptyValue props. #55352, @timagixe
  • Status History Panel: Show X-Axis Value in Tooltip. #54563, @gitstart
  • TeamSync: Add description to group mapping. (Enterprise)
  • TeamSync: Prevent team syncing out of orgs mapped by auth method. (Enterprise)
  • Teams: Add TeamRolePicker to the Create and Edit Team pages. #53775, @mgyongyosi
  • Tempo: Set the default query type even if queryType was set to 'clear'. #53887, @CrypticSignal
  • Tempo: Wrap the autocomplete value for a tag in double quotes. #55610, @CrypticSignal
  • TextPanel: Support code formats. #53850, @ryantxu
  • TimeRangePicker: Absolute timeranges with timezone. #53763, @mdvictor
  • TimeSeries: Support for log scale and negative numbers. #54812, @leeoniya
  • TopNav: Panel edit changes. #54746, @torkelo
  • Tracing: Add new [tracing.opentelemetry] custom_attributes config setting. #54110, @hairyhenderson
  • Transformations: Add support for an inner join transformation. #53865, @AlexKaracaoglu
  • Transformers: Support inner vs outer join. #53913, @ryantxu
  • User management: Use HMAC-SHA256 to generate time limit codes (password reset tokens). #42334, @andreasgerstmayr
  • UsersTable: Display Disabled flag in Organizations' Users table. #53656, @mgyongyosi
  • Various Panels: Add ability to toggle legend with keyboard shortcut. (Enterprise)

Bug fixes

  • Alerting: AlertingProxy to elevate permissions for request forwarded to data proxy when RBAC enabled. #53620, @yuri-tceretian
  • Auth: Allow admins to manually change external user's role if oauth_skip_org_role_update_sync or saml skip_org_role_sync is enabled. #55182, @Jguer
  • AuthNZ: Security fixes for CVE-2022-35957 and CVE-2022-36062. #55503, @IevaVasiljeva
  • ContextHandler: Use standard library style middleware. #54219, @sakjur
  • ElasticSearch: Fix lucene formatted variables being wrongly escaped. #54981, @svennergr
  • FIX: RBAC prevents deleting empty snapshots. #54385, @gamab
  • Fix: Adjusting plugin.json schema regex. #54515, @tolzhabayev
  • Fix: Wrong swagger meta preventing spec generation. #54181, @leandro-deveikis
  • Histogram: Fix panel hide when clicking on legend. #53651, @mdvictor
  • Loki: Hide loki sample queries from query inspector. #55158, @ivanahuckova
  • Query Builder: Fix spelling of "lose" in user visible message. #53435, @spazm
  • RBAC: Fix resolver issue on wildcard resulting in wrong status code for endpoints. #54208, @kalleep
  • Reports: Fix starting value. (Enterprise)
  • StatPanel: Add padding between horizontal name and value. #55299, @JoaoSilvaGrafana
  • TablePanel: Fix FooterRow styling for Safari and Firefox. #55543, @mdvictor
  • TablePanel: Fix vertical scrollbar. #53457, @mdvictor
  • Tempo: Fix typo in the tooltip for "Limit". #53750, @CrypticSignal
  • Transformations: Fix clearing of transformation select fields. #53916, @AlexKaracaoglu
  • Various Panels: Fix Single right-aligned y-axis hiding gridlines. #54206, @gitstart

Breaking changes

Dashboards: Remove the ability to open dashboard settings while panel edit is still open. Issue #54746

In InfluxDB, browser access mode was deprecated in Grafana 8.0.0 and removed in 9.2.0. If you used this mode, please switch to server access mode on the datasource configuration page. Issue #53529

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

Password reset links sent before the upgrade will no longer work and have to be resent. Since the duration of those links are only two hours we decided to not support both token formats. Issue #42334

Deprecations

Google Analytics 'Universal Analytics' is deprecated by Google in favor of Google Analytics 4. See Google's deprecation notice for more details. After July 2023, Grafana's Google Analytics 'Universal Analytics' integration will be removed, along with the analytics.google_analytics_ua_id server config property. Configure Google Analytics 4 using the analytics.google_analytics_4_id server config property. Issue #55446

The following components and functions related to logs are deprecated in the grafana-ui package: LogLabels, LogMessageAnsi, LogRows, getLogRowStyles. Issue #55364

Plugin development fixes & changes

  • GrafanaUI: Add required behavior to Inline Field. #54867, @gefgu
  • CustomScrollbar: Add optional scroll indicators to CustomScrollbar. #54705, @ashharrison90
  • Build: Introduce ESM and Treeshaking to NPM package builds. #51517, @jackw

9.1.8 (2022-10-11)

Features and enhancements

Bug fixes

9.1.7 (2022-10-04)

Features and enhancements

Bug fixes

9.1.6 (2022-09-20)

Features and enhancements

  • Auth: Trigger auth token cleanup job. (Enterprise)
  • DataSource: Adding possibility to hide queries from the inspector. #54892, @mckn
  • Inspect: Hide Actions tab when it is empty. #55272, @ryantxu
  • PanelMenu: Remove hide legend action as it was showing on all panel types. #54876, @torkelo
  • Provisioning Contact points: Support disableResolveMessage via YAML. #54122, @mmusenbr
  • PublicDashboards: Support subpaths when generating pubdash url. #55204, @owensmallwood

Bug fixes

9.1.5 (2022-09-12)

Features and enhancements

Bug fixes

  • Alerting: Fix incorrect propagation of org ID and other fields in rule provisioning endpoints. #54603, @alexweav
  • Alerting: Resetting the notification policy tree to the default policy will also restore default contact points. #54608, @alexweav
  • AzureMonitor: Fix custom namespaces. #54937, @asimpson
  • AzureMonitor: Fix issue where custom metric namespaces are not included in the metric namespace list. #54826, @andresmgot
  • CloudWatch: Fix display name of metric and namespace. #54860, @sunker
  • Cloudwatch: Fix annotation query serialization issue. #54884, @sunker
  • Dashboard: Fix issue where unsaved changes warning would appear even after save, and not being able to change library panels. #54706, @torkelo
  • Dashboard: Hide overflow content for single left pane. #54882, @lpskdl
  • Loki: Fix a bug where adding adhoc filters was not possible. #54920, @svennergr
  • Reports: Fix handling expired state. (Enterprise)

9.1.4 (2022-09-09)

Bug fixes

9.1.3 (2022-09-05)

Features and enhancements

Bug fixes

  • Alerting: Fix UI bug when setting custom notification policy group by. #54607, @JacobsonMT
  • AppRootPage: Fix issue navigating between two app plugin pages. #54519, @torkelo
  • Correlations: Use correct fallback handlers. #54511, @kalleep
  • FIX: RBAC prevents deleting empty snapshots (#54385). #54510, @gamab
  • LibraryElements: Fix inability to delete library panels under MySQL. #54600, @kaydelaney
  • Metrics: fix grafana_database_conn_* metrics, and add new go_sql_stats_* metrics as eventual replacement. #54405, @hairyhenderson
  • TestData DB: Fix node graph not showing when the Data type field is set to random. #54298, @CrypticSignal

Deprecations

The grafana_database_conn_* metrics are deprecated, and will be removed in a future version of Grafana. Use the go_sql_stats_* metrics instead. Issue #54405

9.1.2 (2022-08-30)

Features and enhancements

  • AdHoc variable: Correctly preselect datasource when provisioning. #54088, @dprokop
  • AzureMonitor: Added ARG query function for template variables. #53059, @yaelleC
  • Dashboard save: Persist details message when navigating through dashboard save drawer's tabs. #54084, @vbeskrovnov
  • Dashboards: Correctly migrate mixed data source targets. #54152, @dprokop
  • Elasticsearch: Use millisecond intervals for alerting. #54157, @gabor
  • Elasticsearch: Use millisecond intervals in frontend. #54202, @gabor
  • Geomap: Local color range. #54348, @adela-almasan
  • Plugins Catalog: Use appSubUrl to generate plugins catalog urls. #54426, @academo
  • Rendering: Add support for renderer token. #54425, @joanlopez

Bug fixes

Plugin development fixes & changes

  • GrafanaUI: Fix styles for invalid selects & DataSourcePicker. #53476, @Elfo404

9.1.1 (2022-08-23)

Features and enhancements

  • Cloud Monitoring: Support SLO burn rate. #53710, @itkq
  • Schema: Restore "hidden" in LegendDisplayMode. #53925, @academo
  • Timeseries: Revert the timezone(s) property name change back to singular. #53926, @academo

Bug fixes

Plugin development fixes & changes

9.1.0 (2022-08-16)

Features and enhancements

  • API: Allow creating teams with a user defined identifier. #48710, @papagian
  • Alerting: Adds interval and For to alert rule details. #53211, @gillesdemey
  • Alerting: Extend PUT rule-group route to write the entire rule group rather than top-level fields only. #53078, @alexweav
  • Alerting: Use Adaptive Cards in Teams notifications. #53532, @grobinson-grafana
  • Azure Monitor: Add Network Insights Dashboard. #50362, @Teddy-Lin
  • Chore: Improve logging of unrecoverable errors. #53664, @sakjur
  • Correlations: Add UpdateCorrelation HTTP API. #52444, @Elfo404
  • Dashboard: Reverted the changes of hiding multi-select and all variable in the datasource picker. #53521, @lpskdl
  • Geomap: Add alpha day/night layer. #50201, @ryantxu
  • Geomap: Add measuring tools. #51608, @drew08t
  • GrafanaUI: Add success state to ClipboardButton. #52069, @evictorero
  • Heatmap: Replace the heatmap panel with new implementation. #50229, @ryantxu
  • KVStore: Allow empty value in kv_store. #53416, @spinillos
  • Prometheus: Promote Azure auth flag to configuration. #53447, @andresmgot
  • Reports: Save and update in reports should be transactional. (Enterprise)
  • Reports: Set uid when we don't receive it in the query. (Enterprise)
  • Search: Display only dashboards in General folder of Search Folder View. #53607, @lpskdl
  • Status history/State timeline: Support datalinks. #50226, @jloupdef
  • Transform: Add a limit transform. #49291, @josiahg
  • Transformations: Add standard deviation and variance reducers. #49753, @selvavm

Bug fixes

Breaking changes

Alert notifications to Microsoft Teams now use Adaptive Cards instead of Office 365 Connector Cards. Issue #53532

Starting at 9.1.0, existing heatmap panels will start using a new implementation. This can be disabled by setting the useLegacyHeatmapPanel feature flag to true. It can be tested on a single dashbobard by adding ?__feature.useLegacyHeatmapPanel=true to any dashboard URL. Please report any heatmap migration issues.. The most notable changes are:

  • Significantly improved rendering performance
  • When calculating heatmaps, the buckets are now placed on reasonable borders (1m, 5m, 30s etc)
  • Round cells are no longer supported Issue #50229

Plugin development fixes & changes

  • Plugins: Only pass rootUrls field in request when not empty. #53135, @wbrowne

9.1.0-beta1 (unreleased)

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 invervals. 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

9.0.9 (2022-09-20)

Bug fixes

  • AngularPanels: Fixing changing angular panel options not taking having affect when coming back from panel edit. #54834, @grafanabot
  • AuthNZ: Security fixes for CVE-2022-35957 and CVE-2022-36062. #55498, @IevaVasiljeva
  • FIX: RBAC prevents deleting empty snapshots (#54385). #54509, @gamab

9.0.8 (2022-08-30)

Features and enhancements

  • Alerting: Hide "no rules" message when we are fetching from data sources. #53778, @gillesdemey
  • Rendering: Add support for renderer token (#54425). #54439, @joanlopez
  • Reports: Title is showing under panels. (Enterprise)
  • Alerting: AlertingProxy to elevate permissions for request forwarded to data proxy when RBAC enabled. #53680, @yuri-tceretian

9.0.7 (2022-08-10)

Features and enhancements

Bug fixes

  • GrafanaUI: Render PageToolbar's leftItems regardless of title's presence. #53285, @Elfo404

9.0.6 (2022-08-01)

Features and enhancements

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

Bug fixes

9.0.5 (2022-07-26)

Features and enhancements

  • Access control: Show dashboard settings to users who can edit dashboard. #52535, @grafanabot
  • Alerting: Allow the webhook notifier to support a custom Authorization header. #52515, @gotjosh
  • Chore: Upgrade to Go version 1.17.12. #52523, @sakjur
  • Plugins: Add signature wildcard globbing for dedicated private plugin type. #52163, @wbrowne
  • Prometheus: Don't show errors from unsuccessful API checks like rules or exemplar checks. #52193, @darrenjaneczek

Bug fixes

  • Access control: Allow organisation admins to add existing users to org (#51668). #52553, @vtorosyan
  • Alerting: Fix alert panel instance-based rules filtering. #52583, @konrad147
  • Apps: Fixes navigation between different app plugin pages. #52571, @torkelo
  • Cloudwatch: Upgrade grafana-aws-sdk to fix auth issue with secret keys. #52420, @sarahzinger
  • Grafana/toolkit: Fix incorrect image and font generation for plugin builds. #52661, @academo
  • Loki: Fix show context not working in some occasions. #52458, @svennergr
  • RBAC: Fix permissions on dashboards and folders created by anonymous users. #52615, @gamab

9.0.4 (2022-07-20)

Features and enhancements

Bug fixes

9.0.3 (2022-07-14)

Features and enhancements

  • Access Control: Allow dashboard admins to query org users. #51652, @IevaVasiljeva
  • Access control: Allow organisation admins to add existing users to org. #51668, @IevaVasiljeva
  • Alerting: Add method to provisioning API for obtaining a group and its rules. #51761, @alexweav
  • Alerting: Add method to provisioning API for obtaining a group and its rules. #51398, @alexweav
  • Alerting: Allow filtering of contact points by name. #51933, @alexweav
  • Alerting: Disable /api/admin/pause-all-alerts with Unified Alerting. #51895, @joeblubaugh
  • Analytics: Add total queries and cached queries in usage insights logs. (Enterprise)
  • Annotations: Use point marker for short time range annotations. #51520, @codeincarnate
  • AzureMonitor: Update UI to experimental package. #52123, @asimpson
  • AzureMonitor: Update resource and namespace metadata. #52030, @despian
  • CloudWatch: Remove simplejson in favor of 'encoding/json'. #51062, @asimpson
  • DashboardRow: Collapse shortcut prevent to move the collapsed rows. #51589, @ivanortegaalba
  • Insights: Add dashboard UID to exported logs. (Enterprise)
  • Navigation: Highlight active nav item when Grafana is served from subpath. #51767, @kianelbo
  • Plugins: InfluxDB datasource - set epoch query param value as "ms". #51651, @itsmylife
  • Plugins: InfluxDB update time range query. #51833, @itsmylife
  • StateTimeline: Try to sort time field. #51569, @zoltanbedi

Bug fixes

  • API: Do not validate/save legacy alerts when saving a dashboard if legacy alerting is disabled. #51883, @papagian
  • Access Control: Fix missing folder permissions. #52153, @IevaVasiljeva
  • Alerting: Add method to reset notification policy tree back to the default. #51934, @alexweav
  • Alerting: Fix Teams notifier not failing on 200 response with error. #52254, @JacobsonMT
  • Alerting: Fix bug where state did not change between Alerting and Error. #52204, @grobinson-grafana
  • Alerting: Fix consistency errors in OpenAPI documentation. #51935, @alexweav
  • Alerting: Fix normalization of alert states for panel annotations. #51637, @gillesdemey
  • Alerting: Provisioning API respects global rule quota. #52180, @alexweav
  • CSRF: Fix additional headers option. #50629, @sakjur
  • Chore: Bump parse-url to 6.0.2 to fix security vulnerabilities. #51796, @jackw
  • Chore: Fix CVE-2020-7753. #51752, @jackw
  • Chore: Fix CVE-2021-3807. #51753, @jackw
  • Chore: Fix CVE-2021-3918. #51745, @jackw
  • Chore: Fix CVE-2021-43138. #51751, @jackw
  • Chore: Fix CVE-2022-0155. #51755, @jackw
  • Custom Branding: Fix login logo size. (Enterprise)
  • Dashboard: Fixes tooltip issue with TimePicker and Setting buttons. #51836, @torkelo
  • Dashboard: Prevent unnecessary scrollbar when viewing single panel. #52122, @lpskdl
  • Logs: Fixed wrapping log lines from detected fields. #52108, @svennergr
  • Loki: Add missing operators in label filter expression. #51880, @ivanahuckova
  • Loki: Fix error when changing operations with different parameters. #51779, @svennergr
  • Loki: Fix suggesting of correct operations in query builder. #52034, @ivanahuckova
  • Plugins: InfluxDB variable interpolation fix. #51917, @itsmylife
  • Plugins: InfluxDB variable interpolation fix for influxdbBackendMigration feature flag. #51624, @itsmylife
  • Reports: Fix line breaks in message. (Enterprise)
  • Reports: Fix saving report formats. (Enterprise)
  • SQLstore: Fix fetching an inexistent playlist. #51962, @papagian
  • Security: Fixes for CVE-2022-31107 and CVE-2022-31097. #52279, @kminehart
  • Snapshots: Fix deleting external snapshots when using RBAC. #51897, @idafurjes
  • Table: Fix scrollbar being hidden by pagination. #51501, @zoltanbedi
  • Templating: Changing between variables with the same name now correctly triggers a dashboard refresh. #51490, @ashharrison90
  • Time series panel: Fix an issue with stacks being not complete due to the incorrect data frame length. #51910, @dprokop
  • [v9.0.x] Snapshots: Fix deleting external snapshots when using RBAC (#51897). #51904, @idafurjes

9.0.2 (2022-06-28)

Features and enhancements

Bug fixes

9.0.1 (2022-06-21)

Features and enhancements

  • Alerting: Add support for image annotation in Alertmanager alerts. #50686, @grobinson-grafana
  • Alerting: Add support for images in SensuGo alerts. #50718, @grobinson-grafana
  • Alerting: Add support for images in Threema alerts. #50734, @grobinson-grafana
  • Alerting: Adds Mimir to Alertmanager data source implementation. #50943, @gillesdemey
  • Alerting: Invalid setting of enabled for unified alerting should return error. #49876, @grobinson-grafana
  • AzureMonitor: Clean namespace when changing the resource. #50311, @andresmgot
  • AzureMonitor: Update supported namespaces and filter resources by the right type. #50788, @andresmgot
  • CLI: Allow relative symlinks in zip archives when installing plugins. #50537, @marefr
  • Dashboard: Don't show unsaved changes modal for automatic schema changes. #50822, @torkelo
  • Dashboard: Unsaved changes warning should not trigger when only pluginVersion has changed. #50677, @torkelo
  • Expression: Execute hidden expressions. #50636, @yesoreyeram
  • Geomap: Support showing tooltip content on click (not just hover). #50985, @ryantxu
  • Heatmap: Remove alpha flag from new heatmap panel. #50733, @ryantxu
  • Instrumentation: Define handlers for requests that are not handled with named handlers. #50613, @bergquist
  • Log Panel: Improve log row hover contrast and visibility. #50908, @Seyaji
  • Logs: Handle backend-mode errors in histogram. #50535, @gabor
  • Loki: Do not show histogram for instant queries. #50711, @gabor
  • Loki: Handle data source configs with path in the url. #50971, @gabor
  • Loki: Handle invalid query type values. #50755, @gabor
  • OAuth: Redirect to login if no oauth module is found or if module is not configured. #50661, @kalleep
  • OptionsUI: Move internal options editors out of @grafana/ui. #50739, @ryantxu
  • Prometheus: Don't show undefined for step in collapsed options in query editor when value is "auto". #50511, @aocenas
  • Prometheus: Show query patterns in all editor modes for Prometheus and Loki. #50263, @ivanahuckova
  • Tempo: Add link to Tempo Search with node service selected. #49776, @joey-grafana
  • Time Series Panel: Add Null Filling and "No Value" Support. #50907, @codeincarnate
  • TimeSeries: Add an option to set legend width. #49126, @bobrik
  • Timeseries: Improve cursor Y sync behavior. #50740, @ryantxu
  • Traces: Do not use red in span colors as this looks like an error. #50074, @joey-grafana

Bug fixes

Deprecations

Support for compact Explore URLs is deprecated and will be removed in a future release. Until then, when navigating to Explore using the deprecated format the URLs are automatically converted. If you have existing links pointing to Explore update them using the format generated by Explore upon navigation.

You can identify a compact URL by its format. Compact URLs have the left (and optionally right) url parameter as an array of strings, for example &left=["now-1h","now"...]. The standard explore URLs follow a key/value pattern, for example &left={"datasource":"test"...}. Please be sure to check your dashboards for any hardcoded links to Explore and update them to the standard URL pattern. Issue #50873

9.0.0 (2022-06-10)

Features and enhancements

Bug fixes

  • Alerting: Fix database unavailable removes rules from scheduler. #49874, @grobinson-grafana
  • AzureMonitor: Fix auto-selection of time-grain for metrics. #49278, @aangelisc
  • DataSources: Fixes issue with expressions not being queried. #50446, @JoaoSilvaGrafana
  • GraphNG: Fix thresholds by color not following data update. #48571, @zoltanbedi
  • Jaeger: Update operations dropdown. #49329, @joey-grafana
  • Login: Fix mismatching label on auth_module in user list. #49177, @Jguer
  • Playlists: Save button now correctly creates a new playlist. #50381, @ashharrison90
  • RBAC: Fix migrations running in the wrong order causing inheritance problem in enterprise. #50452, @gamab
  • RBAC: Fix migrations running into the wrong order. (Enterprise)
  • ServiceAccounts: Add identifiable token prefix to service account tokens. #49011, @Jguer
  • Traces: Fix missing CopyButton on KeyValueTables and overlapping of panels. #49271, @svennergr

Breaking changes

The @grafana/ui package helper function selectOptionInTest used in frontend tests has been removed as it caused testing libraries to be bundled in the production code of Grafana. If you were using this helper function in your tests please update your code accordingly:

// before
import { selectOptionInTest } from '@grafana/ui';
// ...test usage
await selectOptionInTest(selectEl, 'Option 2');

// after
import { select } from 'react-select-event';
// ...test usage
await select(selectEl, 'Option 2', { container: document.body });

Issue #50442

Removed deprecated checkHealth prop from the @grafana/e2e addDataSource config. Previously this value defaulted to false, and has not been used in end-to-end tests since Grafana 8.0.3. Issue #50296

Removes the deprecated LegacyBaseMap, LegacyValueMapping, LegacyValueMap, and LegacyRangeMap types, and getMappedValue function from grafana-data. Migration is as follows:

Old New
LegacyBaseMap MappingType
LegacyValueMapping ValueMapping
LegacyValueMap ValueMap
LegacyRangeMap RangeMap
getMappedValue getValueMappingResult

This change fixes a bug in Grafana where intermittent failure of database, network between Grafana and the database, or error in querying the database would cause all alert rules to be unscheduled in Grafana. Following this change scheduled alert rules are not updated unless the query is successful.

The get_alert_rules_duration_seconds metric has been renamed to schedule_query_alert_rules_duration_seconds. Issue #49874

  • Any secret (data sources credential, alert manager credential, etc, etc) created or modified with Grafana v9.0 won't be decryptable from any previous version (by default) because the way encrypted secrets are stored into the database has changed. Although secrets created or modified with previous versions will still be decryptable by Grafana v9.0.

  • If required, although generally discouraged, the disableEnvelopeEncryption feature toggle can be enabled to keep envelope encryption disabled once updating to Grafana v9.0.

  • In case of need to rollback to an earlier version of Grafana (i.e. Grafana v8.x) for any reason, after being created or modified any secret with Grafana v9.0, the envelopeEncryption feature toggle will need to be enabled to keep backwards compatibility (only from v8.3.x a bit unstable, from 8.5.x stable).

  • As a final attempt to deal with issues related with the aforementioned situations, the grafana-cli admin secrets-migration rollback command has been designed to move back all the Grafana secrets encrypted with envelope encryption to legacy encryption. So, after running that command it should be safe to disable envelope encryption and/or roll back to a previous version of Grafana.

  • Alternatively or complementarily to all the points above, backing up the Grafana database before updating could be a good idea to prevent disasters (although the risk of getting some secrets corrupted only applies to those updates/created with after updating to Grafana v9.0). Issue #49301

  • According to the dynamic labels documentation, you can use up to five dynamic values per label. Theres currently no such restriction in the alias pattern system, so if more than 5 patterns are being used the GetMetricData API will return an error.

  • Dynamic labels only allow ${LABEL} to be used once per query. Theres no such restriction in the alias pattern system, so in case more than 1 is being used the GetMetricData API will return an error.

  • When no alias is provided by the user, Grafana will no longer fallback with custom rules for naming the legend.

  • In case a search expression is being used and no data is returned, Grafana will no longer expand dimension values, for instance when using a multi-valued template variable or star wildcard * in the dimension value field. Ref https://github.com/grafana/grafana/issues/20729

  • Time series might be displayed in a different order. Using for example the dynamic label ${PROP('MetricName')}, might have the consequence that the time series are returned in a different order compared to when the alias pattern {{metric}} is used

Issue #49173

In Elasticsearch, 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 #49014

Environment variables passed from Grafana to external Azure plugins have been renamed:

  • AZURE_CLOUD renamed to GFAZPL_AZURE_CLOUD
  • AZURE_MANAGED_IDENTITY_ENABLED renamed to GFAZPL_MANAGED_IDENTITY_ENABLED
  • AZURE_MANAGED_IDENTITY_CLIENT_ID renamed to GFAZPL_MANAGED_IDENTITY_CLIENT_ID

There are no known plugins which were relying on these variables. Moving forward plugins should read Azure settings only via Grafana Azure SDK which properly handles old and new environment variables. Issue #48954

Removes support for for ElasticSearch versions after their end-of-life, currently versions < 7.10.0. To continue to use ElasticSearch data source, upgrade ElasticSearch to version 7.10.0+. Issue #48715

Application Insights and Insight Analytics queries in Azure Monitor were deprecated in Grafana 8.0 and finally removed in 9.0. Deprecated queries will no longer be executed. Please refer to the documentation for more information about this change.

Issue #48328

grafana/ui: Button now specifies a default type="button"

The Button component provided by @grafana/ui now specifies a default type="button" when no type is provided. In previous versions, if the attribute was not specified for buttons associated with a <form> the default value was submit per the specification

You can preserve the old behavior by explicitly setting the type attribute: <Button type="submit" />

Github Issue #41863. Issue #48183

The Rename by regex transformation has been improved to allow global patterns of the form /<stringToReplace>/g. Depending on the regex match used, this may cause some transformations to behave slightly differently. You can guarantee the same behaviour as before by wrapping the match string in forward slashes (/), e.g. (.*) would become /(.*)/ Issue #48179

<Select /> menus will now portal to the document body by default. This is to give more consistent behaviour when positioning and overlaying. If you were setting menuShouldPortal={true} before you can safely remove that prop and behaviour will be the same. If you weren't explicitly setting that prop, there should be no visible changes in behaviour but your tests may need updating. Please see the original PR (https://github.com/grafana/grafana/pull/36398) for migration guides. If you were setting menuShouldPortal={false} this will continue to prevent the menu from portalling.

Issue #48176

Grafana alerting endpoint prefixed with api/v1/rule/test that tests a rule against a Corte/Loki data source now expects the data source UID as a path parameter instead of the data source numeric identifier. Issue #48070

Grafana alerting endpoints prefixed with api/prometheus/ that proxy requests to a Cortex/Loki data source now expect the data source UID as a path parameter instead of the data source numeric identifier. Issue #48052

Grafana alerting endpoints prefixed with api/ruler/ that proxy requests to a Cortex/Loki data source now expect the data source UID as a path parameter instead of the data source numeric identifier. Issue #48046

Grafana alerting endpoints prefixed with api/alertmanager/ that proxy requests to an Alertmanager now expect the data source UID as a path parameter instead of the data source numeric identifier. Issue #47978

The format of log messages have been updated, lvl is now level and erorand dbug has been replaced with error and debug. The precision of timestamps has been increased. To smooth the transition, it is possible to opt-out of the new log format by enabling the feature toggle oldlog. This option will be removed in a future minor release. Issue #47584

In the Loki data source, the dataframe format used to represent Loki logs-data has been changed to a more efficient format. The query-result is represented by a single dataframe with a "labels" column, instead of the separate dataframes for every labels-value. When displaying such data in explore, or in a logs-panel in the dashboard will continue to work without changes, but if the data was loaded into a different dashboard-panel, or Transforms were used, adjustments may be necessary. For example, if you used the "labels to fields" transformation with the logs data, please switch to the "extract fields" transformation. Issue #47153

Deprecations

setExploreQueryField, setExploreMetricsQueryField and setExploreLogsQueryField are now deprecated and will be removed in a future release. If you need to set a different query editor for Explore, conditionally render based on props.app in your regular query editor. Please refer to https://grafana.com/docs/grafana/latest/developers/plugins/add-support-for-explore-queries/ for more information. Issue #48701

Plugin development fixes & changes

9.0.0-beta3 (2022-06-06)

Features and enhancements

  • Alerting: Add provenance guard to config api. #50147, @JohnnyQQQQ
  • Alerting: Make folder filter clearable in Alert list panel. #50093, @peterholmberg
  • Alerting: Provisioning API - Alert rules. #47930, @JohnnyQQQQ
  • Alerting: Remove Image Upload code from Slack notifier. #50062, @joeblubaugh
  • Alerting: Remove double quotes from matchers. #50038, @gotjosh
  • Cloudwatch: Dynamic labels autocomplete. #49794, @sunker
  • Datasource: Remove deprecated max_idle_connections_per_host setting. #49948, @marefr
  • Datasource: Remove support for unencrypted passwords. #49987, @marefr
  • Dependencies: Update to Golang version 1.17.11. #50253, @dsotirakis
  • Loki: Run query when pressing Enter on line-filters. #49913, @svennergr
  • Metrics: Remove support for using summaries instead of histogram for HTTP instrumentation. #49985, @bergquist
  • Plugins: Remove deprecated /api/tsdb/query metrics endpoint. #49916, @wbrowne
  • Plugins: Support headers field for check health. #49930, @marefr
  • Prometheus/Loki: Add raw query and syntax highlight in explain mode. #50070, @aocenas
  • Prometheus: Migrate metadata queries to use resource calls. #49921, @srclosson
  • RBAC: Make RBAC action names more consistent. #49730, @IevaVasiljeva
  • RBAC: Make RBAC action names more consistent. (Enterprise)
  • Settings: Sunset non-duration based login lifetime config. #49944, @sakjur
  • [9.0.x] Alerting: Update alert rule diff to not see difference between nil and empty map. #50198, @yuri-tceretian

Bug fixes

  • Alerting: Fix alert list panel showing firing alerts with no instances. #50069, @gillesdemey
  • Alerting: Fix notification policy "Override grouping" form save. #50031, @JacobsonMT
  • Alerting: Remove double quotes from matchers. #50046, @alexweav
  • Alerting: Use correct permission scope for external AM updates. #50159, @gillesdemey
  • Datasource: Fix allowed cookies to be forwarded as header to backend datasources. #49541, @marefr
  • Licensing: Fix trial expiration warning. (Enterprise)
  • Loki: Fix uncaught errors if labelKey contains special characters. #49887, @svennergr
  • Prometheus: Fix aligning of labels of exemplars after backend migration. #49924, @aocenas
  • SharePDF: Fix repeated datasource variables in PDF. (Enterprise)
  • State Timeline: Fix Null Value Filling and Value Transformation. #50054, @codeincarnate
  • Usage stats: Divide collection into multiple functions to isolate failures. #49928, @sakjur

Breaking changes

Removes support for storing/using datasource password and basicAuthPassword unencrypted which was deprecated in Grafana v8.1.0. Please use secureJsonData.password and secureJsonData.basicAuthPassword. Issue #49987

Removes the option to instrument HTTP request in Grafana using summaries instead of histograms. Issue #49985

Removes support for deprecated dataproxy.max_idle_connections_per_host setting. Please use max_idle_connections instead. Issue #49948

Removes the deprecated getFormStyles function from grafana-ui. Prefer using GrafanaTheme2 and the useStyles2 hook. Issue #49945

The configuration options auth.login_maximum_inactive_lifetime_days and auth.login_maximum_lifetime_days were deprecated in Grafana v7.2.0 and have now been removed. Use login_maximum_inactive_lifetime_duration and login_maximum_lifetime_duration to customize the maximum lifetime of a login session. Issue #49944

Removed the deprecated isFocused and isInvalid props from the InlineLabel component. These props haven't done anything for a while, so migration is just a matter of removing the props. Issue #49929

Removed the deprecated onColorChange prop from ColorPicker. Moving forward the onChange prop should be used. Issue #49923

/api/tsdb/query API has been removed. Use /api/ds/query instead. Issue #49916

onClipboardCopy and onClipboardError APIs have been changed such that the callback's argument is just the text that's been copied rather than the old ClipboardEvent interface. Migration should just be a matter of going from

<ClipboardButton
  {/*other props... */}
  onClipboardCopy={(e) => {
    console.log(`Text "${e.text}" was copied!`);
  }}
/>

to

<ClipboardButton
  {/* other props... */}
  onClipboardCopy={(copiedText) => {
    console.log(`Text "${copiedText}" was copied!`);
  }}
/>

Issue #49847

The following RBAC action renames have been carried out:

  • users.authtoken:update -> users.authtoken:write;
  • users.password:update -> users.password:write;
  • users.permissions:update -> users.permissions:write;
  • users.quotas:update -> users.quotas:write;
  • org.users.role:update -> org.users:write;
  • alert.instances:update -> alert.instances:write;
  • alert.rules:update -> alert.rules:write;
  • users.authtoken:list -> users.authtoken:read;
  • users.quotas:list -> users.quotas:read;
  • users.teams:read -> replaced by users.read + teams:read

We've added a migration from the old action names to the new names and have updated our documentation. But you will have to update any scripts and provisioning files that are using the old action names. Issue #49730

The following RBAC action renames have been carried out:

  • reports.admin:write -> reports:write;
  • reports.admin:create -> reports:create;
  • licensing:update -> licensing:write;
  • roles:list -> roles:read;
  • teams.roles:list -> teams.roles:read;
  • users.roles:list -> users.roles:read;
  • users.permissions:list -> users.permissions:read

We've added a migration from the old action names to the new names and have updated our documentation. But you will have to update any scripts and provisioning files that are using the old action names. Issue #3372

Plugin development fixes & changes

9.0.0-beta2 (2022-05-31)

Features and enhancements

Bug fixes

Breaking changes

Drop support for deprecated setting ldap_sync_ttl under [auth.proxy] Only sync_ttl will work from now on Issue #49902

Removes support for deprecated heading and description props. Moving forward, the Card.Heading and Card.Description components should be used. Issue #49885

Removes the deprecated link variant from the Button component. To migrate, replace any usage of variant="link" with fill="text". Issue #49843

Removes the deprecated surface prop from the IconButton component. This prop hasn't actually done anything for a while, so it should be safe to just remove any instances of its usage. Issue #49715

Removes the deprecated TextDisplayOptions export from @grafana/data in favor of VizTextDisplayOptions from @grafana/schema. To migrate, just replace usage of TextDisplayOptions with VizTextDisplayOptions. Issue #49705

Removed support for the deprecated getColorForTheme(color: string, theme: GrafanaTheme) function in favor of the theme.visualization.getColorByName(color: string) method. The output of this method is identical to the removed function, so migration should just be a matter of rewriting calls of getColorForTheme(myColor, myTheme) to myTheme.visualization.getColorByName(myColor). Issue #49519

In the Prometheus data source, for consistency and performance reasons, we changed how we represent NaN (not a number) values received from Prometheus. In the past versions, we converted these to null in the frontend (for dashboard and explore), and kept as NaN in the alerting path. Starting with this version, we will always keep it as NaN. This change should be mostly invisible for the users. Issue #49475

Plugins using custom Webpack configs could potentially break due to the changes between webpack@4 and webpack@5. Please refer to the official migration guide for assistance.

Webpack 5 does not include polyfills for node.js core modules by default (e.g. buffer, stream, os). This can result in failed builds for plugins. If polyfills are required it is recommended to create a custom webpack config in the root of the plugin repo and add the required fallbacks:

// webpack.config.js

module.exports.getWebpackConfig = (config, options) => ({
  ...config,
  resolve: {
    ...config.resolve,
    fallback: {
      os: require.resolve('os-browserify/browser'),
      stream: require.resolve('stream-browserify'),
      timers: require.resolve('timers-browserify'),
    },
  },
});

Please refer to the webpack build error messages or the official migration guide for assistance with fallbacks.

Which issue(s) this PR fixes:

Fixes #

Special notes for your reviewer:

It does not bump the following dependencies to the very latest due to the latest versions being ES modules:

  • ora
  • globby
  • execa
  • chalk Issue #47826

We have changed the internals of backendSrv.fetch() to throw an error when the response is an incorrect JSON.

// PREVIOUSLY: this was returning with an empty object {} - in case the response is an invalid JSON
return await getBackendSrv().post(`${API_ROOT}/${id}/install`);

// AFTER THIS CHANGE: the following will throw an error - in case the response is an invalid JSON
return await getBackendSrv().post(`${API_ROOT}/${id}/install`);

When is the response handled as JSON?

  • If the response has the "Content-Type: application/json" header, OR
  • If the backendSrv options (BackendSrvRequest) specify the response as JSON: { responseType: 'json' }

How does it work after this change?

  • In case it is recognised as a JSON response and the response is empty, it returns an empty object {}
  • In case it is recognised as a JSON response and it has formatting errors, it throws an error

How to migrate? Make sure to handle possible errors on the callsite where using backendSrv.fetch() (or any other backendSrv methods). Issue #47493

Plugin development fixes & changes

9.0.0-beta1 (2022-05-24)

Features and enhancements

  • AccessControl: Add setting for permission cache. (Enterprise)
  • AccessControl: Check dashboard permissions for reports. (Enterprise)
  • Auth: Remove grafana ui dependency to the aws sdk. #43559, @sunker
  • BasicRoles: Add API endpoint to reset basic roles permissions to factory. (Enterprise)
  • LDAP Mapping: Allow Grafana Admin mapping without org role. #37189, @krzysdabro
  • Licensing: Only enforce total number of users. (Enterprise)
  • Loki: do not convert NaN to null. #45389, @gabor
  • Report: API support for multiple dashboards. (Enterprise)
  • Report: Support sending embedded image in the report email. (Enterprise)
  • Report: UI for multiple dashboards. (Enterprise)
  • Reporting: Remove redundant empty attachment when export to CSV is enabled. (Enterprise)
  • SAML: Implement Name Templates for assertion_attribute_name option. (Enterprise)
  • SSE/Alerting: Support prom instant vector responses. #44865, @kylebrandt
  • Tracing: Add trace to metrics config behind feature toggle. #46298, @connorlindsey

Bug fixes

  • Fix: Prevent automatic parsing of string data types to numbers. #46035, @joshhunt
  • Prometheus: Fix inconsistent labels in exemplars resulting in marshal json error. #46135, @hanjm

Breaking changes

In the Loki data source, for consistency and performance reasons, we changed how we represent NaN (not a number) values received from Loki. In the past versions, we converted these to null in the frontend (for dashboard and explore), and kept as NaN in the alerting path. Starting with this version, we will always keep it as NaN. This change should be mostly invisible for the users. Issue #45389

The dependency to grafana/aws-sdk is moved from grafana/ui to the plugin. This means that any plugin that use SIGV4 auth need to pass a SIGV4 editor component as a prop to the DataSourceHttpSettings component. Issue #43559