Skip to content

Latest commit

 

History

History
2599 lines (2219 loc) · 321 KB

CHANGELOG.md

File metadata and controls

2599 lines (2219 loc) · 321 KB

10.4.0 (2024-03-06)

Features and enhancements

Bug fixes

  • Auth: Fix email verification bypass when using basic authentication. #82914, @volcanonoodle
  • LibraryPanels/RBAC: Fix issue where folder scopes weren't being correctly inherited. #82700, @kaydelaney
  • Table Panel: Fix display of ad-hoc filter actions. #82442, @codeincarnate
  • Loki: Update @grafana/lezer-logql to 0.2.3 containing fix for ip label name. #82378, @ivanahuckova
  • Alerting: Fix slack double pound and email summary. #82333, @gillesdemey
  • Elasticsearch: Fix resource calls for paths that include :. #82327, @ivanahuckova
  • Alerting: Return provenance of notification templates. #82274, @julienduchesne
  • LibraryPanels: Fix issue with repeated library panels. #82255, @kaydelaney
  • Loki: Fix fetching of values for label if no previous equality operator. #82251, @ivanahuckova
  • Alerting: Fix data races and improve testing. #81994, @diegommm
  • chore: Fix typo in GraphTresholdsStyleMode enum. #81960, @paulJonesCalian
  • CloudWatch: Fix code editor not resizing on mount when content height is > 200px. #81911, @kevinwcyu
  • FieldOptions: Revert scalable unit option as we already support this via custom prefix/suffixes . #81893, @torkelo
  • Browse Dashboards: Imported dashboards now display immediately in the dashboard list. #81819, @ashharrison90
  • Elasticsearch: Set middlewares from Grafana's httpClientProvider. #81814, @svennergr
  • Folders: Fix failure to update folder in SQLite. #81795, @papagian
  • Plugins: Never disable add new data source for core plugins. #81774, @oshirohugo
  • Alerting: Fixes for pending period. #81718, @gillesdemey
  • Alerting: Fix editing group of nested folder. #81665, @gillesdemey
  • Plugins: Don't auto prepend app sub url to plugin asset paths. #81658, @wbrowne
  • Alerting: Fix inconsistent AM raw config when applied via sync vs API. #81655, @JacobsonMT
  • Alerting: Fix support check for export with modifications. #81602, @gillesdemey
  • Alerting: Fix selecting empty contact point value for notification policy inheritance. #81482, @gillesdemey
  • Alerting: Fix child provisioned polices not being rendered as provisioned. #81449, @soniaAguilarPeiron
  • Tempo: Fix durations in TraceQL. #81418, @fabrizio-grafana
  • Logs: Fix toggleable filters to be applied for specified query. #81368, @ivanahuckova
  • Loki: Fix label not being added to all subexpressions. #81360, @svennergr
  • Loki/Elastic: Assert queryfix value to always be string. #81349, @svennergr
  • Tempo: Add query ref in the query editor. #81343, @joey-grafana
  • Transformations: Use the display name of the original y field for the predicted field of the regression analysis transformation. #81332, @oscarkilhed
  • Field: Fix perf regression in getUniqueFieldName(). #81323, @leeoniya
  • Alerting: Fix scheduler to group folders by the unique key (orgID and UID). #81303, @yuri-tceretian
  • Alerting: Fix migration edge-case race condition for silences. #81206, @JacobsonMT
  • Explore: Set default time range to now-1h. #81135, @ifrost
  • Elasticsearch: Fix URL creation and allowlist for /_mapping requests. #80970, @svennergr
  • Postgres: Handle single quotes in table names in the query editor. #80951, @gabor
  • Folders: Fix creating/updating a folder whose title has leading and trailing spaces. #80909, @papagian
  • Loki: Fix missing timerange in query builder values request. #80829, @svennergr
  • Elasticsearch: Fix showing of logs when __source is log message field. #80804, @ivanahuckova
  • Pyroscope: Fix stale value for query in query editor. #80753, @joey-grafana
  • Stat: Fix data links that refer to fields. #80693, @ajwerner
  • RBAC: Clean up data source permissions after data source deletion. #80654, @IevaVasiljeva
  • Alerting: Fix MuteTiming Get API to return provenance status. #80494, @yuri-tceretian
  • Tempo: Fix regression caused by #79938. #80465, @fabrizio-grafana
  • Alerting: Fix preview getting the correct queries from the form. #80458, @soniaAguilarPeiron
  • Alerting: Fix firing alerts title when showing active in Insights panel. #80414, @soniaAguilarPeiron
  • Postgres: Fix enabling the socks proxy. #80361, @gabor
  • Alerting: Fix group filter. #80358, @soniaAguilarPeiron
  • Alerting: Increase size of kvstore value type for MySQL to LONGTEXT. #80331, @JacobsonMT
  • Annotations: Split cleanup into separate queries and deletes to avoid deadlocks on MySQL. #80329, @alexweav
  • Loki: Fix bug duplicating parsed labels across multiple log lines. #80292, @svennergr
  • Alerting: Fix NoData & Error alerts not resolving when rule is reset. #80184, @JacobsonMT
  • Loki: Fix metric time splitting to split starting with the start time. #80085, @svennergr
  • Rendering: Fix streaming panels always reaching timeout. #80022, @AgnesToulet
  • Plugins: Fix colon in CallResource URL returning an error when creating plugin resource request. #79746, @GiedriusS
  • PDF: Fix initialization when SMTP is disabled. (Enterprise)
  • PDF: Fix repeated panels placement issue. (Enterprise)
  • Report CSV: Fix timeout with streaming panels. (Enterprise)
  • RBAC: Avoid repopulating removed basic role permissions if the permission scope has changed. (Enterprise)

Breaking changes

We're adding a between the response of the ID token HD parameter and the list of allowed domains. This feature can be disabled through the configuration toggle validate_hd . Anyone using the legacy Google OAuth configuration should disable this validation if the ID Token response doesn't have the HD parameter. Issue #83726

If you use an automated provisioning (eg, Terraform) for custom roles, and have provisioned a role that includes permission with action alert.instances:read and some scope, you will need to update the permission in your provisioning files by removing the scope. Issue #82202

The following breaking change occurs only when feature flag nestedFolders is enabled. If the folder title contains the symbol / (forward-slash) the notifications created from the rules that are placed in that folder will contain an escape sequence for that symbol in the label grafana_folder. For example, the folder title is Grafana / Folder. Currently the label grafana_folder will contain the title as it is. If PR is merged - the label value will be Grafana \/ Folder. This can break notifications if notification policies have matches that match that label and folder. Issue #81214

PanelContext.onSplitOpen is removed. In the context of Explore, plugins should use field.getLinks to get a list of data link models. Issue #80087

The unstable alert rule API has been changed and now expects a folder UID instead of the folder title as namespace path parameter. I addition to this, the responses that used to return the folder title now return <folder parent UID>/<folder title> to uniquely identify them. Any consumers of the specific API should be appropriately adapted. Issue #74600

Plugin development fixes & changes

10.3.3 (2024-02-02)

Bug fixes

  • Elasticsearch: Fix creating of legend so it is backward compatible with frontend produced frames. #81786, @ivanahuckova
  • ShareModal: Fixes url sync issue that caused issue with save drawer. #81721, @ivanortegaalba

10.3.1 (2024-01-22)

To resolve a technical issue within the Grafana release package management process, we are releasing both Grafana 10.3.0 and Grafana 10.3.1 simultaneously. The 10.3.1 release contains no breaking or functional changes from 10.3.0. Please refer to the What’s New post for Grafana 10.3.0 for details on new features and changes in this release.

