Skip to content

Latest commit

 

History

History
2424 lines (1836 loc) · 241 KB

CHANGELOG.md

File metadata and controls

2424 lines (1836 loc) · 241 KB

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. There’s 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. There’s 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 grafana#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 (grafana#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

8.5.9 (2022-07-14)

Bug fixes

  • Security: Fixes for CVE-2022-31107 and CVE-2022-31097. #52238, @xlson

8.5.6 (2022-06-14)

Bug fixes

  • Dashboard: Fixes random scrolling on time range change. #50379, @torkelo
  • Security: Fixes minor code scanning security warnings in old vendored javascript libs. #50382, @torkelo

8.5.5 (2022-06-06)

Features and enhancements

  • Azure Monitor: Include datasource ref when interpolating variables. #49543, @kevinwcyu
  • CloudWatch: Add multi-value template variable support for log group names in logs query builder. #49737, @kevinwcyu
  • Cloudwatch: Add template variable query function for listing log groups. #50100, @yaelleC

Bug fixes

8.5.4 (2022-05-30)

Features and enhancements

  • Alerting: Remove disabled flag for data source when migrating alerts. #48559, @yuri-tceretian
  • Alerting: Show notification tab of legacy alerting only to editor. #49624, @yuri-tceretian
  • Alerting: Update migration to migrate only alerts that belong to existing org\dashboard. #49192, @yuri-tceretian
  • AzureMonitor: Do not quote variables when a custom "All" variable option is used. #49428, @andresmgot
  • AzureMonitor: Update allowed namespaces. #48468, @jcolladokuri
  • CloudMonitor: Correctly encode default project response. #49510, @aangelisc
  • Cloudwatch: Add support for new AWS/RDS EBS* metrics. #48798, @szymonpk
  • InfluxDB: Use backend for influxDB by default via feature toggle. #48453, @yesoreyeram
  • Legend: Use correct unit for percent and count calculations. #49004, @dprokop
  • LokI: use millisecond steps in Grafana 8.5.x. #48630, @gabor
  • Plugins: Introduce HTTP 207 Multi Status response to api/ds/query. #48550, @wbrowne
  • Reporting: Improve PDF file size using grid layout. (Enterprise)
  • Transformations: Add an All Unique Values Reducer. #48653, @josiahg
  • Transformers: avoid error when the ExtractFields source field is missing. #49368, @wardbekker
  • [v8.5.x] Alerting: Update migration to migrate only alerts that belong to existing org\dashboard. #49199, @grafanabot
  • [v8.5.x] Reporting: Improve PDF file size using grid layout. (Enterprise)