10.3.0 (2024-01-22)

To resolve a technical issue within the Grafana release package management process, we are releasing both Grafana 10.3.0 and Grafana 10.3.1 simultaneously. The 10.3.1 release contains no breaking or functional changes from 10.3.0. Please refer to the What’s New post for Grafana 10.3.0 for details on new features and changes in this release.

Features and enhancements

Bug fixes

Breaking changes

Users who have InfluxDB datasource configured with SQL querying language must update their database information. They have to enter their bucket name into the database field. Issue #79579

Removes NamespaceID from responses of all GET routes underneath the path /api/ruler/grafana/api/v1/rules - 3 affected endpoints. All affected routes are not in the publicly documented or stable marked portion of the ngalert API. This only breaks clients who are directly using the unstable portion of the API. Such clients should use NamespaceUID rather than NamespaceID to identify namespaces. Issue #79359

10.2.4 (2024-01-29)

Features and enhancements

Bug fixes

10.2.3 (2023-12-18)

Features and enhancements

Bug fixes

  • Alerting: Fix deleting rules in a folder with matching UID in another organization. #79011, @papagian
  • CloudWatch: Correctly quote metric names with special characters. #78958, @iwysiu
  • Fix: Use dashboard time range in prometheus variable editor. #78950, @itsmylife
  • DeleteDashboard: Redirect to home after deleting a dashboard. #78936, @ivanortegaalba
  • Alerting: Change create/update permissions for silences. #78920, @VikaCep
  • DeleteDashboard: Redirect to home after deleting a dashboard. #78918, @ivanortegaalba
  • Alerting: Fixes combination of multiple predicates for rule search. #78910, @gillesdemey
  • Timeseries to table transformation: Fix misaligned table field values if some frames are missing a label. #78909, @domasx2
  • CloudWatch: Fetch Dimension keys correctly from Dimension Picker. #78831, @iwysiu
  • Plugins: Only preload plugins if user is authenticated. #78805, @marefr
  • Tempo: Fix read-only access error. #78801, @fabrizio-grafana
  • Stats: Fix unregistered unified alerting metric. #78777, @alexweav
  • RBAC: Adjust filter for acl list to check for permissions on service accounts. #78681, @kalleep
  • Bug: Fix broken ui components when angular is disabled. #78670, @jackw
  • Plugins: Only set non-existing headers for core plugin requests. #78633, @aangelisc
  • CloudWatch: Fetch Dimension keys correctly from Dimension Picker. #78556, @iwysiu
  • InfluxDB: Parse data for table view to have parity with frontend parser. #78551, @itsmylife
  • Elasticsearch: Fix processing of raw_data with not-recognized time format. #78380, @ivanahuckova
  • Command Palette: Fix for chinese input and keystrokes being lost in slow environments. #78373, @ashharrison90
  • InfluxDB: Parse data for table view to have parity with frontend parser. #78365, @itsmylife
  • FeatureToggle: Disable dashgpt by default and mark it as preview. #78348, @ivanortegaalba
  • Explore: Fixes issue with adhoc filters when coming from dashboards. #78339, @torkelo
  • SaveDashboardPrompt: Reduce time to open drawer when many changes applied. #78283, @ivanortegaalba
  • Elasticsearch: Fix processing of raw_data with not-recognized time format. #78262, @ivanahuckova
  • Alerting: Fix deleting rules in a folder with matching UID in another organization. #78258, @papagian
  • Bug: Fix broken ui components when angular is disabled. #78208, @jackw
  • Flamegraph: Update threshold for collapsing and fix flickering. #78206, @aocenas
  • Prometheus: Fix calculating rate interval when there is no interval specified. #78193, @itsmylife
  • Variables: Add support for aliasIDs to datasource variables (Fixes issue with Postgres datasource variables). #78170, @torkelo
  • Explore: Fix queries (cached & non) count in usage insights. #78097, @Elfo404
  • Dashboards: Allow updating a dashboard if the user doesn't have access to the parent folder. #78075, @IevaVasiljeva
  • Loki: Fix escaping in cheatsheet. #78046, @ivanahuckova
  • Transformations: Fix Timeseries to table transformation trend reduction when result is 0. #78026, @oserde
  • Alerting: Fix export of notification policy to JSON. #78021, @rvillablanca
  • Dashboards: Fix dashboard listing when user can't list any folders. #77983, @IevaVasiljeva
  • Plugins: Keep working when there is no internet access. #77978, @leventebalogh
  • DashList: Update variables in links when they change. #77787, @joshhunt
  • Alerting: Disable cache in rktq when fetching export data. #77678, @soniaAguilarPeiron
  • Alerting: Fix export with modifications URL when mounted on subpath. #77622, @gillesdemey
  • Dashboards: Fix issue causing crashes when saving new dashboard. #77620, @kaydelaney
  • Search: Modify query for better performance. #77576, @papagian
  • CloudWatch Logs: Add labels to alert and expression queries. #77529, @iwysiu
  • Explore: Fix support for angular based datasource editors. #77486, @Elfo404
  • Tempo: Fix support for statusMessage. #77438, @fabrizio-grafana
  • Plugins: Fix status_source always being "plugin" in plugin request logs. #77433, @xnyo
  • Bug Fix: Respect data source version when provisioning. #77428, @andresmgot
  • Tempo: Fix TraceQL autocompletion with missing }. #77365, @fabrizio-grafana
  • InfluxDB: Fix parsing multiple tags on backend mode. #77340, @itsmylife
  • Alerting: Apply negative matchers for route matching. #77292, @gillesdemey
  • Explore: Fix panes vertical scrollbar not being draggable. #77284, @Elfo404
  • Explore: Avoid reinitializing graph on every query run. #77281, @Elfo404
  • Prometheus: Fix $__rate_interval calculation. #77234, @itsmylife
  • Organize fields transformation: Fix re-ordering of fields using drag and drop. #77172, @adela-almasan
  • Bug fix: Correctly set permissions on provisioned dashboards. #77155, @IevaVasiljeva
  • InfluxDB: Fix adhoc filter calls by properly checking optional parameter in metricFindQuery. #77113, @itsmylife
  • Alerting: Fix NoRulesSplash being rendered for some seconds, fater creating a rule. #77048, @soniaAguilarPeiron
  • RBAC: Allow scoping access to root level dashboards. #76987, @IevaVasiljeva
  • Alerting: Dont show 1 firing series when no data in Expressions PreviewSummary. #76981, @soniaAguilarPeiron
  • InfluxDB: Fix aliasing with $measurement or $m on backend mode. #76917, @itsmylife
  • InfluxDB: Fix table parsing with backend mode. #76899, @itsmylife
  • NodeGraph: Fix edges dataframe miscategorization. #76842, @lovasoa
  • Tooltip: Ensure tooltip text is correctly announced by screenreaders. #76683, @ashharrison90
  • Alerting: Fix flaky SQLITE_BUSY when migrating with provisioned dashboards. #76658, @JacobsonMT
  • TraceView: Fix cursor not matching visual guide in the timeline when resizing. #76587, @neel1996
  • Search: Fix empty folder details for nested folder items. #76504, @papagian
  • Alerting: Alert rule constraint violations return as 400s in provisioning API. #76396, @alexweav
  • A11y: Fix no-static-element-interactions in xy chart editor. #76170, @chauchausoup
  • Alerting: Fix incorrect decoding for alert rules with % characters. #76148, @gillesdemey
  • Chore: Fix timeout issues when gathering prometheus datasource stats. #74618, @DanCech
  • Recorded Queries: Add org isolation (remote write target per org), and fix cross org Delete/List. (Enterprise)
  • Auditing: Fix missing action in alert manager routes. (Enterprise)
  • Reporting: Fix report not sent when creating / updating reports. (Enterprise)
  • Recorded Queries: Add org isolation (remote write target per org), and fix cross org Delete/List. (Enterprise)
  • UsageInsights: Disable frontend features when backend is disabled. (Enterprise)
  • PresenceIndicators: Do not retry failed views/recent API calls. (Enterprise)
  • Analytics: Use panel renderer rather than legacy flot graph. (Enterprise)
  • Plugins: Fix cloud plugins installer base url. (Enterprise)

Breaking changes

In panels using the extract fields transformation, where one of the extracted names collides with one of the already existing fields, the extracted field will be renamed. Issue #77569

For the existing backend mode users who have table visualization might see some inconsistencies on their panels. We have updated the table column naming. This will potentially affect field transformations and/or field overrides. To resolve this either:

  • Update transformation
  • Update field override Issue #76899

For the existing backend mode users who have Transformations with the time field, might see their transformations are not working. Those panels that have broken transformations will fail to render. This is because we changed the field key. See related PR: grafana#69865 To resolve this either:

  • Remove the affected panel and re-create it
  • Select the Time field again
  • Edit the time field as Time for transformation in panel.json or dashboard.json Issue #76641

The following data source permission endpoints have been removed:

  • GET /datasources/:datasourceId/permissions
  • POST /api/datasources/:datasourceId/permissions
  • DELETE /datasources/:datasourceId/permissions
  • POST /datasources/:datasourceId/enable-permissions
  • POST /datasources/:datasourceId/disable-permissions

Please use the following endpoints instead:

  • GET /api/access-control/datasources/:uid for listing data source permissions
  • POST /api/access-control/datasources/:uid/users/:id, POST /api/access-control/datasources/:uid/teams/:id and POST /api/access-control/datasources/:uid/buildInRoles/:id for adding or removing data source permissions

If you are using Terraform Grafana provider to manage data source permissions, you will need to upgrade your provider to version 2.6.0 or newer to ensure that data source permission provisioning keeps working.

Deprecations

Since Grafana 10.2.3 we're deprecating the showContextToggle data source method. To signal support of Logs Context, it is enough to implement the DataSourceWithLogsContextSupport interface.

Which issue(s) does this PR fix?:

Fixes grafana#66819 Related with grafana#73568 and grafana#73565

Special notes for your reviewer:

There should be no function change with this deprecation. Issue #77232

Plugin development fixes & changes

10.2.2 (2023-11-20)

Bug fixes

10.2.1 (2023-11-13)

Features and enhancements

Bug fixes

  • Dashboards: Fix dashboard listing when user can't list any folders. #77988, @IevaVasiljeva
  • Search: Modify query for better performance. #77713, @papagian
  • Dashboards: Fix issue causing crashes when saving new dashboard. #77641, @kaydelaney
  • RBAC: Allow scoping access to root level dashboards. #77608, @IevaVasiljeva
  • CloudWatch Logs: Add labels to alert and expression queries. #77594, @iwysiu
  • Bug Fix: Respect data source version when provisioning. #77542, @andresmgot
  • Explore: Fix support for angular based datasource editors. #77505, @Elfo404
  • Plugins: Fix status_source always being "plugin" in plugin request logs. #77436, @xnyo
  • InfluxDB: Fix aliasing with $measurement or $m on backend mode. #77383, @itsmylife
  • InfluxDB: Fix parsing multiple tags on backend mode. #77382, @itsmylife
  • Explore: Fix panes vertical scrollbar not being draggable. #77344, @Elfo404
  • Explore: Avoid reinitializing graph on every query run. #77290, @Elfo404
  • Bug fix: Correctly set permissions on provisioned dashboards. #77230, @IevaVasiljeva
  • InfluxDB: Fix adhoc filter calls by properly checking optional parameter in metricFindQuery. #77145, @itsmylife
  • InfluxDB: Fix table parsing with backend mode. #76990, @itsmylife
  • Alerting: Alert rule constraint violations return as 400s in provisioning API. #76978, @alexweav
  • PresenceIndicators: Do not retry failed views/recent API calls. (Enterprise)
  • Analytics: Use panel renderer rather than legacy flot graph. (Enterprise)

Breaking changes

For the existing backend mode users who have table visualization might see some inconsistencies on their panels. We have updated the table column naming. This will potentially affect field transformations and/or field overrides. To resolve this either:

  • Update transformation
  • Update field override Issue #76990

10.2.0 (2023-10-24)

Features and enhancements

Bug fixes

Breaking changes

The deprecated /playlists/{uid}/dashboards API endpoint has been removed. Dashboard information can be retrieved from the /dashboard/... APIs. Issue #75503

The PUT /api/folders/:uid endpoint no more supports modifying the folder's UID. Issue #74684

This is a breaking change as we're removing support for Intersection (although it is replaced with an option that is nearly the same). Issue #74675