Bug fixes

  • Alerting: Allow disabling override timings for notification policies. #48648, @gillesdemey
  • Alerting: Allow serving images from custom url path. #49022, @gillesdemey
  • Alerting: Apply Custom Headers to datasource queries. #47860, @joeblubaugh
  • Alerting: Fix RBAC actions for notification policies. #49185, @yuri-tceretian
  • Alerting: Fix access to alerts for viewer with editor permissions when RBAC is disabled. #49270, @yuri-tceretian
  • Alerting: Fix anonymous access to alerting. #49203, @yuri-tceretian
  • Alerting: correctly show all alerts in a folder. #48684, @gillesdemey
  • AzureMonitor: Fixes metric definition for Azure Storage queue/file/blob/table resources. #49101, @aangelisc
  • Dashboard: Fix dashboard update permission check. #48746, @IevaVasiljeva
  • DashboardExport: Fix exporting and importing dashboards where query data source ended up as incorrect. #48410, @torkelo
  • FileUpload: clicking the Upload file button now opens the modal correctly. #48766, @ashharrison90
  • GrafanaUI: Fix color of links in error Tooltips in light theme. #49327, @joshhunt
  • LibraryPanels: Fix library panels not connecting properly in imported dashboards. #49161, @joshhunt
  • Loki: Improve unpack parser handling. #49074, @gabor
  • RolePicker: Fix menu position on smaller screens. #48429, @Clarity-89
  • TimeRange: Fixes updating time range from url and browser history. #48657, @torkelo
  • TimeSeries: Fix detection & rendering of sparse datapoints. #48841, @leeoniya
  • Timeseries: Fix outside range stale state. #49633, @ryantxu
  • Tooltip: Fix links not legible in Tooltips when using light theme. #48748, @joshhunt
  • Tooltip: Sort decimals using standard numeric compare. #49084, @dprokop
  • Transforms: Labels to fields, fix label picker layout. #49304, @torkelo
  • Variables: Fixes issue with data source variables not updating queries with variable. #49478, @torkelo
  • [v8.5.x] Alerting: Fix RBAC actions for notification policies (#49185). #49348, @yuri-tceretian
  • [v8.5.x] Alerting: Fix access to alerts for viewer with editor permissions when RBAC is disabled. #49427, @konrad147
  • [v8.5.x] Alerting: Fix anonymous access to alerting. #49268, @yuri-tceretian

Breaking changes

For a data source query made via /api/ds/query :

  • If the DatasourceQueryMultiStatus feature is enabled and
    • The data source response has an error set as part of the DataResponse, the resulting HTTP status code is now 207 Multi Status instead of 400 Bad gateway
  • If the DatasourceQueryMultiStatus feature is not enabled and
    • The data source response has an error set as part of the DataResponse, the resulting HTTP status code is 400 Bad Request (no breaking change) --> Issue #48550

8.5.3

Bug fixes

8.5.2 (2022-05-03)

Features and enhancements

  • Alerting: Add safeguard for migrations that might cause dataloss. #48526, @JohnnyQQQQ
  • AzureMonitor: Add support for not equals and startsWith operators when creating Azure Metrics dimension filters. #48077, @aangelisc
  • Elasticsearch: Add deprecation notice for < 7.10 versions. #48506, @ivanahuckova
  • Traces: Filter by service/span name and operation in Tempo and Jaeger. #48209, @joey-grafana

Bug fixes

  • AzureAd Oauth: Fix strictMode to reject users without an assigned role. #48474, @kyschouv
  • CloudWatch: Fix variable query tag migration. #48587, @iwysiu
  • Plugins: Ensure catching all appropriate 4xx api/ds/query scenarios. #47565, @wbrowne

8.5.1 (2022-04-27)

Bug fixes

8.5.0 (2022-04-21)

Features and enhancements

  • Alerting: Add contact points provisioning API. #47197, @JohnnyQQQQ
  • Alerting: Add resolved count to notification title when both firing and resolved present. #46697, @JacobsonMT
  • Alerting: Alert rule should wait For duration when execution error state is Alerting. #47052, @grobinson-grafana
  • Alerting: Classic conditions can now display multiple values. #46971, @gotjosh
  • Alerting: Display query from grafana-managed alert rules on /api/v1/rules. #45969, @gotjosh
  • Alerting: Enhance support for arbitrary group names in managed alerts. #47785, @gillesdemey
  • Alerting: add field for custom slack endpoint. #45751, @nathanrodman
  • Azure Monitor : Adding json formatting of error messages in Panel Header Corner and Inspect Error Tab. #44877, @yaelleC
  • Azure Monitor: Add 2 more Curated Dashboards for VM Insights. #45187, @jcolladokuri
  • CloudWatch: Handle new error codes for MetricInsights. #47033, @Gabrielopesantos
  • Dashboards: show changes in save dialog. #46557, @ryantxu
  • DataSource: Default data source is no longer a persisted state but just the default data source for new panels. #45132, @torkelo
  • DataSourcePlugin API: Allow queries import when changing data source type. #47435, @dprokop
  • Explore: Remove return to panel button. #45018, @gelicia
  • Explore: allow users to save Explore state to a new panel in a new dashboard. #45148, @Elfo404
  • Instrumentation: Proxy status code correction and various improvements. #47473, @marefr
  • Logging: Introduce feature toggle to activate gokit/log format. #47336, @ying-jeanne
  • NewsPanel: Add support for Atom feeds. #45390, @kaydelaney
  • Plugins: Add deprecation notice for /api/tsdb/query endpoint. #45238, @wbrowne
  • Plugins: Adding support for traceID field to accept variables. #45559, @vinisdl
  • PostgreSQL: __unixEpochGroup to support arithmetic expression as argument. #46764, @s0nik42
  • Profile/Help: Expose option to disable profile section and help menu. #46308, @cameronwaterman
  • Prometheus: Enable new visual query builder by default. #46634, @torkelo
  • SAML: Allow disabling of SAML signups. #47481, @mmandrus
  • SAML: Allow disabling of SAML signups. (Enterprise)
  • Table: New pagination option. #45732, @zoltanbedi
  • TablePanel: Add cell inspect option. #45620, @dprokop
  • Tempo / Trace Viewer: Support Span Links in Trace Viewer. #45632, @Shachi16
  • Tempo: Download span references in data inspector. #47074, @connorlindsey
  • Tempo: Separate trace to logs and loki search datasource config. #46655, @connorlindsey
  • Trace View: Show number of child spans. #44393, @tharun208
  • Transformations: Support escaped characters in key-value pair parsing. #47901, @aangelisc

Bug fixes

  • Azure Monitor: Bug Fix for incorrect variable cascading for template variables. #47478, @jcolladokuri
  • CloudWatch: List all metrics properly in SQL autocomplete. #45898, @sunker
  • CloudWatch: Run query on blur in logs query field. #47454, @fridgepoet
  • Dashboard: Template variables are now correctly persisted when clicking breadcrumb links. #46790, @ashharrison90
  • DashboardPage: Remember scroll position when coming back panel edit / view panel. #47639, @torkelo
  • Panel Edit: Options search now works correctly when a logarithmic scale option is set. #47927, @ashharrison90
  • Postgres: Return tables with hyphenated schemes. #45754, @zuchka
  • Table panel: Fix horizontal scrolling when pagination is enabled. #47776, @dprokop
  • Variables: Ensure variables in query params are correctly recognised. #47049, @ashharrison90
  • Variables: Fix crash when changing query variable datasource. #44957, @joshhunt
  • Visualizations: Stack negative-valued series downwards. #47373, @leeoniya

Breaking changes

For a proxied request, e.g. Grafana's datasource or plugin proxy:

  • If the request is cancelled, e.g. from the browser/by the client, the HTTP status code is now 499 Client closed request instead of 502 Bad gateway
  • If the request times out, e.g. takes longer time than allowed, the HTTP status code is now 504 Gateway timeout instead of 502 Bad gateway. Issue #47473

The change in behavior is that negative-valued series are now stacked downwards from 0 (in their own stacks), rather than downwards from the top of the positive stacks. We now automatically group stacks by Draw style, Line interpolation, and Bar alignment, making it impossible to stack bars on top of lines, or smooth lines on top of stepped lines. Issue #47373

The meaning of the default data source has now changed from being a persisted property in a panel. Before when you selected the default data source for a panel and later changed the default data source to another data source it would change all panels who were configured to use the default data source. From now on the default data source is just the default for new panels and changing the default will not impact any currently saved dashboards. Issue #45132

The Tooltip component provided by @grafana/ui is no longer automatically interactive (that is you can hover onto it and click a link or select text). It will from now on by default close automatically when you mouse out from the trigger element. To make tooltips behave like before set the new interactive property to true.
Issue #45053

Deprecations

/api/tsdb/query API has been deprecated and will be removed in a future release. Use /api/ds/query instead. Issue #45238

Plugin development fixes & changes

8.5.0-beta1 (2022-04-06)

Features and enhancements

  • Add config option to enable/disable reporting. (Enterprise)
  • Alerting: Accurately set value for prom-compatible APIs. #47216, @gotjosh
  • Alerting: Provisioning API - Notification Policies. #46755, @alexweav
  • Alerting: Notification URL points to alert view page instead of alert edit page. #47752, @joeblubaugh
  • Analytics: Enable grafana and plugin update checks to be operated independently. #46352, @wbrowne
  • Azure Monitor: Add support for multiple template variables in resource picker. #46215, @sarahzinger
  • Caching: Add separate TTL for resources cache. (Enterprise)
  • Caching: add support for TLS configuration for Redis Cluster. (Enterprise)
  • NewsPanel: Remove Use Proxy option and update documentation with recommendations. #47189, @joshhunt
  • OAuth: Sync GitHub OAuth user name to Grafana if it's set. #45438, @pallxk

Bug fixes

  • Plugins: Fix Default Nav URL for dashboard includes. #47143, @wbrowne

Breaking changes

When user is using Github OAuth, GitHub login is showed as both Grafana login and name. Now the GitHub name is showed as Grafana name, and GitHub login is showed as Grafana Login. Issue #45438

The meaning of the default data source has now changed from being a persisted property in a panel. Before when you selected the default data source for a panel and later changed the default data source to another data source it would change all panels who were configured to use the default data source. From now on the default data source is just the default for new panels and changing the default will not impact any currently saved dashboards. Issue #45132

8.4.10 (2022-07-14)

Bug fixes

8.4.7 (2022-04-19)

Features and enhancements

Bug fixes

  • API: Include userId, orgId, uname in request logging middleware. #47183, @marefr
  • Elasticsearch: Respect maxConcurrentShardRequests datasource setting. #47120, @alexandrst88

8.4.6 (2022-04-12)

  • Security: Fixes CVE-2022-24812. For more information, see our blog

8.4.5 (2022-03-31)

Features and enhancements

  • Instrumentation: Make backend plugin metrics endpoints available with optional authentication. #46467, @marefr
  • Table panel: Show datalinks for cell display modes JSON View and Gauge derivates. #46020, @mdvictor

Bug fixes

  • Azure Monitor: Small bug fixes for Resource Picker. #46665, @sarahzinger
  • Logger: Use specified format for file logger. #46970, @sakjur
  • Logs: Handle missing fields in dataframes better. #46963, @gabor
  • ManageDashboards: Fix error when deleting all dashboards from folder view. #46877, @joshhunt

8.4.4 (2022-03-16)

Features and enhancements

  • Loki: Add unpack to autocomplete suggestions (#44623). #46573, @glintik
  • Plugins: allow using both Function and Class components for app plugins. #46148, @leventebalogh
  • TimeSeries: Add migration for Graph panel's transform series override. #46577, @dprokop
  • TimeSeries: Preserve null/undefined values when performing negative y transform. #46584, @dprokop

Bug fixes

  • CloudWatch: Use default http client from aws-sdk-go. #46370, @sunker
  • Dashboards: Fixes repeating by row and no refresh. #46565, @torkelo
  • Gauge: Fixes blank viz when data link exists and orientation was horizontal. #46335, @torkelo
  • Search: sort results correctly when using postgres. #46466, @xlson
  • TagsInput: fix tags remove button accessibility issues. #46254, @Elfo404
  • TextPanel: Sanitize after markdown has been rendered to html. #46166, @ashharrison90

8.4.3 (2022-03-02)

Features and enhancements

  • Alerting: Grafana uses > instead of >= when checking the For duration. #46010
  • Alerting: Use expanded labels in dashboard annotations. #45726, @grobinson-grafana
  • Logs: Escape windows newline into single newline. #45771, @perosb

Bug fixes

  • Alerting: Fix use of > instead of >= when checking the For duration. #46011, @grobinson-grafana
  • Azure Monitor: Fixes broken log queries that use workspace. #45820, @sunker
  • CloudWatch: Remove error message when using multi-valued template vars in region field. #45886, @sunker
  • Middleware: Fix IPv6 host parsing in CSRF check. #45911, @ying-jeanne

Plugin development fixes & changes

8.4.2 (2022-02-23)

Features and enhancements

  • OAuth: Add setting to skip org assignment for external users. #34834, @baez90
  • Tracing: Add option to map tag names to log label names in trace to logs settings. #45178, @connorlindsey

Bug fixes

  • Explore: Fix closing split pane when logs panel is used. #45602, @ifrost

8.4.1 (2022-02-18)

Features and enhancements

  • Cloudwatch: Add support for AWS/PrivateLink* metrics and dimensions. #45515, @szymonpk
  • Configuration: Add ability to customize okta login button name and icon. #44079, @DanCech
  • Tempo: Switch out Select with AsyncSelect component to get loading state in Tempo Search. #45110, @CatPerry

Bug fixes

8.4.0 (2022-02-16)

Features and enhancements

  • API: Extract OpenAPI specification from source code using go-swagger. #40528, @papagian
  • AccessControl: Disable user remove and user update roles when they do not have the permissions. #43429, @Jguer
  • AccessControl: Provisioning for teams. #43767, @gamab
  • API: Add usage stats preview endpoint. #43899, @Jguer
  • Alerting: Move slow queries in the scheduler to another goroutine. #44423, @grobinson-grafana
  • Alerting: Use time.Ticker instead of alerting.Ticker in ngalert. #44395, @grobinson-grafana
  • Alerting: add custom grouping to Alert Panel. #44559, @gillesdemey
  • Analytics: Add user id tracking to google analytics. #42763, @autoric
  • Angular: Add AngularJS plugin support deprecation plan to docs site. #45149, @torkelo
  • Auth: implement auto_sign_up for auth.jwt. #43502, @sakjur
  • Azure Monitor Logs: Order subscriptions in resource picker by name. #45228, @sunker
  • Azure monitor Logs: Optimize data fetching in resource picker. #44549, @sunker
  • AzureMonitor: Filter list of resources by resourceType. #43522, @andresmgot
  • BarChart: color by field, x time field, bar radius, label skipping. #43257, @leeoniya
  • Chore: Implement OpenTelemetry in Grafana. #42674, @idafurjes
  • Cloud Monitoring: Adds metric type to Metric drop down options. #43268, @tw1nk
  • CloudWatch: Add Data Lifecycle Manager metrics and dimension. #43310, @ilyastoli
  • CloudWatch: Add Missing Elasticache Host-level metrics. #43455, @dhendo
  • CloudWatch: Add all ElastiCache Redis Metrics. #43336, @siavashs
  • CloudWatch: Add new AWS/ES metrics. #43034, @sunker
  • Cloudwatch: Add syntax highlighting and autocomplete for "Metric Search". #43985, @sarahzinger
  • Explore: Support custom display label for exemplar links for Prometheus datasource. #42732, @JokerQueue
  • Hotkeys: Make time range absolute/permanent. #43802, @davkal
  • Playlists: Enable sharing direct links to playlists. #44161, @ashharrison90
  • SQLStore: Prevent concurrent migrations. #44101, @papagian
  • SSE: Add Mode to drop NaN/Inf/Null in Reduction operations. #43583, @kylebrandt
  • Setting: Support configuring feature toggles with bools instead of just passing an array. #43326, @bergquist
  • TimeSeries: Add support for negative Y and constant transform. #44774, @dprokop
  • Transformations: Add 'JSON' field type to ConvertFieldTypeTransformer. #42624, @sd2k

Bug fixes

  • Auth: Guarantee consistency of signed SigV4 headers. #45054, @wbrowne
  • CloudWatch: Fix MetricName resetting on Namespace change. #44165, @yaelleC
  • Cloudwatch : Fixed resetting metric name when changing namespace in Metric Query. #44612, @yaelleC
  • Explore: Avoid locking timepicker when range is inverted. #44790, @Elfo404
  • Instrumentation: Fix HTTP request instrumentation of authentication failures. #44234, @marefr
  • LibraryPanels: Prevent long descriptions and names from obscuring the delete button. #45190, @zuchka
  • OAuth: Fix parsing of ID token if header contains non-string value. #44159, @marefr
  • Panel Edit: Visualization search now works correctly with special characters. #45137, @ashharrison90
  • Provisioning: Fix duplicate validation when multiple organizations have been configured. #44151, @marefr
  • QueryField: Fix issue with undo history when suggestion is inserted (#28656). #39114, @glintik
  • TablePanel: Do not prefix columns with frame name if multiple frames and override active. #45174, @mdvictor

Deprecations

AngularJS plugin support is now in a deprecated state, meaning it will be removed in a future release. Currently, that is planned for version 10 (in 2023). The documentation site has an article with more details on why, when, and how. Issue #45149

8.4.0-beta1 (2022-02-02)

Features and enhancements

8.3.7 (2022-03-01)

Bug fixes

  • Provisioning: Ensure that the default value for orgID is set when provisioning datasources to be deleted. #44244, @filewalkwithme

8.3.6 (2022-02-09)

Features and enhancements

Bug fixes

8.3.5 (2022-02-08)

  • Security: Fixes CVE-2022-21702. For more information, see our blog
  • Security: Fixes CVE-2022-21703. For more information, see our blog
  • Security: Fixes CVE-2022-21713. For more information, see our blog

8.3.4 (2022-01-17)

Features and enhancements

  • Alerting: Allow configuration of non-ready alertmanagers. #43063, @alexweav
  • Alerting: Allow customization of Google chat message. #43568, @alexweav
  • Alerting: Allow customization of Google chat message (#43568). #43723, @alexweav
  • AppPlugins: Support app plugins with only default nav. #43016, @torkelo
  • InfluxDB: InfluxQL: query editor: skip fields in metadata queries. #42543, @gabor
  • Postgres/MySQL/MSSQL: Cancel in-flight SQL query if user cancels query in grafana. #43890, @mdvictor
  • Prometheus: Forward oauth tokens after prometheus datasource migration. #43686, @MasslessParticle

Bug fixes

  • Azure Monitor: Bug fix for variable interpolations in metrics dropdowns. #43251, @sarahzinger
  • Azure Monitor: Improved error messages for variable queries. #43213, @sunker
  • CloudMonitoring: Fixes broken variable queries that use group bys. #43914, @sunker
  • Configuration: You can now see your expired API keys if you have no active ones. #42452, @ashharrison90
  • Elasticsearch: Fix handling multiple datalinks for a single field. #44029, @Elfo404
  • Export: Fix error being thrown when exporting dashboards using query variables that reference the default datasource. #44034, @ashharrison90
  • ImportDashboard: Fixes issue with importing dashboard and name ending up in uid. #43451, @torkelo
  • Login: Page no longer overflows on mobile. #43739, @ashharrison90
  • Plugins: Set backend metadata property for core plugins. #43349, @marefr
  • Prometheus: Fill missing steps with null values. #43622, @ivanahuckova
  • Prometheus: Fix interpolation of $__rate_interval variable. #44035, @ivanahuckova
  • Prometheus: Interpolate variables with curly brackets syntax. #42927, @ivanahuckova
  • Prometheus: Respect the http-method data source setting. #42753, @gabor
  • Table: Fixes issue with field config applied to wrong fields when hiding columns. #43376, @torkelo
  • Toolkit: Fix bug with rootUrls not being properly parsed when signing a private plugin. #43014, @dessen-xu
  • Variables: Fix so data source variables are added to adhoc configuration. #43881, @hugohaggmark

Plugin development fixes & changes

  • Toolkit: Revert build config so tslib is bundled with plugins to prevent plugins from crashing. #43556, @mckn

8.3.3 (2021-12-10)

Features and enhancements

  • BarChart: Use new data error view component to show actions in panel edit. #42474, @torkelo
  • CloudMonitor: Iterate over pageToken for resources. #42546, @iwysiu
  • Macaron: Prevent WriteHeader invalid HTTP status code panic. #42973, @bergquist

Bug fixes

  • AnnoListPanel: Fix interpolation of variables in tags. #42318, @francoisdtm
  • CloudWatch: Allow queries to have no dimensions specified. #42800, @sunker
  • CloudWatch: Fix broken queries for users migrating from 8.2.4/8.2.5 to 8.3.0. #42611, @sunker
  • CloudWatch: Make sure MatchExact flag gets the right value. #42621, @sunker
  • Dashboards: Fix so that empty folders can be deleted from the manage dashboards/folders page. #42527, @ashharrison90
  • InfluxDB: Improve handling of metadata query errors in InfluxQL. #42500, @gabor
  • Loki: Fix adding of ad hoc filters for queries with parser and line_format expressions. #42590, @ivanahuckova
  • Prometheus: Fix running of exemplar queries for non-histogram metrics. #42749, @ivanahuckova
  • Prometheus: Interpolate template variables in interval. #42637, @ivanahuckova
  • StateTimeline: Fix toolitp not showing when for frames with multiple fields. #42741, @dprokop
  • TraceView: Fix virtualized scrolling when trace view is opened in right pane in Explore. #42480, @autoric
  • Variables: Fix repeating panels for on time range changed variables. #42828, @hugohaggmark
  • Variables: Fix so queryparam option works for scoped variables. #42742, @hugohaggmark

8.3.2 (2021-12-10)

8.3.1 (2021-12-07)

  • Security: Fixes CVE-2021-43798. For more information, see our blog

8.3.0 (2021-11-30)

Features and enhancements

Bug fixes

  • Alerting: Clear alerting rule evaluation errors after intermittent failures. #42386, @gotjosh
  • Alerting: Fix refresh on legacy Alert List panel. #42322, @peterholmberg
  • Dashboard: Fix queries for panels with non-integer widths. #42420, @gabor
  • Explore: Fix url update inconsistency. #42288, @gabor
  • Prometheus: Fix range variables interpolation for time ranges smaller than 1 second. #42242, @ivanahuckova
  • ValueMappings: Fixes issue with regex value mapping that only sets color. #42311, @torkelo

8.3.0-beta2 (2021-11-25)

Features and enhancements

  • Alerting: Create DatasourceError alert if evaluation returns error. #41869, @gerobinson
  • Alerting: Make Unified Alerting enabled by default for those who do not use legacy alerting. #42200, @armandgrillet
  • Alerting: Support mute timings configuration through the api for the embedded alert manager. #41533, @JohnnyQQQQ
  • CloudWatch: Add missing AWS/Events metrics. #42164, @n2N8Z
  • Docs: Add easier to find deprecation notices to certain data sources and to the changelog. #41938, @gabor
  • Plugins Catalog: Enable install controls based on the pluginAdminEnabled flag. #41686, @leventebalogh
  • Query caching: Increase max_value_mb default to 10. (Enterprise)
  • Table: Add space between values for the DefaultCell. #42246, @kirederik
  • Table: Add space between values on JSONViewCell. #42156, @kirederik
  • Tracing: Make query editors available in dashboard for Tempo and Zipkin. #41974, @ivanahuckova

Bug fixes

Breaking changes

Grafana 8 Alerting enabled by default for installations that do not use legacy alerting

Starting with Grafana v8.3.0, if you have not explicitly disabled unified alerting and do not have legacy alerts set up you are automatically "migrated" to Grafana 8 Alerting.

A migration from legacy to Grafana 8 Alerting will never incur a data loss, as the previous data is kept around for rollback purposes. However, going from Grafana 8 Alerting to legacy alerting will delete all the data created for Grafana 8 Alerting. It is recommended that you backup your database before attempting a migration between systems.

If unclear, please verify the table below:

[alerting][enabled] [unified_alerting][enabled] With Existing Legacy Alerts Result
true true N/A Error
true false N/A Legacy Alerting
true not set Yes Legacy Alerting
true not set No Grafana 8 Alerting
not set true N/A Grafana 8 Alerting
not set false N/A Legacy Alerting
not set not set Yes Legacy Alerting
not set not set No Grafana 8 Alerting
false true N/A Grafana 8 Alerting
false false N/A Alerting disabled
false not set N/A Grafana 8 Alerting

N/A in the "With Existing Legacy Alerts" column means that it does not matter if you have legacy alerts or not. Issue #42200

Keep Last State for "If execution error or timeout" when upgrading to Grafana 8 alerting

In Grafana 8.3.0-beta2 we changed how alert rules that use Keep Last State for If execution error or timeout are upgraded from Legacy Alerting to Grafana 8 alerting. In 8.3.0-beta1 and earlier, alert rules with Keep Last State for If execution error or timeout were changed to Alerting when upgrading from Legacy Alerting to Grafana 8 alerting. However, in 8.3.0-beta2 these alert rules are now upgraded to a new option called Error. With this option, on encountering an error evaluating an alert rule, Grafana creates a special alert called DatasourceError with the rule_uid and ref_id as labels and an annotation called Error with the error message. Issue #41869

Deprecations

The access mode "browser" is deprecated in the following data sources and will be removed in a later release:

  • Prometheus
  • InfluxDB
  • Elasticsearch Issue #41938

Plugin development fixes & changes

8.3.0-beta1 (2021-11-18)

Features and enhancements

  • AccessControl: Apply role-based access control to licensing. (Enterprise)
  • Alerting: Add UI for contact point testing with custom annotations and labels. #40491, @nathanrodman
  • Alerting: Make alert state indicator in panel header work with Grafana 8 alerts. #38713, @domasx2
  • Alerting: Option for Discord notifier to use webhook name. #40463, @Skyebold
  • Annotations: Deprecate AnnotationsSrv. #39631, @hugohaggmark
  • Auditing: Add audit logs for unified alerting endpoints. (Enterprise)
  • Auditing: Add endpoints (plugins, datasources, library elements). (Enterprise)
  • Auth: Omit all base64 paddings in JWT tokens for the JWT auth. #35602, @gillg
  • Azure Monitor: Clean up fields when editing Metrics. #41762, @andresmgot
  • AzureMonitor: Add new starter dashboards. #39876, @jcolladokuri
  • AzureMonitor: Add starter dashboard for app monitoring with Application Insights. #40725, @jcolladokuri
  • Barchart/Time series: Allow x axis label. #41142, @oscarkilhed
  • CLI: Improve error handling for installing plugins. #41257, @marefr
  • CloudMonitoring: Migrate to use backend plugin SDK contracts. #38650, @idafurjes
  • CloudWatch Logs: Add retry strategy for hitting max concurrent queries. #39290, @aocenas
  • CloudWatch: Add AWS RoboMaker metrics and dimension. #41450, @ilyastoli
  • CloudWatch: Add AWS Transfer metrics and dimension. #41168, @ilyastoli
  • Dashboard: replace datasource name with a reference object. #33817, @ryantxu
  • Dashboards: Show logs on time series when hovering. #40110, @ryantxu
  • Elasticsearch: Add support for Elasticsearch 8.0 (Beta). #41729, @Elfo404
  • Elasticsearch: Add time zone setting to Date Histogram aggregation. #40882, @Elfo404
  • Elasticsearch: Enable full range log volume histogram. #41202, @ifrost
  • Elasticsearch: Full range logs volume. #40700, @ifrost
  • Explore: Allow changing the graph type. #40522, @gabor
  • Explore: Show ANSI colors when highlighting matched words in the logs panel. #40971, @oliverfrye
  • Graph(old) panel: Listen to events from Time series panel. #41033, @zoltanbedi
  • Import: Load gcom dashboards from URL. #41799, @ashharrison90
  • LibraryPanels: Improves export and import of library panels between orgs. #39214, @hugohaggmark
  • OAuth: Support PKCE. #39948, @sakjur
  • Panel edit: Overrides now highlight correctly when searching. #41684, @ashharrison90
  • PanelEdit: Display drag indicators on draggable sections. #41711, @ashharrison90
  • Plugins: Refactor Plugin Management. #40477, @wbrowne
  • Prometheus: Add custom query parameters when creating PromLink url. #41213, @Ian-Yy
  • Prometheus: Remove limits on metrics, labels, and values in Metrics Browser. #40660, @autoric
  • StateTimeline: Share cursor with rest of the panels. #41038, @zoltanbedi
  • Tempo: Add error details when json upload fails. #41803, @aocenas
  • Tempo: Add filtering for service graph query. #41162, @aocenas
  • Tempo: Add links to nodes in Service Graph pointing to Prometheus metrics. #41135, @aocenas
  • Time series/Bar chart panel: Add ability to sort series via legend. #40226, @zoltanbedi
  • TimeSeries: Allow multiple axes for the same unit. #41635, @dprokop
  • TraceView: Allow span links defined on dataFrame. #40563, @aocenas
  • Transformations: Support a rows mode in labels to fields. #41020, @ryantxu
  • ValueMappings: Don't apply field config defaults to time fields. #41132, @torkelo
  • Variables: Only update panels that are impacted by variable change. #39420, @hugohaggmark

Bug fixes

  • API: Fix dashboard quota limit for imports. #41495, @yangkb09
  • Alerting: Fix rule editor issues with Azure Monitor data source. #41317, @domasx2
  • Azure monitor: Make sure alert rule editor is not enabled when template variables are being used. #41335, @sunker
  • CloudMonitoring: Fix annotation queries. #41529, @sunker
  • CodeEditor: Trigger the latest getSuggestions() passed to CodeEditor. #40544, @DukeManh
  • Dashboard: Remove the current panel from the list of options in the Dashboard datasource. #41826, @ashharrison90
  • Encryption: Fix decrypting secrets in alerting migration. #41061, @undef1nd
  • InfluxDB: Fix corner case where index is too large in ALIAS field. #41562, @gabor
  • NavBar: Order App plugins alphabetically. #40078, @ashharrison90
  • NodeGraph: Fix zooming sensitivity on touchpads. #40718, @aocenas
  • Plugins: Add OAuth pass-through logic to api/ds/query endpoint. #41352, @wbrowne
  • Snapshots: Fix panel inspector for snapshot data. #41530, @joshhunt
  • Tempo: Fix basic auth password reset on adding tag. #41808, @aocenas
  • ValueMapping: Fixes issue with regex mappings. #41515, @mcdee

Plugin development fixes & changes

8.2.7 (2021-12-07)

  • Security: Fixes CVE-2021-43798. For more information, see our blog

8.2.6 (2021-12-02)

Features and enhancements

Bug fixes

  • TimeSeries: Fix fillBelowTo wrongly affecting fills of unrelated series. #41998, @leeoniya

8.2.5 (2021-11-18)

Bug fixes

  • Alerting: Fix a bug where the metric in the evaluation string was not correctly populated. #41731, @JohnnyQQQQ
  • Alerting: Fix no data behaviour in Legacy Alerting for alert rules using the AND operator. #41305, @gerobinson
  • CloudMonitoring: Ignore min and max aggregation in MQL queries. #41302, @sunker
  • Dashboards: 'Copy' is no longer added to new dashboard titles. #41344, @joshhunt
  • DataProxy: Fix overriding response body when response is a WebSocket upgrade. #41364, @marefr
  • Elasticsearch: Use field configured in query editor as field for date_histogram aggregations. #41258, @Elfo404
  • Explore: Fix running queries without a datasource property set. #40805, @Elfo404
  • InfluxDB: Fix numeric aliases in queries. #41531, @gabor
  • Plugins: Ensure consistent plugin settings list response. #41346, @wbrowne
  • Tempo: Fix validation of float durations. #41400, @ivanahuckova
  • Tracing: Correct tags for each span are shown. #41473, @ivanahuckova

Breaking changes

Fix No Data behaviour in Legacy Alerting

In Grafana 8.2.5 and later, this change fixes a bug in the evaluation of alert rules when using the AND operator to compare two or more conditions. In Grafana 8.2.4 and earlier such alert rules would evaluate to OK if at least one, but not all, conditions returned no data. This change fixes that bug such that in Grafana 8.2.5 these alert rules now evaluate to No Data.

If an alert should evaluate to OK when one or all conditions return No Data then this can be done via changing If no data or all values are null to OK. However, this will not preserve the old behaviour in 8.2.4 where an alert will be OK if at least one, but not all, conditions return no data and then No Data if all conditions return No Data. Issue #41305

8.2.4 (2021-11-15)

  • Security: Fixes CVE-2021-41244. For more information, see our blog

8.2.3 (2021-11-03)

  • Security: Fixes CVE-2021-41174. For more information, see our blog

8.2.2 (2021-10-21)

Features and enhancements

  • Annotations: We have improved tag search performance. #40567, @ashharrison90
  • Application: You can now configure an error-template title. #40310, @benrubson
  • AzureMonitor: We removed a restriction from the resource filter query. #40690, @andresmgot
  • Caching: Make cache size metric collection optional. (Enterprise)
  • Packaging: We removed the ProcSubset option in systemd. This option prevented Grafana from starting in LXC environments. #40339, @kminehart
  • Prometheus: We removed the autocomplete limit for metrics. #39363, @ivanahuckova
  • Request interceptor: Allow MSSQL's named instances. (Enterprise)
  • Table: We improved the styling of the type icons to make them more distinct from column / field name. #40596, @torkelo
  • ValueMappings: You can now use value mapping in stat, gauge, bar gauge, and pie chart visualizations. #40612, @torkelo

Bug fixes

  • Alerting: Fix panic when Slack's API sends unexpected response. #40721, @santihernandezc
  • Alerting: The Create Alert button now appears on the dashboard panel when you are working with a default datasource. #40334, @domasx2
  • Explore: We fixed the problem where the Explore log panel disappears when an Elasticsearch logs query returns no results. #40217, @Elfo404
  • Graph: You can now see annotation descriptions on hover. #40581, @axelavargas
  • Logs: The system now uses the JSON parser only if the line is parsed to an object. #40507, @ivanahuckova
  • Prometheus: We fixed the issue where the system did not reuse TCP connections when querying from Grafana Alerting. #40349, @kminehart
  • Prometheus: We fixed the problem that resulted in an error when a user created a query with a $__interval min step. #40525, @ivanahuckova
  • RowsToFields: We fixed the issue where the system was not properly interpreting number values. #40580, @torkelo
  • Scale: We fixed how the system handles NaN percent when data min = data max. #40622, @torkelo
  • Table panel: You can now create a filter that includes special characters. #40458, @dprokop

8.2.1 (2021-10-11)

Bug fixes

8.2.0 (2021-10-07)

Features and enhancements

  • AWS: Updated AWS authentication documentation. #39236, @sunker
  • Alerting: Added support Alertmanager data source for upstream Prometheus AM implementation. #39775, @domasx2
  • Alerting: Allows more characters in label names so notifications are sent. #38629, @gotjosh
  • Alerting: Get alert rules for a dashboard or a panel using /api/v1/rules endpoints. #39476, @gerobinson
  • Annotations: Improved rendering performance of event markers. #39984, @torkelo
  • CloudWatch Logs: Skip caching for log queries. #39860, @aocenas
  • Explore: Added an opt-in configuration for Node Graph in Jaeger, Zipkin, and Tempo. #39958, @connorlindsey
  • Packaging: Add stricter systemd unit options. #38109, @erdnaxe
  • Prometheus: Metrics browser can now handle label values with special characters. #39713, @gabor

Bug fixes

  • CodeEditor: Ensure that we trigger the latest onSave callback provided to the component. #39835, @mckn
  • DashboardList/AlertList: Fix for missing All folder value. #39772, @hugohaggmark

Breaking changes

Potential failure to start in Ubuntu 18.04 / Debian 9 / CentOS

  • In Grafana v8.2.0, this change can prevent the grafana-server service from starting on older versions of systemd, present on Ubuntu 18.04 and slightly older versions of Debian. If running one of those versions, please wait until v8.2.1 is released before upgrading. If you still want to upgrade or have already ugpraded, a simple fix is available here: grafana#40162 (comment) Issue #38109

Plugin development fixes & changes

  • Plugins: Create a mock icon component to prevent console errors. #39901, @jackw

8.2.0-beta2 (2021-09-30)

Features and enhancements

  • AccessControl: Document new permissions restricting data source access. #39091, @gamab
  • TimePicker: Add fiscal years and search to time picker. #39073, @oscarkilhed
  • Alerting: Added support for Unified Alerting with Grafana HA. #37920, @gotjosh
  • Alerting: Added support for tune rule evaluation using configuration options. #35623, @papagian
  • Alerting: Cleanups alertmanager namespace from key-value store when disabling Grafana 8 alerts. #39554, @papagian
  • Alerting: Remove ngalert feature toggle and introduce two new settings for enabling Grafana 8 alerts and disabling them for specific organisations. #38746, @papagian
  • CloudWatch: Introduced new math expression where it is necessary to specify the period field. #39458, @sunker
  • InfluxDB: Added support for $__interval and $__interval_ms in Flux queries for alerting. #38889, @gabor
  • InfluxDB: Flux queries can use more precise start and end timestamps with nanosecond-precision. #39415, @gabor
  • Plugins Catalog: Make the catalog the default way to interact with plugins. #39779, @leventebalogh
  • Prometheus: Removed autocomplete limit for metrics. #39363, @ivanahuckova

Bug fixes

  • Alerting: Fixed an issue where the edit page crashes if you tried to preview an alert without a condition set. #39659, @peterholmberg
  • Alerting: Fixed rules migration to keep existing Grafana 8 alert rules. #39541, @yuri-tceretian
  • Alerting: Fixed the silence file content generated during migration. #39557, @papagian
  • Analytics: Fixed an issue related to interaction event propagation in Azure Application Insights. #39752, @sunker
  • BarGauge: Fixed an issue where the cell color was lit even though there was no data. #39574, @ashharrison90
  • BarGauge: Improved handling of streaming data. #39737, @ashharrison90
  • CloudMonitoring: Fixed INT64 label unmarshal error. #39441, @bspellmeyer
  • ConfirmModal: Fixes confirm button focus on modal open. #39328, @torkelo
  • Dashboard: Add option to generate short URL for variables with values containing spaces. #39552, @hugohaggmark
  • Explore: No longer hides errors containing refId property. #39504, @Elfo404
  • Fixed an issue that produced State timeline panel tooltip error when data was not in sync. #39438, @zoltanbedi
  • InfluxDB: InfluxQL query editor is set to always use resultFormat. #39330, @gabor
  • Loki: Fixed creating context query for logs with parsed labels. #39648, @ivanahuckova
  • PageToolbar: Fixed alignment of titles. #39572, @ashharrison90
  • Plugins Catalog: Update to the list of available panels after an install, update or uninstall. #39293, @leventebalogh
  • TimeSeries: Fixed an issue where the shared cursor was not showing when hovering over in old Graph panel. #39738, @zoltanbedi
  • Variables: Fixed issues related to change of focus or refresh pages when pressing enter in a text box variable input. #39666, @hugohaggmark
  • Variables: Panel no longer crash when using the adhoc variable in data links. #39546, @hugohaggmark

Breaking changes

Grafana v8.2.0-beta1 caused data loss for users having enabled ngalert in 8.0.x - 8.1.x and created alerts using the new alerting system. This issue is now fixed except if the deployment has multiple organizations and the feature flag was enabled in the previous version (8.0.x - 8.1.x).

In this scenario (upgrade from 8.0.x - 8.1.x with multiple organizations and ngalert enabled to 8.2.0-beta2), the migration will assign existing notification policies and contact points to the first organization and then apply the default alertmanager configuration to all organizations. This will effectively reset notification policies for all organizations. Issue #39541

Deprecations

ngalert feature toggle it has been deprecated it will be removed in a future release. To enable Grafana 8 alerts, modify your configuration and:

  • in the unified_alerting section set the enabled property to true
  • in the alerting section set the enabled property to false Issue #38746

8.2.0-beta1 (2021-09-16)

Features and enhancements

  • AccessControl: Introduce new permissions to restrict access for reloading provisioning configuration. #38906, @vtorosyan
  • Admin: Update license page UI. (Enterprise)
  • Alerting: Add UI to edit Cortex/Loki namespace, group names, and group evaluation interval. #38543, @domasx2
  • Alerting: Add a Test button to test contact point. #37475, @domasx2
  • Alerting: Allow creating/editing recording rules for Loki and Cortex. #38064, @domasx2
  • Alerting: Metrics should have the label org instead of user. #39353, @gotjosh
  • Alerting: Sort notification channels by name to make them easier to locate. #37426, @jstangroome
  • Alerting: Support org level isolation of notification configuration. #37414, @papagian
  • AzureMonitor: Add data links to deep link to Azure Portal Azure Resource Graph. #35591, @shuotli
  • AzureMonitor: Add support for annotations from Azure Monitor Metrics and Azure Resource Graph services. #37633, @joshhunt
  • AzureMonitor: Show error message when subscriptions request fails in ConfigEditor. #37837, @joshhunt
  • Chore: Update to Golang 1.16.7. #38604, @dsotirakis
  • CloudWatch Logs: Add link to X-Ray data source for trace IDs in logs. #39135, @aocenas
  • CloudWatch Logs: Disable query path using websockets (Live) feature. #39231, @aocenas
  • CloudWatch/Logs: Don't group dataframes for non time series queries. #37998, @aocenas
  • Cloudwatch: Migrate queries that use multiple stats to one query per stat. #36925, @sunker
  • Dashboard: Keep live timeseries moving left (v2). #37769, @ryantxu
  • Datasources: Introduce response_limit for datasource responses. #38962, @dsotirakis
  • Explore: Add filter by trace or span ID to trace to logs feature. #38943, @connorlindsey
  • Explore: Download traces as JSON in Explore Inspector. #38614, @connorlindsey
  • Explore: Reuse Dashboard's QueryRows component. #38942, @Elfo404
  • Explore: Support custom display label for derived fields buttons for Loki datasource. #37273, @connorlindsey
  • Grafana UI: Update monaco-related dependencies. #39027, @gabor
  • Graphite: Deprecate browser access mode. #38783, @ifrost
  • InfluxDB: Improve handling of intervals in alerting. #37588, @gabor
  • InfluxDB: InfluxQL query editor: Handle unusual characters in tag values better. #39170, @gabor
  • Introduce "monitored queries" service. (Enterprise)
  • Jaeger: Add ability to upload JSON file for trace data. #37205, @zoltanbedi
  • LibraryElements: Enable specifying UID for new and existing library elements. #39019, @hugohaggmark
  • LibraryPanels: Remove library panel icon from the panel header so you can no longer tell that a panel is a library panel from the dashboard view. #38749, @hugohaggmark
  • Logs panel: Scroll to the bottom on page refresh when sorting in ascending order. #37634, @ivanahuckova
  • Loki: Add fuzzy search to label browser. #36864, @connorlindsey
  • Navigation: Implement active state for items in the Sidemenu. #39030, @ashharrison90
  • Packaging: Add stricter systemd unit options. #38109, @erdnaxe
  • Packaging: Update PID file location from /var/run to /run. #35739, @MichaIng
  • Plugins: Add Hide OAuth Forward config option. #36306, @wbrowne
  • Postgres/MySQL/MSSQL: Add setting to limit the maximum number of rows processed. #38986, @marefr
  • Prometheus: Add browser access mode deprecation warning. #37578, @ivanahuckova
  • Prometheus: Add interpolation for built-in-time variables to backend. #39051, @ivanahuckova
  • Recorded Queries: Finish rest API endpoints. (Enterprise)
  • Reporting: enable creating reports from dashboard. (Enterprise)
  • Tempo: Add ability to upload trace data in JSON format. #37407, @zoltanbedi
  • TimeSeries/XYChart: Allow grid lines visibility control in XYChart and TimeSeries panels. #38502, @dprokop
  • Transformations: Convert field types to time string number or boolean. #38517, @nikki-kiga
  • Usage Insights: Support writing events to Grafana's log. (Enterprise)
  • Value mappings: Add regular-expression based value mapping. #38931, @mcdee
  • Zipkin: Add ability to upload trace JSON. #37483, @zoltanbedi

Bug fixes

  • Admin: Prevent user from deleting user's current/active organization. #38056, @idafurjes
  • LibraryPanels: Fix library panel getting saved in the dashboard's folder. #38978, @hugohaggmark
  • OAuth: Make generic teams URL and JMES path configurable. #37233, @djairhogeuens
  • QueryEditor: Fix broken copy-paste for mouse middle-click (#39117). #39117, @glintik
  • Thresholds: Fix undefined color in "Add threshold". #39113, @glintik
  • Timeseries: Add wide-to-long, and fix multi-frame output. #38670, @ryantxu
  • TooltipPlugin: Fix behavior of Shared Crosshair when Tooltip is set to All. #37285, @nikki-kiga

Breaking changes

The monaco-editor dependency in grafana-ui has been updated to a newer version (0.27.0), which is not completely backward compatible with the old version (0.21.2). The backward incompatible changes are fairly small, but they do exist, so if your code accesses the raw monaco-objects through the grafana-ui package, please check the monaco-editor changelog and apply any necessary changes. Issue #39027

The mandatory css prop in grafana/ui components has been removed.

Previous versions of grafana/ui components were typed incorrectly due to a dependency mismatch between emotion 10 and 11 causing a css prop to be added to components that extended react types. Issue #38078

Unified Alerting (Grafana 8 Alerting) data loss

Grafana v8.2 fixed an issue with org isolation for notification configuration but to fix this Grafana will now re-run the migration from old alerting and this will cause complete removal of all new alert rules and notification configurations. This data loss is not something we find acceptable and are working on ways to mitigate it. So in the meantime, if you are an early adopter of unified alerting please wait with trying v8.2 beta. Issue #37414

Panel queries and/or annotation queries that used more than one statistic will be converted into one query/annotation per statistic. In case an alerting rule was based on a query row that had more than one statistic, it would now be based only on the first statistic for that query row. New alerting rules will not be created for migrated queries. Please note that in most cases it would not make sense to have an alerting rule that is based on multiple statistics anyway. Issue #36925

Deprecations

getHighlighterExpressions in datasource APIs ( used to highlight logs while editing queries) has been deprecated and will be removed in a future release.

Deprecation notice

ExploreQueryFieldProps interface for query editors has been deprecated and will be removed in a future release. Use QueryEditorProps instead. Issue #38942

Plugin development fixes & changes

  • Grafana UI: Fix TS error property css is missing in type. #38078, @jackw

8.1.8 (2021-12-07)

  • Security: Fixes CVE-2021-43798. For more information, see our blog

8.1.7 (2021-10-06)

Bug fixes

  • Alerting: Fix alerts with evaluation interval more than 30 seconds resolving before notification. #39513, @gerobinson
  • Elasticsearch/Prometheus: Fix usage of proper SigV4 service namespace. #39439, @marefr

8.1.6 (2021-10-05)

  • Security: Fixes CVE-2021-39226. For more information, see our blog

8.1.5 (2021-09-21)

Bug fixes

  • BarChart: Fixes panel error that happens on second refresh. #39304, @DanCech

8.1.4 (2021-09-16)

Features and enhancements

Bug fixes

8.1.3 (2021-09-08)

Bug fixes

  • Alerting: Fix alert flapping in the internal alertmanager. #38648, @gotjosh
  • Alerting: Fix request handler failed to convert dataframe "results" to plugins.DataTimeSeriesSlice: input frame is not recognized as a time series. #38587, @idafurjes
  • Dashboard: Fix UIDs are not preserved when importing/creating dashboards thru importing .json file. #38659, @axelavargas
  • Dashboard: Forces panel re-render when exiting panel edit. #38913, @hugohaggmark
  • Dashboard: Prevent folder from changing when navigating to general settings. #38103, @hugohaggmark
  • Docker: Force use of libcrypto1.1 and libssl1.1 versions to fix CVE-2021-3711. #38585, @dsotirakis
  • Elasticsearch: Fix metric names for alert queries. #38546, @dsotirakis
  • Elasticsearch: Limit Histogram field parameter to numeric values. #38631, @Elfo404
  • Elasticsearch: Prevent pipeline aggregations to show up in terms order by options. #38448, @Elfo404
  • LibraryPanels: Prevent duplicate repeated panels from being created. #38804, @hugohaggmark
  • Loki: Fix ad-hoc filter in dashboard when used with parser. #38542, @ivanahuckova
  • Plugins: Track signed files + add warn log for plugin assets which are not signed. #38938, @wbrowne
  • Postgres/MySQL/MSSQL: Fix region annotations not displayed correctly. #38936, @marefr
  • Prometheus: Fix validate selector in metrics browser. #38921, @ivanahuckova
  • Security: Fix stylesheet injection vulnerability #38432, @idafurjes. Big thanks to Tobias Hamann and Lauritz Holtmann of usd AG for reporting this issue.
  • Security: Fix short URL vulnerability #38436, @idafurjes. Big thanks to Tobias Hamann and Lauritz Holtmann of usd AG for reporting this issue.

8.1.2 (2021-08-19)

Features and enhancements

  • AzureMonitor: Add support for PostgreSQL and MySQL Flexible Servers. #38075, @joshhunt
  • Datasource: Change HTTP status code for failed datasource health check to 400. #37895, @stephaniehingtgen
  • Explore: Add span duration to left panel in trace viewer. #37806, @connorlindsey
  • Plugins: Use file extension allowlist when serving plugin assets instead of checking for UNIX executable. #37688, @wbrowne
  • Profiling: Add support for binding pprof server to custom network interfaces. #36580, @cinaglia
  • Search: Make search icon keyboard navigable. #37865, @tskarhed
  • Template variables: Keyboard navigation improvements. #38001, @tskarhed
  • Tooltip: Display ms within minute time range. #37569, @nikki-kiga

Bug fixes

Plugin development fixes & changes

8.1.1 (2021-08-09)

Bug fixes

  • CloudWatch Logs: Fix crash when no region is selected. #37639, @aocenas
  • Reporting: Fix timezone parsing for scheduler. (Enterprise)

8.1.0 (2021-08-05)

Features and enhancements

  • Alerting: Deduplicate receivers during migration. #36812, @codesome
  • ColorPicker: Display colors as RGBA. #37231, @nikki-kiga
  • Encryption: Add support for multiple encryption algorithms (aes-gcm). (Enterprise)
  • Select: Make portalling the menu opt-in, but opt-in everywhere. #37501, @ashharrison90
  • TeamSync: Batch team synchronization. (Enterprise)
  • TimeRangePicker: Improve accessibility. #36912, @tskarhed

Bug fixes

8.1.0-beta3 (2021-07-29)

Features and enhancements

Bug fixes

  • Docker: Fix builds by delaying go mod verify until all required files are copied over. #37246, @wbrowne
  • Exemplars: Fix disable exemplars only on the query that failed. #37296, @zoltanbedi
  • SQL: Fix SQL dataframe resampling (fill mode + time intervals). #36937, @idafurjes

8.1.0-beta2 (2021-07-23)

Features and enhancements

  • Alerting: Expand the value string in alert annotations and labels. #37051, @gerobinson
  • Auth: Add Azure HTTP authentication middleware. #36932, @kostrse
  • Auth: Auth: Pass user role when using the authentication proxy. #36729, @yuwaMSFT2
  • Gazetteer: Update countries.json file to allow for linking to 3-letter country codes. #37129, @bryanuribe

Bug fixes

  • Config: Fix Docker builds by correcting formatting in sample.ini. #37106, @FZambia
  • Explore: Fix encoding of internal URLs. #36919, @aocenas

8.1.0-beta1 (2021-07-22)

Features and enhancements

  • Alerting: Add Alertmanager notifications tab. #35759, @nathanrodman
  • Alerting: Add button to deactivate current Alertmanager configuration. #36951, @domasx2
  • Alerting: Add toggle in Loki/Prometheus data source configuration to opt out of alerting UI. #36552, @domasx2
  • Alerting: Allow any "evaluate for" value >=0 in the alert rule form. #35807, @domasx2
  • Alerting: Load default configuration from status endpoint, if Cortex Alertmanager returns empty user configuration. #35769, @domasx2
  • Alerting: view to display alert rule and its underlying data. #35546, @mckn
  • Annotation panel: Release the annotation panel. #36959, @ryantxu
  • Annotations: Add typeahead support for tags in built-in annotations. #36377, @ashharrison90
  • AzureMonitor: Add curated dashboards for Azure services. #35356, @avidhanju
  • AzureMonitor: Add support for deep links to Microsoft Azure portal for Metrics. #32273, @shuotli
  • AzureMonitor: Remove support for different credentials for Azure Monitor Logs. #35121, @andresmgot
  • AzureMonitor: Support querying any Resource for Logs queries. #33879, @joshhunt
  • Elasticsearch: Add frozen indices search support. #36018, @Elfo404
  • Elasticsearch: Name fields after template variables values instead of their name. #36035, @Elfo404
  • Elasticsearch: add rate aggregation. #33311, @estermv
  • Email: Allow configuration of content types for email notifications. #34530, @djairhogeuens
  • Explore: Add more meta information when line limit is hit. #33069, @ivanahuckova
  • Explore: UI improvements to trace view. #34276, @aocenas
  • FieldOverrides: Added support to change display name in an override field and have it be matched by a later rule. #35893, @torkelo
  • HTTP Client: Introduce dataproxy_max_idle_connections config variable. #35864, @dsotirakis
  • InfluxDB: InfluxQL: adds tags to timeseries data. #36702, @gabor
  • InfluxDB: InfluxQL: make measurement search case insensitive. #34563, @gabor
  • Legacy Alerting: Replace simplejson with a struct in webhook notification channel. #34952, @KEVISONG
  • Legend: Updates display name for Last (not null) to just Last*. #35633, @torkelo
  • Logs panel: Add option to show common labels. #36166, @ivanahuckova
  • Loki: Add $__range variable. #36175, @ivanahuckova
  • Loki: Add support for "label_values(log stream selector, label)" in templating. #35488, @ivanahuckova
  • Loki: Add support for ad-hoc filtering in dashboard. #36393, @ivanahuckova
  • MySQL Datasource: Add timezone parameter. #27535, @andipabst
  • NodeGraph: Show gradient fields in legend. #34078, @aocenas
  • PanelOptions: Don't mutate panel options/field config object when updating. #36441, @dprokop
  • PieChart: Make pie gradient more subtle to match other charts. #36961, @nikki-kiga
  • Prometheus: Update PromQL typeahead and highlighting. #36730, @ekpdt
  • Prometheus: interpolate variable for step field. #36437, @zoltanbedi
  • Provisioning: Improve validation by validating across all dashboard providers. #26742, @nabokihms
  • Query cache: Adding an encryption option for caching. (Enterprise)
  • Reporting: Use start and end dates for scheduling. (Enterprise)
  • SQL Datasources: Allow multiple string/labels columns with time series. #36485, @kylebrandt
  • Select: Portal select menu to document.body. #36398, @ashharrison90
  • Team Sync: Add group mapping to support team sync in the Generic OAuth provider. #36307, @wardbekker
  • Tooltip: Make active series more noticeable. #36824, @nikki-kiga
  • Tracing: Add support to configure trace to logs start and end time. #34995, @zoltanbedi
  • Transformations: Skip merge when there is only a single data frame. #36407, @edgarpoce
  • ValueMapping: Added support for mapping text to color, boolean values, NaN and Null. Improved UI for value mapping. #33820, @torkelo
  • Visualizations: Dynamically set any config (min, max, unit, color, thresholds) from query results. #36548, @torkelo
  • live: Add support to handle origin without a value for the port when matching with root_url. #36834, @FZambia

Bug fixes

Breaking changes

When parsing Elasticsearch query responses using template variables, each field gets named after the variable value instead of the name. For example, executing a terms aggregation on a variable named $groupBy that has @hostname as a value, the resulting column in the table response will be @hostname instead of $groupBy Issue #36035

Azure Monitor data source no longer supports different credentials for Metrics and Logs in existing data sources. To use different credentials for Azure Monitor Logs, create another data source. Issue #35121

Existing Azure Metrics Logs queries for Log Analytics Workspaces should be backward compatible with this change and should not get impacted. Panels will be migrated to use the new resource-centric backend when you first edit and save them.

Application Insights and Insights Analytics queries are now read-only and cannot be modified. To update Application Insights queries, users can manually recreate them as Metrics queries, and Insights Analytics are recreated with Logs.

Issue #33879

Plugin development fixes & changes

8.0.7 (2021-12-07)

  • Security: Fixes CVE-2021-43798. For more information, see our blog

8.0.6 (2021-07-14)

Features and enhancements

Bug fixes

  • Alerting: Fix improper alert by changing the handling of empty labels. #36679, @davidmparrott
  • CloudWatch/Logs: Reestablish Cloud Watch alert behavior. #36558, @aocenas
  • Dashboard: Avoid migration breaking on fieldConfig without defaults field in folded panel. #36666, @glindstedt
  • DashboardList: Fix issue not re-fetching dashboard list after variable change. #36591, @torkelo
  • Database: Fix incorrect format of isolation level configuration parameter for MySQL. #36565, @marefr
  • InfluxDB: Correct tag filtering on InfluxDB data. #36570, @gabor
  • Links: Fix links that caused a full page reload. #36631, @torkelo
  • Live: Fix HTTP error when InfluxDB metrics have an incomplete or asymmetrical field set. #36664, @FZambia
  • Postgres/MySQL/MSSQL: Change time field to "Time" for time series queries. #36720, @marefr
  • Postgres: Fix the handling of a null return value in query results. #36648, @idafurjes
  • Tempo: Show hex strings instead of uints for IDs. #36471, @zoltanbedi
  • TimeSeries: Improve tooltip positioning when tooltip overflows. #36440, @ashharrison90
  • Transformations: Add 'prepare time series' transformer. #36737, @ryantxu

8.0.5 (2021-07-08)

Features and enhancements

Bug fixes

  • AzureMonitor: Fix issue where resource group name is missing on the resource picker button. #36400, @joshhunt
  • Chore: Fix AWS auth assuming role with workspace IAM. #36430, @wbrowne
  • DashboardQueryRunner: Fixes unrestrained subscriptions being created. #36371, @hugohaggmark
  • DateFormats: Fix reading correct setting key for use_browser_locale. #36428, @torkelo
  • Links: Fix links to other apps outside Grafana when under sub path. #36498, @torkelo
  • Snapshots: Fix snapshot absolute time range issue. #36350, @torkelo
  • Table: Fix data link color. #36446, @tharun208
  • Time Series: Fix X-axis time format when tick increment is larger than a year. #36335, @torkelo
  • Tooltip Plugin: Prevent tooltip render if field is undefined. #36260, @ashharrison90

8.0.4 (2021-07-01)

Features and enhancements

  • Live: Rely on app url for origin check. #35983, @FZambia
  • PieChart: Sort legend descending, update placeholder to show default …. #36062, @ashharrison90
  • TimeSeries panel: Do not reinitialize plot when thresholds mode change. #35952, @dprokop

Bug fixes

  • Elasticsearch: Allow case sensitive custom options in date_histogram interval. #36168, @Elfo404
  • Elasticsearch: Restore previous field naming strategy when using variables. #35624, @Elfo404
  • Explore: Fix import of queries between SQL data sources. #36210, @ivanahuckova
  • InfluxDB: InfluxQL query editor: fix retention policy handling. #36022, @gabor
  • Loki: Send correct time range in template variable queries. #36268, @ivanahuckova
  • TimeSeries: Preserve RegExp series overrides when migrating from old graph panel. #36134, @ashharrison90

8.0.3 (2021-06-18)

Features and enhancements

  • Alerting: Increase alertmanager_conf column if MySQL. #35657, @kylebrandt
  • Time series/Bar chart panel: Handle infinite numbers as nulls when converting to plot array. #35638, @dprokop
  • TimeSeries: Ensure series overrides that contain color are migrated, and migrate the previous fieldConfig when changing the panel type. #35676, @ashharrison90
  • ValueMappings: Improve singlestat value mappings migration. #35578, @dprokop

Bug fixes

  • Annotations: Fix annotation line and marker colors. #35608, @torkelo
  • AzureMonitor: Fix KQL template variable queries without default workspace. #35836, @joshhunt
  • CloudWatch/Logs: Fix missing response data for log queries. #35724, @aocenas
  • Elasticsearch: Restore previous field naming strategy when using variables. #35624, @Elfo404
  • LibraryPanels: Fix crash in library panels list when panel plugin is not found. #35907, @torkelo
  • LogsPanel: Fix performance drop when moving logs panel in dashboard. #35379, @aocenas
  • Loki: Parse log levels when ANSI coloring is enabled. #35607, @olbo98
  • MSSQL: Fix issue with hidden queries still being executed. #35787, @torkelo
  • PanelEdit: Display the VisualizationPicker that was not displayed if a panel has an unknown panel plugin. #35831, @jackw
  • Plugins: Fix loading symbolically linked plugins. #35635, @domasx2
  • Prometheus: Fix issue where legend name was replaced with name Value in stat and gauge panels. #35863, @torkelo
  • State Timeline: Fix crash when hovering over panel. #35692, @hugohaggmark

8.0.2 (2021-06-14)

Features and enhancements

  • Datasource: Add support for max_conns_per_host in dataproxy settings. #35520, @jvrplmlmn

Bug fixes

8.0.1 (2021-06-10)

Bug fixes

  • Alerting/SSE: Fix "count_non_null" reducer validation. #35451, @kylebrandt
  • Cloudwatch: Fix duplicated time series. #35433, @sunker
  • Cloudwatch: Fix missing defaultRegion. #35436, @andresmgot
  • Dashboard: Fix Dashboard init failed error on dashboards with old singlestat panels in collapsed rows. #35425, @torkelo
  • Datasource: Fix storing timeout option as numeric. #35441, @marefr
  • Postgres/MySQL/MSSQL: Fix annotation parsing for empty responses. #35367, @marcbachmann
  • Postgres/MySQL/MSSQL: Numeric/non-string values are now returned from query variables. #35411, @marefr
  • Postgres: Fix an error that was thrown when the annotation query did not return any results. #35382, @dprokop
  • StatPanel: Fix an issue with the appearance of the graph when switching color mode. #35460, @torkelo
  • Visualizations: Fix an issue in the Stat/BarGauge/Gauge/PieChart panels where all values mode were showing the same name if they had the same value. #35368, @torkelo

Plugin development fixes & changes

  • Toolkit: Resolve external fonts when Grafana is served from a sub path. #35352, @jackw

8.0.0 (2021-06-08)

Features and enhancements

  • AzureMonitor: Require default subscription for workspaces() template variable query. #35181, @joshhunt
  • AzureMonitor: Use resource type display names in the UI. #35060, @joshhunt
  • Dashboard: Remove support for loading and deleting dashboard by slug. #35104, @dsotirakis
  • InfluxDB: Deprecate direct browser access in data source. #35105, @gabor
  • VizLegend: Add a read-only property. #35096, @dprokop

Bug fixes

  • AzureMonitor: Fix Azure Resource Graph queries in Azure China. #35235, @kostrse
  • Checkbox: Fix vertical layout issue with checkboxes due to fixed height. #35022, @torkelo
  • Dashboard: Fix Table view when editing causes the panel data to not update. #34998, @axelavargas
  • Dashboard: Fix issues where unsaved-changes warning is not displayed. #34989, @torkelo
  • Login: Fixes Unauthorized message showing when on login page or snapshot page. #35311, @torkelo
  • NodeGraph: Fix sorting markers in grid view. #35200, @aocenas
  • Short URL: Include orgId in generated short URLs. #34696, @farodin91
  • Variables: Support raw values of boolean type. #34727, @simPod

Breaking changes

The following endpoints were deprecated for Grafana v5.0 and support for them has now been removed:

  • GET /dashboards/db/:slug
  • GET /dashboard-solo/db/:slug
  • GET /api/dashboard/db/:slug
  • DELETE /api/dashboards/db/:slug Issue #35104

8.0.0-beta3 (2021-06-01)

Features and enhancements

  • API: Support folder UID in dashboards API. #33991, @zserge
  • Alerting: Add support for configuring avatar URL for the Discord notifier. #33355, @ChipWolf
  • Alerting: Clarify that Threema Gateway Alerts support only Basic IDs. #34828, @dbrgn
  • Azure: Expose Azure settings to external plugins. #34484, @sunker
  • AzureMonitor: Deprecate using separate credentials for Azure Monitor Logs. #34758, @andresmgot
  • AzureMonitor: Display variables in resource picker for Azure Monitor Logs. #34648, @joshhunt
  • AzureMonitor: Hide application insights for data sources not using it. #34725, @joshhunt
  • AzureMonitor: Support querying subscriptions and resource groups in Azure Monitor Logs. #34766, @joshhunt
  • AzureMonitor: remove requirement for default subscription. #34787, @kostrse
  • CloudWatch: Add Lambda@Edge Amazon CloudFront metrics. #34561, @razor-x
  • CloudWatch: Add missing AWS AppSync metrics. #34691, @razor-x
  • ConfirmModal: Auto focus delete button. #34917, @torkelo
  • Explore: Add caching for queries that are run from logs navigation. #34297, @ivanahuckova
  • Loki: Add formatting for annotations. #34774, @fredr
  • Loki: Bring back processed bytes as meta information. #34092, @mmenbawy
  • NodeGraph: Display node graph collapsed by default with trace view. #34491, @aocenas
  • Overrides: Include a manual override option to hide something from visualization. #34783, @torkelo
  • PieChart: Support row data in pie charts. #34755, @torkelo
  • Prometheus: Update default HTTP method to POST for existing data sources. #34599, @ivanahuckova
  • Reporting: Enable generating PDF for anonymous users. (Enterprise)
  • SAML: Make private key and certificate optional. (Enterprise)
  • Time series panel: Position tooltip correctly when window is scrolled or resized. #34782, @dprokop

Bug fixes

  • Admin: Fix infinite loading edit on the profile page. #34627, @hugohaggmark
  • Color: Fix issues with random colors in string and date fields. #34913, @torkelo
  • Dashboard: Fix issue with title or folder change has no effect after exiting settings view. #34677, @torkelo
  • DataLinks: Fix an issue __series.name is not working in data link. #34932, @torkelo
  • Datasource: Fix dataproxy timeout should always be applied for outgoing data source HTTP requests. #34597, @dsotirakis
  • Elasticsearch: Fix NewClient not passing httpClientProvider to client impl. #34539, @KiVirgil
  • Explore: Fix Browser title not updated on Navigation to Explore. #34651, @axelavargas
  • GraphNG: Remove fieldName and hideInLegend properties from UPlotSeriesBuilder. #34901, @dprokop
  • OAuth: Fix fallback to auto_assign_org_role setting for Azure AD OAuth when no role claims exists. #34838, @idafurjes
  • PanelChrome: Fix issue with empty panel after adding a non data panel and coming back from panel edit. #34765, @torkelo
  • StatPanel: Fix data link tooltip not showing for single value. #34934, @torkelo
  • Table: Fix sorting for number fields. #34722, @hugohaggmark
  • Table: Have text underline for datalink, and add support for image datalink. #34635, @thisisobate
  • Time series panel: Position tooltip correctly when window is scrolled or resized. #34584, @dprokop
  • Transformations: Prevent FilterByValue transform from crashing panel edit. #34747, @jackw

Breaking changes

The default HTTP method for Prometheus data source is now POST. Previously, it was GET. The POST APIs have been available since January 2018 (Prometheus 2.1.0) and they have fewer limitations than the GET APIs. For example, when dealing with high cardinality labels, GET hits the URL size limit.

If you have a Prometheus instance with version < 2.1.0, which uses the default HTTP method, update your HTTP method to GET. Issue #34599

8.0.0-beta2 (2021-05-20)

Features and enhancements

Bug fixes

  • Annotations panel: Remove subpath from dashboard links. #34134, @jackw
  • Content Security Policy: Allow all image sources by default. #34265, @aknuds1
  • Content Security Policy: Relax default template wrt. loading of scripts, due to nonces not working. #34363, @aknuds1
  • Datasource: Fix tracing propagation for alert execution by introducing HTTP client outgoing tracing middleware. #34466, @marefr
  • InfluxDB: InfluxQL always apply time interval end. #34308, @gabor
  • Library Panels: Fixes "error while loading library panels". #34278, @hugohaggmark
  • NewsPanel: Fixes rendering issue in Safari. #34067, @kaydelaney
  • PanelChrome: Fix queries being issued again when scrolling in and out of view. #34061, @torkelo
  • Plugins: Fix Azure token provider cache panic and auth param nil value. #34252, @kostrse
  • Snapshots: Fix key and deleteKey being ignored when creating an external snapshot. #33686, @wengelbrecht-grafana
  • Table: Fix issue with cell border not showing with colored background cells. #34231, @torkelo
  • Table: Makes tooltip scrollable for long JSON values. #34120, @hugohaggmark
  • TimeSeries: Fix for Connected null values threshold toggle during panel editing. #34452, @leeoniya
  • Variables: Fixes inconsistent selected states on dashboard load. #34197, @hugohaggmark
  • Variables: Refreshes all panels even if panel is full screen. #34097, @hugohaggmark

Breaking changes

The workspaces() template variable, mainly for use with Azure Monitor Logs, has been changed to return resource URIs instead of Log Analytics Workspaces GUIDs. This should not impact Azure Monitor Logs queries, but if the variables are being used in other data sources which expect a Workspace GUID may no longer be compatible.

Custom template variables used in the workspace or resource field in Azure Monitor Logs queries should resolve to an Azure Resource URI in the format /subscriptions/{guid}/resourceGroups/{resource-group-name}/{resource-provider-namespace}/{resource-type}/{resource-name} Issue #34445

Removes support for deprecated backend plugin protocol (v1) including usage of github.com/grafana/grafana-plugin-model.

Issue #34127

Plugin development fixes & changes

8.0.0-beta1 (2021-05-13)

Features and enhancements

  • API: Add org users with pagination. #33788, @idafurjes
  • API: Return 404 when deleting nonexistent API key. #33346, @chaudum
  • API: Return query results as JSON rather than base64 encoded Arrow. #32303, @ryantxu
  • Alerting: Allow sending notification tags to Opsgenie as extra properties. #30332, @DewaldV
  • Alerts: Replaces all uses of InfoBox & FeatureInfoBox with Alert. #33352, @torkelo
  • Auth: Add support for JWT Authentication. #29995, @marshall-lee
  • AzureMonitor: Add support for Microsoft.SignalRService/SignalR metrics. #33246, @M0ns1gn0r
  • AzureMonitor: Azure settings in Grafana server config. #33728, @kostrse
  • AzureMonitor: Migrate Metrics query editor to React. #30783, @joshhunt
  • BarChart panel: enable series toggling via legend. #33955, @dprokop
  • BarChart panel: Adds support for Tooltip in BarChartPanel. #33938, @dprokop
  • PieChart panel: Change look of highlighted pie slices. #33841, @oscarkilhed
  • CloudMonitoring: Migrate config editor from angular to react. #33645, @sunker
  • CloudWatch: Add Amplify Console metrics and dimensions. #33171, @rodrigorfk
  • CloudWatch: Add missing Redshift metrics to CloudWatch data source. #32121, @tomdaly
  • CloudWatch: Add metrics for managed RabbitMQ service. #31838, @nirojan
  • DashboardList: Enable templating on search tag input. #31460, @delta50
  • Datasource config: correctly remove single custom http header. #32445, @gabor
  • Elasticsearch: Add generic support for template variables. #32762, @Elfo404
  • Elasticsearch: Allow omitting field when metric supports inline script. #32839, @Elfo404
  • Elasticsearch: Allow setting a custom limit for log queries. #32422, @Elfo404
  • Elasticsearch: Guess field type from first non-empty value. #32290, @Elfo404
  • Elasticsearch: Use application/x-ndjson content type for multisearch requests. #32282, @Elfo404
  • Elasticsearch: Use semver strings to identify ES version. #33646, @Elfo404
  • Explore: Add logs navigation to request more logs. #33259, @ivanahuckova
  • Explore: Map Graphite queries to Loki. #33405, @ifrost
  • Explore: Scroll split panes in Explore independently. #32978, @ivanahuckova
  • Explore: Wrap each panel in separate error boundary. #33868, @aocenas
  • FieldDisplay: Smarter naming of stat values when visualising row values (all values) in stat panels. #31704, @torkelo
  • Graphite: Expand metric names for variables. #33694, @ifrost
  • Graphite: Handle unknown Graphite functions without breaking the visual editor. #32635, @ifrost
  • Graphite: Show graphite functions descriptions. #32305, @ifrost
  • Graphite: Support request cancellation properly (Uses new backendSrv.fetch Observable request API). #31928, @mckn
  • InfluxDB: Flux: Improve handling of complex response-structures. #33823, @gabor
  • InfluxDB: Support region annotations. #31526, @Komalis
  • Inspector: Download logs for manual processing. #32764, @ivanahuckova
  • Jaeger: Add node graph view for trace. #31521, @aocenas
  • Jaeger: Search traces. #32805, @zoltanbedi
  • Loki: Use data source settings for alerting queries. #33942, @ivanahuckova
  • NodeGraph: Exploration mode. #33623, @aocenas
  • OAuth: Add support for empty scopes. #32129, @jvoeller
  • PanelChrome: New logic-less emotion based component with no dependency on PanelModel or DashboardModel. #29456, @torkelo
  • PanelEdit: Adds a table view toggle to quickly view data in table form. #33753, @torkelo
  • PanelEdit: Highlight matched words when searching options. #33717, @torkelo
  • PanelEdit: UX improvements. #32124, @torkelo
  • Plugins: PanelRenderer and simplified QueryRunner to be used from plugins. #31901, @torkelo
  • Plugins: AuthType in route configuration and params interpolation. #33674, @kostrse
  • Plugins: Enable plugin runtime install/uninstall capabilities. #33836, @wbrowne
  • Plugins: Support set body content in plugin routes. #32551, @marefr
  • Plugins: Introduce marketplace app. #33869, @jackw
  • Plugins: Moving the DataSourcePicker to grafana/runtime so it can be reused in plugins. #31628, @mckn
  • Prometheus: Add custom query params for alert and exemplars queries. #32440, @aocenas
  • Prometheus: Use fuzzy string matching to autocomplete metric names and label. #32207, @ifrost
  • Routing: Replace Angular routing with react-router. #31463, @dprokop
  • Slack: Use chat.postMessage API by default. #32511, @aknuds1
  • Tempo: Search for Traces by querying Loki directly from Tempo. #33308, @davkal
  • Tempo: Show graph view of the trace. #33635, @aocenas
  • Themes: Switch theme without reload using global shortcut. #32180, @torkelo
  • TimeSeries panel: Add support for shared cursor. #33433, @dprokop
  • TimeSeries panel: Do not crash the panel if there is no time series data in the response. #33993, @dprokop
  • Variables: Do not save repeated panels, rows and scopedVars. #32436, @torkelo
  • Variables: Removes experimental Tags feature. #33361, @hugohaggmark
  • Variables: Removes the never refresh option. #33533, @hugohaggmark
  • Visualizations: Unify tooltip options across visualizations. #33892, @dprokop
  • Visualizations: Refactor and unify option creation between new visualizations. #33867, @oscarkilhed
  • Visualizations: Remove singlestat panel. #31904, @dprokop

Bug fixes

  • APIKeys: Fixes issue with adding first api key. #32201, @torkelo
  • Alerting: Add checks for non supported units - disable defaulting to seconds. #32477, @dsotirakis
  • Alerting: Fix issue where Slack notifications won't link to user IDs. #32861, @n-wbrown
  • Alerting: Omit empty message in PagerDuty notifier. #31359, @pkoenig10
  • AzureMonitor: Fix migration error from older versions of App Insights queries. #32372, @joshhunt
  • CloudWatch: Fix AWS/Connect dimensions. #33736, @sunker
  • CloudWatch: Fix broken AWS/MediaTailor dimension name. #33271, @sunker
  • Dashboards: Allow string manipulation as advanced variable format option. #29754, @rscot231
  • DataLinks: Includes harmless extended characters like Cyrillic characters. #33551, @hugohaggmark
  • Drawer: Fixes title overflowing its container. #33857, @thisisobate
  • Explore: Fix issue when some query errors were not shown. #32212, @aocenas
  • Generic OAuth: Prevent adding duplicated users. #32286, @dsotirakis
  • Graphite: Handle invalid annotations. #32437, @ifrost
  • Graphite: Fix autocomplete when tags are not available. #31680, @ifrost
  • InfluxDB: Fix Cannot read property 'length' of undefined in when parsing response. #32504, @ivanahuckova
  • Instrumentation: Enable tracing when Jaeger host and port are set. #33682, @zserge
  • Instrumentation: Prefix metrics with grafana. #33925, @bergquist
  • MSSQL: By default let driver choose port. #32417, @aknuds1
  • OAuth: Add optional strict parsing of role_attribute_path. #28021, @klausenbusk
  • Panel: Fixes description markdown with inline code being rendered on newlines and full width. #32405, @dprokop
  • PanelChrome: Ignore data updates & errors for non data panels. #33477, @torkelo
  • Permissions: Fix inherited folder permissions can prevent new permissions being added to a dashboard. #33329, @marefr
  • Plugins: Remove pre-existing plugin installs when installing with grafana-cli. #31515, @wbrowne
  • Plugins: Support installing to folders with whitespace and fix pluginUrl trailing and leading whitespace failures. #32506, @wbrowne
  • Postgres/MySQL/MSSQL: Don't return connection failure details to the client. #32408, @marefr
  • Postgres: Fix ms precision of interval in time group macro when TimescaleDB is enabled. #33853, @ying-jeanne
  • Provisioning: Use dashboard checksum field as change indicator. #29797, @cristi-
  • SQL: Fix so that all captured errors are returned from sql engine. #32353, @marefr
  • Shortcuts: Fixes panel shortcuts so they always work. #32385, @torkelo
  • Table: Fixes so border is visible for cells with links. #33160, @hugohaggmark
  • Variables: Clear query when data source type changes. #33924, @hugohaggmark
  • Variables: Filters out builtin variables from unknown list. #33933, @hugohaggmark
  • Variables: Refreshes all panels even if panel is full screen. #33201, @hugohaggmark

Breaking changes

Removes the never refresh option for Query variables. Existing variables will be migrated and any stored options will be removed. Issue #33533

Removes the experimental Tags feature for Variables. Issue #33361

Deprecations

The InfoBox & FeatureInfoBox are now deprecated please use the Alert component instead with severity info. Issue #33352

Plugin development fixes & changes

  • Button: Introduce buttonStyle prop. #33384, @jackw
  • DataQueryRequest: Remove deprecated props showingGraph and showingTabel and exploreMode. #31876, @torkelo
  • grafana/ui: Update React Hook Form to v7. #33328, @Clarity-89
  • IconButton: Introduce variant for red and blue icon buttons. #33479, @jackw
  • Plugins: Expose the getTimeZone function to be able to get the current selected timeZone. #31900, @mckn
  • TagsInput: Add className to TagsInput. #33944, @Clarity-89
  • VizLegend: Move onSeriesColorChanged to PanelContext (breaking change). #33611, @ryantxu

License update

  • AGPL License: Update license from Apache 2.0 to the GNU Affero General Public License (AGPL). #33184