Removed all components for the old panel header design. Issue [#74196](grafana#74196)

Deprecations

Correlations created before 10.1.0 do not have an organization id assigned and are treated as global. In some rare cases, it may lead to confusing behavior described in #72259. Organization id is now added when a correlation is created. Any existing correlations without organization id will be kept intact and work as before for backward compatibility during the deprecation period that is set to 6 months after handling organization id is released. After that time, correlations without org_id (or org_id = 0 in the database) will stop showing up in Grafana.

To migrate existing correlations to handle organization id correctly:

  • re-provision any correlations that were created as part of provisioning
  • re-create any correlations created with Admin/Correlations page Issue #72258

Starting with 10.2, parentRowIndex is deprecated. It will be removed in a future release. From 10.2, sub-tables are supported by adding FieldType.nestedFrames to the field that contains the nested data in your dataframe. Issue #71953

Plugin development fixes & changes

10.1.7 (2024-01-29)

Bug fixes

  • Annotations: Split cleanup into separate queries and deletes to avoid deadlocks on MySQL. #80678, @alexweav

10.1.6 (2023-12-18)

Features and enhancements

Bug fixes

  • Alerting: Fix deleting rules in a folder with matching UID in another organization. #79007, @papagian
  • Chore: Fix timeout issues when gathering prometheus datasource stats. #78858, @DanCech
  • Provisioning: Ensure that enterprise provisioning runs [10.1.x]. #76686, @IevaVasiljeva
  • Alerting: Make shareable alert rule link work if rule name contains forward slashes. #75950, @domasx2
  • Loki: Cache extracted labels. #75905, @gtk-grafana
  • DataSourcePicker: Disable autocomplete for the search input . #75900, @ivanortegaalba
  • Plugins: Refresh plugin info after installation. #75225, @oshirohugo
  • LDAP: FIX Enable users on successfull login . #75176, @gamab
  • Loki: Fix filters not being added with multiple expressions and parsers. #75172, @svennergr
  • Recorded Queries: Add org isolation (remote write target per org), and fix cross org Delete/List. (Enterprise)
  • Auditing and UsageInsights: FIX Loki configuration to use proxy env variables. (Enterprise)

10.1.5 (2023-10-11)

Features and enhancements

Bug fixes

  • Cloudwatch: Prevent log group requests with ARNs if feature flag is off. #75691, @sarahzinger
  • Alerting: Add support for keep_firing_for field from external rulers. #75257, @rwwiv
  • Canvas: Avoid conflicting stylesheets when loading SVG icons. #75032, @adela-almasan
  • Alerting: Prevent showing "Permissions denied" alert when not accurate. #74925, @VikaCep
  • BrowseDashboards: Only remember the most recent expanded folder. #74809, @joshhunt
  • Tempo Service Map: Fix context menu links in service map when namespace is present. #74796, @javiruiz01
  • Logs Panel: Performance issue while scrolling within panel in safari. #74747, @gtk-grafana
  • Bug: Allow to uninstall a deprecated plugin. #74704, @andresmgot
  • Licensing: Pass func to update env variables when starting plugin. #74678, @leandro-deveikis
  • Nested folders: Fix folder hierarchy in folder responses. #74580, @papagian
  • Share link: Use panel relative time for direct link rendered image. #74518, @Clarity-89
  • Alerting: Do not exit if Redis ping fails when using redis-based Alertmanager clustering. #74399, @alexweav
  • Alerting: Refactor AlertRuleForm and fix annotations step description for cloud rules. #74193, @soniaAguilarPeiron
  • RBAC: Chore fix hasPermissionInOrg. (Enterprise)
  • Licensing: Updated grpc plugin factory newPlugin signature. (Enterprise)
  • Reporting: Add support for old dashboard schema. (Enterprise)

10.1.4 (2023-09-29)

Features and enhancements

10.1.2 (2023-09-18)

Features and enhancements

10.1.1 (2023-08-29)

Features and enhancements

Bug fixes

10.1.0 (2023-08-22)

Features and enhancements

Bug fixes

Breaking changes

This change impacts all instances that use external authentication providers to manage users and organization role assignments.

From Grafana 10.1, it will no longer be possible to manually update organization roles (Viewer, Editor and Admin) that are managed by an external auth provider. We are making this change to clearly separate between roles managed by an external auth provider and manually assigned roles, which increases security and clarity around role management.

If you prefer to manually set user organization roles, use skip_org_role_sync option in the Grafana configuration file of your OAuth provider.

Refer to the release notes of Grafana 9.5 for context on the previous work done to build up to this change. Issue #72204

This change impacts GitHub OAuth, Gitlab OAuth, Okta OAuth and Generic OAuth

Currently if no organization role mapping is found for a user when connecting via OAuth, Grafana doesn’t update the user’s organization role.

With Grafana 10.1, on every login, if the role_attribute_path property does not return a role, then the user is assigned the role specified by the auto_assign_org_role option.

To avoid overriding manually set roles, enable the skip_org_role_sync option in the Grafana configuration for your OAuth provider. Issue #70766

InfluxDB backend parser returns incompatible data with frontend. The data was being parsed by frontend and we moving towards migrating InfluxDB fully backend. One caveat is Frontend is generating data frames with fields Time and Value. The backend parser, however, generates time and value. This is causing issues and inconsistencies for the features (i.e. transformations) relying on those. In order to have a unique approach we choose to support what most of the users already have. Existing Transformations that depend on time fields have to be updated to use Time fields. Issue #69865

For accessibility reasons tooltip or aria-label are now required properties for IconButton. In order to continue to use IconButton, you must ensure all IconButton components have a corresponding tooltip or aria-label text. The tooltip text will also be used as the aria-label if you didn't set one separately. In case you add an aria-label the IconButton will not show a tooltip. Issue #69699

The implementation for template macro ${__series.name} was not always correct, resulting in an interpolation that was very different from the series name displayed in the visualization. We have now fixed this issue so that it does show the same name. Depending on how ${__series.name} is used this could result in a minor breaking change. Issue #69621

The data source template variable type has changed the way it represents its options. The text field still represents the data source name, but the value has been changed to the uid of the data source. This allows dashboards to declare the currently selected option by uid, however it changes how a datasource template variable value will be rendered by default. If the name of the data source is expected, the variable syntax will have to be changed to specify the text format.

For example, given a data source variable (datasourceVariable), the following string:

${datasourceVariable}<br/>
Name: ${datasourceVariable:text}<br/>
UID: ${datasourceVariable:raw}

was previously interpolated as:

grafanacloud-k8smonitoring-prom
Name: grafanacloud-k8smonitoring-prom
UID: grafanacloud-k8smonitoring-prom

After these changes, it's interpolated as:

d7bbe725-9e48-4af8-a0cb-6cb255d873a3
Name: grafanacloud-k8smonitoring-prom
UID: d7bbe725-9e48-4af8-a0cb-6cb255d873a3

Any dashboards that are relying on the data source name being returned by ${datasourceVariable} will have to update all their usages to ${datasourceVariable:text} in order to get the previous behavior.

Affected use cases:

  • Using ${datasourceVariable} to display the data source name in text panel or in the panel title.
  • Using ${datasourceVariable} to use the data source name as part of the query content.

Unaffected use cases:

  • Using the ${datasourceVariable} to choose which data source to use for a query (through its data source picker) will not be affected since it can use both the name and the uid Issue #69259

We are changing the logic that creates uid in LogRowModel. Previously, for uid we used id field from log's data frame. Unfortunately, when users run multiple queries that returned duplicate logs data, uid was not unique which was causing bugs. To make uid unique across multiple queries that return duplicate logs data, we are now prepending uid with refId of query that produced the log line. We recommend not to rely on LogRowModel uid and instead use dataFrame id field. Issue #68569

The deprecated support for monitoring Grafana frontend using Sentry javascript agent has been removed in this release. If you have frontend logging enabled and are sending telemetry to Sentry by setting sentry_dsn configuration property, this will no longer work. Otherwise, if frontend logging is enabled, it will now automatically use Grafana Faro agent. Issue #67493

Deprecations

The query parameter of Explore's SplitOpen function is deprecated (passed in mapInternalLinkToExplore). Please use the queries parameter instead, which allows passing multiple queries to SplitOpen function. To pass a single query to SplitOpen function, set the queries parameter to an array containing that single query.

Fixes: grafana#62567 Issue #71484

Starting with 10.0, changing the folder UID is deprecated. It will be removed in a future release. Please avoid using it because it can result in folder losing its permissions. Issue #68543

Plugin development fixes & changes

  • GrafanaUI: Define tooltip or aria-label as required for IconButton. #69699, @L-M-K-B
  • Select: Performance improvements when opening menu and when hovering over options. #69230, @JoaoSilvaGrafana
  • ConfirmModal: Ignore case for confirmation text. #69000, @ashharrison90
  • Grafana/ui: Fix margin in RadioButtonGroup option when only icon is present. #68899, @aocenas

10.0.11 (2024-01-29)

Bug fixes

  • Annotations: Split cleanup into separate queries and deletes to avoid deadlocks on MySQL. #80681, @alexweav

10.0.10 (2023-12-18)

Features and enhancements

Bug fixes

  • Recorded Queries: Add org isolation (remote write target per org), and fix cross org Delete/List. (Enterprise)

10.0.9 (2023-10-11)

Features and enhancements

Bug fixes

  • BrowseDashboards: Only remember the most recent expanded folder. #74819, @joshhunt
  • Licensing: Pass func to update env variables when starting plugin. #74679, @leandro-deveikis
  • Nested folders: Fix folder hierarchy in folder responses. #74581, @papagian
  • RBAC: Chore fix hasPermissionInOrg. (Enterprise)
  • Licensing: Updated grpc plugin factory newPlugin signature. (Enterprise)

10.0.8 (2023-09-29)

Features and enhancements

10.0.6 (2023-09-18)

Features and enhancements

10.0.5 (2023-09-05)

Features and enhancements

  • SSE: DSNode to update result with names to make each value identifiable by labels (only Graphite and TestData. #73646, @yuri-tceretian

Bug fixes

10.0.4 (2023-08-22)

Features and enhancements

Bug fixes

10.0.3 (2023-07-26)

Features and enhancements

  • Alerting: Sort NumberCaptureValues in EvaluationString. #71931, @grobinson-grafana
  • Alerting: No longer silence paused alerts during legacy migration. #71761, @JacobsonMT
  • Auth: Add support for custom signing keys in auth.azure_ad. #71708, @Jguer
  • Chore: Upgrade Go to 1.20.6. #71445, @sakjur
  • Auth: Remove ldap init sync. (Enterprise)
  • Chore: Upgrade Go to 1.20.6. (Enterprise)

Bug fixes

  • Alerting: Fix edit / view of webhook contact point when no authorization is set. #71972, @gillesdemey
  • AzureMonitor: Set timespan in Logs Portal URL link. #71910, @aangelisc
  • AzureMonitor: Fix resource selection growing over resource selection table. #71862, @adamyeats
  • Plugins: Only configure plugin proxy transport once. #71742, @wbrowne
  • Elasticsearch: Fix multiple max depth flatten of multi-level objects. #71636, @fridgepoet
  • Elasticsearch: Fix histogram colors in backend mode. #71447, @gabor
  • Alerting: Fix state in expressions footer. #71443, @soniaAguilarPeiron
  • AppChromeService: Fixes update to breadcrumb parent URL. #71418, @torkelo
  • Elasticsearch: Fix using multiple indexes with comma separated string. #71322, @gabor
  • Alerting: Fix Alertmanager change detection for receivers with secure settings. #71320, @JacobsonMT
  • Transformations: Fix extractFields throwing Error if one value is undefined or null. #71267, @svennergr
  • XYChart: Point size editor should reflect correct default (5). #71229, @Develer
  • Annotations: Fix database lock while updating annotations. #71207, @sakjur
  • TimePicker: Fix issue with previous fiscal quarter not parsing correctly. #71093, @ashharrison90
  • AzureMonitor: Correctly build multi-resource queries for Application Insights components. #71039, @aangelisc
  • AzureMonitor: Fix metric names for multi-resources. #70994, @asimpson
  • Logs: Do not insert log-line into log-fields in json download. #70954, @gabor
  • Loki: Fix wrong query expression with inline comments. #70948, @svennergr
  • License: Enable FeatureUserLimit for all products. (Enterprise)

10.0.2 (2023-07-11)

Features and enhancements

  • Alerting: Add limit query parameter to Loki-based ASH api, drop default limit from 5000 to 1000, extend visible time range for new ASH UI. #70857, @alexweav
  • Alerting: Move rule UID from Loki stream labels into log lines. #70686, @rwwiv
  • Explore: Clean up query subscriptions when a query is canceled. #70516, @ifrost
  • Alerting: Allow selecting the same custom group when swapping folders. #70369, @gillesdemey

Bug fixes

  • Fix: Change getExistingDashboardByTitleAndFolder to get dashboard by title, not slug. #70936, @yangkb09
  • Login: Fix footer from displaying under the login box. #70909, @joshhunt
  • Alerting: Convert 'Both' type Prometheus queries to 'Range' in migration. #70854, @JacobsonMT
  • Variables: Detect a name for duplicated variable. #70823, @Ugzuzg
  • Logs: Fix wrong before and after texts in log context. #70802, @svennergr
  • Elasticsearch: Make it compatible with the new log context functionality. #70748, @gabor
  • Alerting: Fix HA alerting membership sync. #70700, @jcalisto
  • Alerting: Display correct results when using different filters on alerting panels. #70639, @VikaCep
  • XYChart: Fix axis range and scale overrides. #70614, @leeoniya
  • LogContext: Fix filtering out log lines with the same entry. #70569, @svennergr
  • Dashboard: Fix issue where a panel with a description and a cached response displays 2 info icons. #70566, @axelavargas
  • Navigation: Fix toolbar actions flickering on mobile. #70564, @ashharrison90
  • XYChart: Ensure color scale is field-local and synced with data updates. #70481, @leeoniya
  • Alerting: Fix unique violation when updating rule group with title chains/cycles. #70467, @JacobsonMT
  • Alerting: Add file and rule_group query params in request for filtering the res…. #70417, @soniaAguilarPeiron
  • SAML UI: Enforce one option for configuring IdP metadata. (Enterprise)

Plugin development fixes & changes

10.0.1 (2023-06-22)

Features and enhancements

  • Schema: Improve Dashboard kind docs and remove deprecated props. #69652, @ivanortegaalba
  • Alerting: Update alerting module to 20230524181453-a8e75e4dfdda. #69011, @yuri-tceretian
  • Caching: Update labels for cache insertions counter. (Enterprise)

Bug fixes

  • Auth: Fixed CVE-2023-3128. #70581, @zerok
  • Command palette: Include help links. #70322, @ashharrison90
  • Tempo: Use pipe in TraceQL by default for multi-value variables. #70321, @joey-grafana
  • XYChart/Trend: Fix min/max and units/decimals X field overrides. #70261, @leeoniya
  • Explore: Improve logs volume panel empty state. #70255, @Elfo404
  • Plugins: Wrap original check health error. #70227, @kousikmitra
  • XYChart: Fix variable interpolation in datalinks/toggletip. #70210, @leeoniya
  • XYChart: Fix formatting of axis ticks (units, decimals). #70193, @leeoniya
  • Auth: Show invite button if disable login form is set to false. #70155, @IevaVasiljeva
  • TextPanel: Fix <summary> styling missing the disclosure triangle. #70138, @joshhunt
  • Alerting: Fix email template for text/plain emails. #70111, @grobinson-grafana
  • Explore: Fixed Starred query history tab to show all starred queries. #70092, @harisrozajac
  • CodeEditor: Ensure suggestions only apply to the instance of the edit…. #70067, @ashharrison90
  • Command Palette: Links opened in a new tab now route correctly when Grafana is served under a subpath. #69925, @ashharrison90
  • Heatmap: Sort fields by numeric names when single frame. #69880, @leeoniya
  • CloudMonitoring: Improve parsing of GCM labels. #69812, @aangelisc
  • NestedFolders: Fix select all in folder view selecting items out of folder. #69783, @joshhunt
  • Alerting: Fix notification policies inheritance algorithm (#69304). #69782, @gillesdemey
  • Templating: Fix updating of definition to empty string. #69767, @ivanahuckova
  • Alerting: Support newer http_config struct. #69719, @gillesdemey
  • Loki: Fix including of template variables in variable query editor. #69709, @ivanahuckova
  • Azure: Fix Kusto auto-completion for Azure datasources (#69685). #69695, @aangelisc
  • Alerting: Fix broken UI because of query being optional for some ExpressionQuer…. #69683, @soniaAguilarPeiron
  • Explore: Run remaining queries when one is removed from a pane. #69670, @Elfo404
  • Dashboards: Variables - Improve slow template variable loading due same variable loaded multiple times on time range change. #69641, @axelavargas
  • Loki: Fix error when empty template variables response. #69559, @ivanahuckova
  • Alerting: Add heuristics back to datasource healthchecks. #69541, @grobinson-grafana
  • Util: Fix panic when generating UIDs concurrently. #69538, @JohnnyQQQQ
  • Alerting: Fix provisioned templates being ignored by alertmanager. #69488, @JacobsonMT
  • Log Context: Fix split view button using the wrong query. #69416, @svennergr
  • Pyroscope: Fix wrong defaults when importing query from different datasource. #69366, @aocenas
  • InfluxDB: Interpolate retention policies. #69300, @itsmylife
  • SQLStore: Align SQLite IsUniqueConstraintViolation() with other backend implementations. #69227, @papagian
  • Dashboards: Remove Explore option from panel menu when panel's datasource uid is "-- Dashboard --". #69173, @harisrozajac
  • Alerting: Fix "show all instances". #67837, @gillesdemey
  • Usage Insights: Fix last viewed date. (Enterprise)
  • Caching: Fix issue in which caching can cause HTTP resource response bodies to be written twice. (Enterprise)

10.0.0 (2023-06-12)

Features and enhancements

  • Themes: Unify secondary button and ToolbarButton. #69049, @torkelo
  • PublicDashboards: Email sharing users with active sessions added in Users list . (Enterprise)
  • Caching: Ensure context-canceled are not reported as errors . (Enterprise)
  • SAML: Configuration UI. (Enterprise)

Bug fixes

  • Query Editor: Ensure dropdown menus position correctly. #69131, @grafanabot
  • Drawer: Fixes closeOnMaskClick false issue. #69103, @grafanabot
  • SAML: Fix IdP metadata caching so that invalid metadata doesn't get cached. (Enterprise)

10.0.0-preview (2023-05-31)

Features and enhancements

Bug fixes

Breaking changes

The deprecated plugin:build command in the Grafana Toolkit have been removed in this release. The replacement create-plugin tool is recommended for plugin development. Issue #67485

The deprecated package:build, node-version-check and toolkit:build commands in the Grafana Toolkit have been removed in this release. Issue #67475

The deprecated plugin:github-publish command in the Grafana Toolkit have been removed in this release. Issue #67471

The /query-history/migrate endpoint has been removed and query history entries will not be automatically migrated when switching from local storage to remote storage. Issue #67470

The deprecated plugin:ci-build, plugin:ci-package, plugin:ci-report, plugin:update-circleci and plugin:bundle-managed commands in the Grafana Toolkit have been removed in this release. Issue #67212

The data-format used by the Loki data source for metric (graph producing) queries was changed to be compliant with the recommended Grafana format. The change is very small, we do not expect it to cause problems: for instant-queries the dataframe-type changed from timeseries-multi to numeric-multi, the dataframe-name attribute is not used anymore. If you are affected by this, you can revert back to the old format by setting the feature flag lokiMetricDataplane to false. We recommend migrating to the new format, because the feature-flag will be removed at some point in the future. Issue #67137

The deprecated plugin:sign command in the Grafana Toolkit have been removed in this release. The replacement sign-plugin tool is recommended for plugin signing. Issue #67130

The deprecated plugin:test and plugin:dev commands in the Grafana Toolkit have been removed in this release. Issue #67125

The type signature of the testDatasource() method on the DataSourceWithBackend class has changed, the returned Promise is now typed stricter, which is probably going to cause type-errors while building plugins against the latest Grafana versions.

// Before
abstract testDatasource(): Promise<any>;

// After
abstract testDatasource(): Promise<TestDataSourceResponse>;

Issue #67014

Grafana requires an Elasticsearch version of 7.16 or newer. If you use an older Elasticsearch version, you will get warnings in the query editor and on the datasource configuration page. Issue #66928

The deprecated plugin:create and component:create commands in the Grafana Toolkit have been removed in this release. The replacement create-plugin tool is recommended for scaffolding new plugins and a migration guide for moving from the toolkit is available here. Issue #66729

We've removed some now unused properties from the NavModel interface. Issue #66548

default named retention policies won't be used to query. Users who have a default named retention policy in their influxdb database, have to rename it to something else. Having default named retention policy is not breaking anything. We will make sure to use the actual default retention policy under the hood. To change the hardcoded retention policy in the dashboard.json, users must they select the right retention policy from dropdown and save the panel/dashboard. Issue #66466

We removed previously deprecated components from @grafana/data : getLogLevel, getLogLevelFromKey, addLogLevelToSeries, LogsParser, LogsParsers, calculateFieldStats, calculateLogsLabelStats, calculateStats, getParser, sortInAscendingOrder, sortInDescendingOrder, sortLogsResult, sortLogRows, checkLogsError, escapeUnescapedString. Issue #66271

We removed previously deprecated components from @grafana/ui : LogLabels, LogMessageAnsi, LogRows, getLogRowStyles. Issue #66268

We removed previously deprecated DataSourceWithLogsVolumeSupport that was replaced with DataSourceWithSupplementaryQueriesSupport. Both APIs are for internal use only. Issue #66266

Additional functions (map/filter/forEach/iterator) have been added to the root Vector interface. Any code using vectors will continue to work unchanged, but in the rare case that you have implemented Vector directly, it be missing these functions. The easiest fix is to extend FunctionalVector.

The ArrayVector class now extends the native JavaScript Array and gains all of its prototype/instance methods as a result. Issue #66187

We've removed the ability for functions to be passed as children to the Dropdown component. Previously, this was used to access the isOpen state of the dropdown. This can be now be achieved with the onVisibleChange prop.

Before:

return (
<Dropdown overlay={MenuActions} placement="bottom-end">
{(isOpen) =>
<ToolbarButton iconOnly icon="plus" isOpen={isOpen} aria-label="New" />
}
</Dropdown>
);

After:

const [isOpen, setIsOpen] = useState(false);

...

return (
<Dropdown overlay={MenuActions} placement="bottom-end" onVisibleChange={setIsOpen}>
<ToolbarButton iconOnly icon="plus" isOpen={isOpen} aria-label="New" />
</Dropdown>
);

Issue #65467

(relevant for plugin developers) The deprecated internal dashboardId is now removed from the request context. For usage tracking use the dashboardUid Issue #64786

Grafana has been upgraded to React 18 and now leverages the new React client rendering API. Plugin authors in particular should be aware, as there could be unintended side effects due to the changes around automatic batching of state updates and consistent useEffect timings. Be sure to test your plugins and reference the React 18 upgrade docs here: https://react.dev/blog/2022/03/08/react-18-upgrade-guide Issue #64428

Deprecations

For Elasticsearch annotation queries we are deprecating index field. Possibility to customise index for newly created annotations has already been removed in version 2.6.0 and since then we supported updating of index only for queries that customised index before 2.6.0. For users who would like to specify index for annotation queries we recommend to create a new Elasticsearch data source with specified index, and use that data source for annotations. Issue #67046

Scripts, systemd unit files and etc should stop using the grafana-cli and grafana-server programs, and instead use the grafana program. Uses of grafana-server should become grafana server, and uses of grafana-cli should become grafana cli. Issue #66976

The database field has been deprecated in the Elasticsearch datasource provisioning files, please use the index field in jsonData instead. Issue #66828

Plugin development fixes & changes

  • Toolkit: Remove deprecated plugin:build. #67485, @academo
  • Toolkit: Remove deprecated package:build, node-version-check and toolkit:build commands. #67475, @academo
  • Toolkit: Remove deprecated plugin:github-publish command. #67471, @academo
  • GrafanaUI: Add indeterminate state to Checkbox. #67312, @JoaoSilvaGrafana
  • Toolkit: Remove plugin:ci-build plugin:ci-package plugin:ci-report and related files. #67212, @academo
  • Toolkit: Remove deprecated plugin:sign command. #67130, @academo
  • Toolkit: Remove plugin:dev and plugin:test. #67125, @academo
  • Datasource: Overhaul plugin error handling and action buttons. #67014, @sasklacz
  • Toolkit: Remove plugin:create and component:create commands. #66729, @academo
  • InteractiveTable: Updated design and minor tweak to Correlactions page. #66443, @torkelo

9.5.16 (2024-01-29)

Bug fixes

  • Annotations: Split cleanup into separate queries and deletes to avoid deadlocks on MySQL. #80682, @alexweav

9.5.15 (2023-12-18)

Features and enhancements

Bug fixes

  • Recorded Queries: Add org isolation (remote write target per org), and fix cross org Delete/List. (Enterprise)

9.5.14 (2023-11-13)

Bug fixes

  • Alerting: Fix state manager to not keep datasource_uid and ref_id labels in state after Error. #77391, @yuri-tceretian
  • Transformations: Config overrides being lost when config from query transform is applied. #75347, @IbrahimCSAE
  • LDAP: FIX Enable users on successfull login . #75192, @gamab
  • Auditing and UsageInsights: FIX Loki configuration to use proxy env variables. (Enterprise)

9.5.13 (2023-10-11)

Features and enhancements

  • Chore: Upgrade Go to 1.20.10. #76367, @zerok
  • Licensing: Updated grpc plugin factory newPlugin signature. (Enterprise)

Bug fixes

  • BrowseDashboards: Only remember the most recent expanded folder. #74817, @joshhunt
  • Licensing: Pass func to update env variables when starting plugin. #74681, @leandro-deveikis
  • RBAC: Chore fix hasPermissionInOrg. (Enterprise)

9.5.12 (2023-09-29)

Features and enhancements

9.5.10 (2023-09-18)

Features and enhancements

9.5.9 (2023-09-05)

Features and enhancements

Bug fixes

9.5.8 (2023-08-16)

Features and enhancements

Bug fixes

9.5.7 (2023-07-20)

Features and enhancements

Bug fixes

  • Plugins: Only configure plugin proxy transport once. #71741, @wbrowne
  • Alerting: Fix unique violation when updating rule group with title chains/cycles. #71330, @grobinson-grafana
  • Fix: Change getExistingDashboardByTitleAndFolder to get dashboard by title, not slug. #70961, @yangkb09
  • Alerting: Convert 'Both' type Prometheus queries to 'Range' in migration. #70907, @JacobsonMT
  • Alerting: Support newer http_config struct. #69718, @gillesdemey
  • InfluxDB: Interpolate retention policies. #69299, @itsmylife
  • StatusHistory: Fix rendering of value-mapped null. #69107, @leeoniya
  • Alerting: Fix provenance guard checks for Alertmanager configuration to not cause panic when compared nested objects. #69092, @yuri-tceretian
  • AnonymousAuth: Fix concurrent read-write crash. #68802, @Jguer
  • AzureMonitor: Ensure legacy properties containing template variables are correctly migrated. #68790, @aangelisc
  • Explore: Remove data source onboarding page. #68643, @harisrozajac
  • Dashboard: Re-align Save form. #68625, @polibb
  • Azure Monitor: Fix bug that did not show alert rule preview. #68582, @alyssabull
  • Histogram: Respect min/max panel settings for x-axis. #68244, @leeoniya
  • Heatmap: Fix color rendering for value ranges < 1. #68163, @leeoniya
  • Heatmap: Handle unsorted timestamps in calculate mode. #68150, @leeoniya
  • Google Cloud Monitor: Fix mem usage for dropdown. #67949, @asimpson
  • AzureMonitor: Fix logs query multi-resource and timespan values. #67932, @aangelisc
  • Utils: Reimplement util.GetRandomString to avoid modulo bias. #66970, @DanCech
  • License: Enable FeatureUserLimit for all products. (Enterprise)
  • Auth: Remove ldap init sync. (Enterprise)

9.5.6 (2023-07-11)

Bug fixes

  • Dashboard: Fix library panels in collapsed rows not getting updated. #66640, @VictorColomb
  • Auth: Add and document option for enabling email lookup. @vtorosyan

9.5.5 (2023-06-22)

Bug fixes

9.5.3 (2023-06-06)

Bug fixes

  • Query: Prevent crash while executing concurrent mixed queries
  • Alerting: Require alert.notifications:write permissions to test receivers and templates

9.5.2 (2023-05-03)

Features and enhancements

Bug fixes

  • TimeSeries: Fix leading null-fill for missing intervals. #67571, @leeoniya
  • Dashboard: Revert fixed header shown on mobile devices in the new panel header. #67514, @grafanabot
  • PostgreSQL: Fix tls certificate issue by downgrading lib/pq. #67393, @grafanabot
  • Provisioning: Fix provisioning issues with legacy alerting and data source permissions. #67377, @grafanabot
  • Alerting: Fix misleading status code in provisioning API. #67358, @grafanabot
  • Explore: Update table min height (#67321). #67332, @adrapereira
  • DataLinks: Encoded URL fixed. #67291, @juanicabanas
  • Loki: Fix log samples using instant queries (#67271). #67275, @svennergr
  • Panel Header Fix: Implement new Panel Header on Angular Panels . #67228, @grafanabot
  • Azure Monitor: Fix bug that was not showing resources for certain locations. #67216, @grafanabot
  • Alerting: Fix panic when reparenting receivers to groups following an attempted rename via Provisioning. #67175, @grafanabot
  • Cloudwatch Logs: Clarify Cloudwatch Logs Limits. #67101, @grafanabot
  • SAML: Fix IdP metadata caching so that invalid metadata doesn't get cached. (Enterprise)

9.5.1 (2023-04-26)

Features and enhancements

9.5.0 (2023-04-04)

Features and enhancements

Bug fixes

  • API: Fix "Updated by" Column in dashboard versions table. #65351, @papagian
  • AccessControl: Allow editors to access GET /api/datasources. #66343, @mgyongyosi
  • Alerting: Add "backend" label to state history writes metrics. #65395, @alexweav
  • Alerting: Add alert instance labels to Loki log lines in addition to stream labels. #65403, @alexweav
  • Alerting: Elide requests to Loki if nothing should be recorded. #65011, @alexweav
  • Alerting: Fix DatasourceUID and RefID missing for DatasourceNoData alerts. #66733, @grobinson-grafana
  • Alerting: Fix ambiguous handling of equals in labels when bucketing Loki state history streams. #65013, @alexweav
  • Alerting: Fix attachment of external labels to Loki state history log streams. #65140, @alexweav
  • Alerting: Fix creating a recording rule when having multiple datasources. #66415, @VikaCep
  • Alerting: Fix explore link in alert detail view. #66106, @gillesdemey
  • Alerting: Fix share URL for Prometheus rules on subpath. #66752, @gillesdemey
  • Alerting: Fix stats that display alert count when using unified alerting. #64852, @gotjosh
  • Alerting: Hide mute timing actions when dealing with vanilla prometheus. #66457, @gillesdemey
  • Alerting: Paginate result previews. #65257, @gillesdemey
  • Alerting: Prometheus-compatible Alertmanager timings editor. #64526, @konrad147
  • Alerting: Update scheduler to get updates only from database. #64635, @yuri-tceretian
  • Alerting: Use a completely isolated context for state history writes. #64989, @alexweav
  • Alerting: Use displayNameFromDS if available in preview. #65342, @gillesdemey
  • Annotation List: Fix panel not updating when variable is changed. #65899, @JoaoSilvaGrafana
  • Annotations: Ignore unique constraint violations for tags. #65935, @sakjur
  • Auth: Fix orgrole picker disabled if isSynced user. #64033, @eleijonmarck
  • AzureMonitor: Fix Log Analytics portal links. #65482, @aangelisc
  • BrowseDashboards: Fix move to General folder not working. #65653, @joshhunt
  • Catalog: Show install error with incompatible version. #65059, @andresmgot
  • Chore: Update Grafana to use Alertmanager v0.25.1-0.20230308154952-78fedf89728b. #64778, @yuri-tceretian
  • CloudMonitoring: Add project selector for MQL editor[fix]. #65567, @alyssabull
  • CloudWatch Logs: Fix running logs queries with expressions. #65306, @iwysiu
  • CloudWatch Logs: Fix to make log queries use a relative time if available. #65236, @kevinwcyu
  • CloudWatch Logs: Revert "Queries in an expression should run synchronously (#64443)". #65036, @fridgepoet
  • CloudWatch: Fix cachedQueries insights not being updated for metric queries. #65495, @kevinwcyu
  • Cloudwatch: Pass refId from query for expression queries. #66147, @idastambuk
  • Dashboards: Evaluate provisioned dashboard titles in a backwards compatible way. #65184, @sakjur
  • Dashboards: Fix Mobile support dashboard issues on new iOS 16.3. #65542, @axelavargas
  • Dashboards: Fix broken internal data links. #66567, @ifrost
  • Database: Don't sleep 10ms before every request. #64832, @bboreham
  • Elasticsearch: Fix processing of response with multiple group by for alerting. #65165, @ivanahuckova
  • Elasticsearch: Handle multiple annotation structures. #66762, @gabor
  • Email: Mark HTML comments as "safe" in email templates. #64546, @gillesdemey
  • Emails: Preserve HTML comments. (Enterprise)
  • ErrorHandling: Fixes issues with bad error messages. #63775, @torkelo
  • ErrorView: Better detection of no-data responses. #65477, @leeoniya
  • Explore: Make DataSourcePicker visible on small screens. #65149, @abdulhdr1
  • Fix: DataLinks from data sources override user defined data link. #65996, @axelavargas
  • Fix: Top table rendering and update docs. #64497, @joey-grafana
  • Frontend: Fix broken links in /plugins when pathname has a trailing slash. #64348, @gassiss
  • Geomap: Fix route layer zoom behavior. #63409, @drew08t
  • Google Cloud Monitoring: Fix project variable. #66524, @asimpson
  • HeatMap: Sort y buckets when all bucket names are numeric. #65322, @leeoniya
  • InfluxDB: Fix querying with hardcoded retention policy. #66466, @itsmylife
  • InfluxDB: Fix sending retention policy with InfluxQL queries. #63820, @itsmylife
  • KVStore: Include database field in migration. #62790, @zoltanbedi
  • LDAP: Always synchronize Server Admin role through role sync if role sync is enabled. #58820, @IevaVasiljeva
  • Library panels: Ensure pagination controls are always correctly displayed. #65283, @ashharrison90
  • Loki: Fix autocomplete situations with multiple escaped quotes. #65520, @svennergr
  • MegaMenu: Fixes mega menu showing scroll indicator when it shouldn't. #65452, @torkelo
  • Navigation: Redirect to root page when switching organization. #66655, @ashharrison90
  • Navigation: Scrolled hamburger menu links now navigate correctly in Safari. #66261, @ashharrison90
  • NestedFolders: Fix nested folder deletion. #63572, @ying-jeanne
  • New Panel Header: Fix when clicking submenu item the parent menu item onClick get's triggered. #65691, @axelavargas
  • Phlare: Fix error when there are no profileTypes to send from backend. #65455, @aocenas
  • PieChart: Show long labels properly. #65699, @mdvictor
  • PluginExtensions: Fixed issue with incorrect type being exposed when configuring an extension. #65910, @mckn
  • Plugins: Ensure proxy route bodies are valid JSON. #61771, @wbrowne
  • Plugins: Fix width for README pages with tables. #66872, @andresmgot
  • Plugins: Markdown fetch retry with lowercase. #65384, @wbrowne
  • Plugins: Skip instrumenting plugin build info for core and bundled plugins. #66105, @wbrowne
  • PublicDashboards: Query collapsed panels inside rows. #64779, @evictorero
  • Query Splitting: Fix for handling queries with no requestId. #66161, @domasx2
  • SQL Datasources: Fix variable throwing error if query returns no data. #65937, @mdvictor
  • SQL Datasources: Prevent Call Stack Overflows with Large Numbers of Values for Variable. #64937, @codeincarnate
  • SQLStore: Fix SQLite error propagation if query retries are disabled. #64904, @papagian
  • Stat Panel: Fix issue with clipping text values. #64300, @JoaoSilvaGrafana
  • Table Panel: Fix panel migration for options cell type. #66305, @ryantxu
  • Table: Fix migrations from old angular table for cell color modes. #65760, @torkelo
  • Table: Fixes issue with pagination summary causing scrollbar. #65189, @torkelo
  • Table: Fixes table panel gauge alignment. #64994, @torkelo
  • TablePanel: Fix table cells overflowing when there are multiple data links. #65711, @oscarkilhed
  • TablePanel: fix footer bug; no footer calculated values after "hidden" column override. #64269, @baldm0mma
  • Team sync: Fix apply query string instead of param. (Enterprise)
  • Templating: Allow percent encoding of variable with custom all. #65266, @dprokop
  • Tempo: Set default limit if none is provided for traceql queries. #65039, @domasx2
  • TimeSeries: Don't extend stepped interpolation to graph edges. #65657, @leeoniya
  • TimeSeries: Improve stacking direction heuristic. #65499, @leeoniya
  • Trace View: Update the queryType to traceql for checking if same trace when clicking span link. #66645, @ericmustin
  • TraceView: Don't require preferredVisualisationType to render. #64920, @aocenas
  • Utils: Reimplement util.GetRandomString to avoid modulo bias. #64481, @DanCech
  • XYChart: Add all dataset columns in tooltip. #65027, @mdvictor

Breaking changes

default named retention policies won't be used to query. Users who have a default named retention policy in their influxdb database, have to rename it to something else. Having default named retention policy is not breaking anything. We will make sure to use the actual default retention policy under the hood. To change the hardcoded retention policy in the dashboard.json, users must they select the right retention policy from dropdown and save the panel/dashboard. Issue #66466

Grafana Alerting rules with NoDataState configuration set to Alerting will now respect "For" duration. Issue #65574

Users who use LDAP role sync to only sync Viewer, Editor and Admin roles, but grant Grafana Server Admin role manually will not be able to do that anymore. After this change, LDAP role sync will override any manual changes to Grafana Server Admin role assignments. If grafana_admin is left unset in LDAP role mapping configuration, it will default to false. Issue #58820

Plugin development fixes & changes

9.4.17 (2023-10-11)

Features and enhancements

  • Chore: Upgrade Go to 1.20.10. #76370, @zerok
  • SSE: DSNode to update result with names to make each value identifiable by labels (only Graphite and TestData). #74615, @yuri-tceretian

Bug fixes

  • BrowseDashboards: Only remember the most recent expanded folder. #74812, @joshhunt
  • SQL Datasources: Fix variable throwing error if query returns no data. #74609, @mdvictor
  • RBAC: Chore fix hasPermissionInOrg. (Enterprise)

9.4.15 (2023-09-18)

Features and enhancements

9.4.14 (2023-09-05)

Features and enhancements

Bug fixes

9.4.13 (2023-06-22)

Bug fixes

9.3.16 (2023-06-22)

Bug fixes

9.2.20 (2023-06-22)

Bug fixes

8.5.27 (2023-06-22)

Bug fixes