grafana/CHANGELOG.md
grafana-delivery-bot[bot] 3e6d073140
Changelog: Updated changelog for 10.3.7 (#89728)
Co-authored-by: grafanabot <bot@grafana.com>
2024-06-25 17:11:40 -04:00

431 KiB
Raw Blame History

11.1.0 (2024-06-21)

Features and enhancements

Bug fixes

  • Alerting: Fix go-swagger extraction and several embedded types from Alertmanager in Swagger docs. #88879, @alexweav
  • DashboardScene: Fixes inspect with transforms issue. #88843, @torkelo
  • Elasticsearch: Fix stripping of trailing slashes in datasource URLs. #88779, @ivanahuckova
  • Loki: Fix editor history in wrong order. #88666, @svennergr
  • Cli: Fix bug where password is hashed twice. #88589, @kalleep
  • AzureMonitor: Fix bug detecting app insights queries. #88572, @aangelisc
  • SSE: Fix threshold unmarshal to avoid panic. #88521, @yuri-tceretian
  • Dashboard: Fix Variables query hides fields with non-supported datasources. #88516, @axelavargas
  • Explore: Align time filters properly to day boundaries in query history. #88498, @aocenas
  • Access Control: Clean up permissions for deprovisioned data sources. #88483, @IevaVasiljeva
  • Dashboards: Correctly display Admin access to dashboards in the UI. #88439, @IevaVasiljeva
  • LibraryPanels/RBAC: Ignore old folder permission check when deleting/patching lib panel. #88422, @kaydelaney
  • LogsTable: Fix default sort by time. #88398, @svennergr
  • Dashboards: Fix regression when deleting folder. #88311, @papagian
  • Docker: Fix renderer plugin in custom Dockerfile. #88223, @AgnesToulet
  • Alerting: Fix rules deleting when reordering whilst filtered. #88221, @tomratcliffe
  • Alerting: Fix "copy link" not including full URL. #88210, @tomratcliffe
  • Alerting: Fix typo in JSON response for rule export. #88028, @yuri-tceretian
  • Alerting: Fix scheduler to sort rules before evaluation. #88006, @yuri-tceretian
  • CloudMonitoring: Fix query type selection issue. #87990, @aangelisc
  • Alerting: Assume built-in AM is receiving alerts in case of not having admin config. #87893, @soniaAguilarPeiron
  • DashboardScene: Skip panel repeats when values are the same. #87788, @torkelo
  • Alerting: Fix deleting rules when silencing/resuming rule from a panel alert tab. #87710, @soniaAguilarPeiron
  • Dashboards: Don't set dashboard creator/updater if the action is done by an API key. #87704, @IevaVasiljeva
  • Elasticsearch: Fix setting of default maxConcurrentShardRequests. #87703, @ivanahuckova
  • Graphite: Fix alignment of elements in the query editor. #87662, @NWRichmond
  • DashboardScene: Fixing major row repeat issues. #87539, @torkelo
  • Alerting: Do not store series values from past evaluations in state manager for no reason. #87525, @alexweav
  • RBAC: Update role picker in team page, fix a bug with roles being removed upon team setting update. #87519, @IevaVasiljeva
  • Transformations: Fix true inner join in joinByField transformation. #87409, @baldm0mma
  • Alerting: Do not retry rule evaluations with "input data must be a wide series but got type long" style errors. #87343, @alexweav
  • Tempo: Fix sorting for nested tables. #87214, @fabrizio-grafana
  • Cloudwatch Logs: Fix bug where we did not return errors to user. #87190, @sarahzinger
  • CloudWatch: Fix apostrophes in dimension values not being escaped. #87182, @kevinwcyu
  • AnnotationList: Fix link for annotation with no panel or dashboard. #87048, @tskarhed
  • Graphite: Fix splitting expressions in tag_value with template variables. #86958, @EduardZaydler
  • SQL Query Editor: Fix label-for IDs, associate "Table" label. #86944, @timo
  • SSO: Add SSO settings to secrets migrator. #86913, @dmihai
  • Plugins: Preserve trailing slash in plugin proxy. #86859, @marefr
  • TimeSeries: Improve keyboard focus and fix spacebar override. #86848, @tskarhed
  • NodeGraph: Use values from fixedX/fixedY column for layout. #86643, @timo
  • Alerting: Prevent simplified routing zero duration GroupInterval and RepeatInterval. #86561, @JacobsonMT
  • Loki: Fix setting of tenant ID. #86433, @fabrizio-grafana
  • DashboardScene: Fixes checkbox orienation in save forms. #86408, @torkelo
  • CloudMonitoring: Correctly interpolate multi-valued template variables in PromQL queries. #86391, @aangelisc
  • Expressions: Fix erroneous sorting of metrics and expressions. #86372, @NWRichmond
  • CloudMonitoring: Allow a custom group by value. #86288, @aangelisc
  • DataLinks: Fixes datalinks with onClick and variables in url not being interpolated . #86253, @gng0
  • I18N: Fix untranslated descriptions in data source picker. #86216, @joshhunt
  • RBAC: Fix global role deletion in hosted Grafana. #85980, @IevaVasiljeva
  • Expression: Fix a bug of the display name of the threshold expression result. #85912, @lingyufei
  • Alerting: Fix incorrect display of pending period in alert rule form. #85893, @tomratcliffe
  • Alerting: Fix redirect after saving a notification template. #85667, @tomratcliffe
  • Alerting: Get oncall metada only when we have alert manager configuration data. #85622, @soniaAguilarPeiron
  • Alerting: Return better error for invalid time range on alert queries. #85611, @alexweav
  • CloudWatch: Fix SageMaker MBP namespace typo. #85557, @tristanburgess
  • Alerting: Only append /alertmanager when sending alerts to mimir targets if not already present. #85543, @alexweav
  • Alerting: Set mimir implementation in jsonData by default when creating a new a…. #85513, @soniaAguilarPeiron
  • Alerting: Persist silence state immediately on Create/Delete . #84705, @JacobsonMT
  • NodeGraph: Fix configuring arc colors with mixed case field names. #84609, @timo
  • Auditing: Fix Loki URL parsing. (Enterprise)
  • Provisioning: Add override option to role provisioning. (Enterprise)
  • Alerting: Check pointers before use to prevent segfault. (Enterprise)
  • Reporting: Fix UI errors when using linked variables. (Enterprise)

Breaking changes

Users that provision alert rules into folders whose titles contain slashes from now on they should escape them: eg. if an alert group contains: folder: folder_with_/_in_title it should become: folder: folder_with_\/_in_title Issue #77450

Deprecations

The grafana.explore.richHistory.activeDatasourceOnly local storage key is deprecated, and will be removed in Grafana 12. You may experience loss of your Explore query history or autocomplete data if you upgrade to Grafana 12 under 2 weeks of Grafana 11.1. Actual risk of data loss depends on your query history retention policy. Issue #86250

Plugin development fixes & changes

11.0.1 (2024-06-21)

Bug fixes

Breaking changes

If you had selected your language as "Português Brasileiro" previously, this will be reset. You have to select it again in your Preferences for the fix to be applied and the translations will then be shown. Issue #89374

11.0.0 (2024-05-14)

Features and enhancements

Bug fixes

  • AuthN: Fix signout redirect url. #87681, @kalleep
  • CloudMonitoring: Improve legacy query migrations. #87648, @aangelisc
  • Azure data sources: Set selected config type before save. #87632, @bossinc
  • Loki: Fix log context when no label types are present. #87600, @svennergr
  • DashboardScene: Fixes editing transformations after toggling table view. #87485, @torkelo
  • DashboardDataSource: Fixes issue where sometimes untransformed data could be returned . #87484, @torkelo
  • Provisioning: Look up provisioned folders by UID when possible. #87468, @DanCech
  • Cloudwatch: Update grafana-aws-sdk to fix sts endpoints. #87345, @iwysiu
  • Select: Fixes issue preserving search term (input) when selecting a value. #87249, @torkelo
  • Alerting: Prevent search from locking the browser. #87230, @gillesdemey
  • DashboardScene: Fixes issue referring to library panel in dashboard data source . #87173, @torkelo
  • Data source: Maintain the default data source permissions when switching from unlicensed to licensed Grafana. #87142, @IevaVasiljeva
  • Alerting: Allow deleting contact points referenced only by auto-generated policies. #87115, @gillesdemey
  • Auth: Sign sigV4 request after adding headers. #87072, @iwysiu
  • DashboardScene: Fixes issues with relative time range in panel edit. #87026, @torkelo
  • DashboardScene: Fixes issue with dashboard links and variables. #87025, @torkelo
  • SQLStore: Disable redundant create and drop unique index migrations on dashboard table. #86867, @papagian
  • LogContext: Fix structured metadata labels being added as stream selectors. #86826, @svennergr
  • DashboardScene: Fixes issue with editing panels that uses instanceState. #86824, @torkelo
  • DashboardScene: Fixes deleting dirty dashboard. #86757, @torkelo
  • Alerting: Take receivers into account when custom grouping Alertmanager groups. #86699, @konrad147
  • LDAP: Fix listing all non-matching groups. #86689, @mgyongyosi
  • Alerting: Fix simplified routing group by override. #86563, @JacobsonMT
  • NodeGraph: Fix invisible arrow tips in Editor. #86548, @timo
  • Dashboard: DashboardPageProxy - Use chaining operators to prevent runtime error. #86536, @axelavargas
  • Cli: Check missing plugin parameter of plugin update command. #86522, @VergeDX
  • DashboardScene: Fixes issue saving new dashboard from panel edit. #86480, @torkelo
  • DashboardScene: Fixes minor issue transitioning between dashboards. #86475, @torkelo
  • MSSQL: Add SQL_VARIANT converter and update test. #86469, @aangelisc
  • DashboardScene: Fixes react panels with old angular options. #86411, @torkelo
  • Alerting: Fix simplified routes '...' groupBy creating invalid routes. #86376, @JacobsonMT
  • AWS DataSource: Fix namespaces in sagemaker metrics. #86363, @tristanburgess
  • DashboardScene: Fixes saving dashboard with angular panels . #86255, @torkelo
  • DashboardScene: Fix empty row repeat issue. #86254, @torkelo
  • Nodegraph: Fix issue with rendering single node. #86195, @aocenas
  • Datasources: Add fixed width to name field in config editor. #86179, @sunker
  • Alerting: Return a 400 and errutil error when trying to delete a contact point that is referenced by a policy. #86163, @alexweav
  • Table Panel: Fix image disappearing when datalinks applied. #86160, @codeincarnate
  • LibraryPanelRBAC: Fix issue with importing dashboards containing library panels. #86149, @kaydelaney
  • DashboardScene: Fixes issue moving between dashboards. #86096, @torkelo
  • Alerting: Fix evaluation metrics to not count retries. #86059, @stevesg
  • Google Cloud Monitor: Fix interface conversion for incorrect type in cloudMonitoringProm.run. #85928, @adamyeats
  • Dashboard: Allow auto refresh option when saving a dashboard. #85922, @bfmatei
  • Time Zones: Fix relative time when using UTC timezone. #85779, @ashharrison90
  • PostgreSQL: Fix the verify-ca mode. #85775, @gabor
  • DashboardScene: Fixes issue with mobile responsive layout due to repeated grid item class. #85741, @torkelo
  • DashboardScene: Fixes panel edit issue with clearing title not resulting in hover header mode . #85633, @torkelo
  • Angular deprecation: Prefer local "angularDetected" value to the remote one. #85632, @xnyo
  • Chore: Fix trailing spaces in prometheus min step. #85579, @euniceek
  • SAML: Fix Authn request generation in case of HTTP-POST binding. (Enterprise)
  • Reporting: Fix CSVs for library panels within folders. (Enterprise)

Breaking changes

The @grafana/e2e package is deprecated in Grafana 11.0.0. If your Grafana plugin has end-to-end tests that use @grafana/e2e, it's recommended to replace them with @grafana/plugin-e2e and Playwright. For information on how to migrate, please refer to the plugin-e2e docs. Issue #85778

Plugin development fixes & changes

11.0.0-preview

Features and enhancements

Bug fixes

  • RBAC: Fix access checks for interactions with RBAC roles in hosted Grafana. #85520, @IevaVasiljeva
  • Keybindings: Replace mod+h as help shortcut with ? . #85449, @tskarhed
  • RBAC: Fix slow user permission search query on MySQL. #85410, @gamab
  • BrowseDashboards: Add subpath to URLs on Browse Dashboards page. #85354, @butkovv
  • Dashboards: Fix issue where long ad-hoc values broke UI. #85290, @kaydelaney
  • NodeGraph: Fix possible metadata mismatch between nodes in graph. #85261, @aocenas
  • Alerting: Fix receiver inheritance when provisioning a notification policy. #85193, @julienduchesne
  • AuthProxy: Fix missing session for ldap auth proxy users. #85136, @Jguer
  • RBAC: Fix slow user permission search query on MySQL. #85058, @gamab
  • CloudMonitoring: Only run query if filters are complete. #85004, @aangelisc
  • BrowseDashboards: Add subpath to URLs on Browse Dashboards page. #84992, @butkovv
  • Datasources: Fix expressions that reference hidden queries. #84977, @sunker
  • Canvas: Fix crash when trying to add wind turbine element. #84962, @nmarrs
  • InfluxDB: Fix alias interpolation when it has $__interval or multiple tags. #84940, @itsmylife
  • Alerting: Stop returning autogen routes for non-admin on api/v2/status. #84864, @JacobsonMT
  • Alerting: Fix broken panelId links. #84839, @gillesdemey
  • Alerting: External AM fix parsing basic auth with escape characters. #84681, @JacobsonMT
  • Alerting: Support PromQL-style matchers. #84672, @gillesdemey
  • FolderPicker: Add permission filter to nested folder picker. #84644, @joshhunt
  • RolePicker: Don't try to fetch roles for new form. #84630, @kalleep
  • Pyroscope: Fix template variable support. #84477, @aocenas
  • Scenes: Fix public dashboard email sharing section. #84467, @juanicabanas
  • Alerting: Fix AlertsFolderView not showing rules when using nested folders. #84465, @soniaAguilarPeiron
  • Jaeger: Fix flaky test. #84441, @fabrizio-grafana
  • Scenes: Fix issue with discarding unsaved changes modal in new dashboards. #84369, @kaydelaney
  • PostgreSQL: Display correct initial value for tls mode. #84356, @gabor
  • Cloudwatch: Fix issue with Grafana Assume Role. #84315, @sarahzinger
  • Playlists: Fix kiosk mode not activating when starting a playlist. #84262, @joshhunt
  • Google Cloud Monitor: Fix res being accessed after it becomes nil in promql_query.go. #84223, @adamyeats
  • Elasticsearch: Fix using of individual query time ranges when querying. #84201, @ivanahuckova
  • InfluxDB: Fix for wrong query generated with template variable and non regex operator on frontend mode. #84175, @wasim-nihal
  • Prometheus: Remove < and > from Query Builder Label Matcher operations. #83981, @kylebrandt
  • Worker: Use CorsWorker to avoid CORS issues. #83976, @ivanortegaalba
  • Tempo: Fix by operator to support multiple arguments. #83947, @fabrizio-grafana
  • Plugins Catalog: Fix plugin details page initial flickering. #83896, @leventebalogh
  • Loki: Interpolate variables in live queries. #83831, @ivanahuckova
  • Table Panel: Fix condition for showing footer options. #83801, @codeincarnate
  • Alerting: Fix bug in screenshot service using incorrect limit. #83786, @grobinson-grafana
  • Alerting: Fix editing Grafana folder via alert rule editor. #83771, @gillesdemey
  • Cloudwatch: Fix new ConfigEditor to add the custom namespace field . #83762, @idastambuk
  • LDAP: Fix LDAP users authenticated via auth proxy not being able to use LDAP active sync. #83715, @Jguer
  • Elasticsearch: Fix adhoc filters not applied in frontend mode. #83592, @svennergr
  • RBAC: Fix delete team permissions on team delete. #83442, @gamab
  • Dashboards: Fixes issue where panels would not refresh if time range updated while in panel view mode. #83418, @kaydelaney
  • AzureMonitor: Fix mishandled resources vs workspaces. #83184, @adamyeats
  • Sql: Fix an issue with connection limits not updating when jsonData is updated. #83175, @jarben
  • Alerting: Use time_intervals instead of the deprecated mute_time_intervals in a…. #83147, @soniaAguilarPeiron
  • DataFrame: Improve typing of arrayToDataFrame helper and fix null/undefined handling. #83104, @aocenas
  • Cloudwatch: Fix filter button issue in VariableEditor. #83082, @wilguo
  • Alerting: Fix panic in provisioning filter contacts by unknown name. #83070, @JacobsonMT
  • Search: Include collapsed panels in search v2. #83047, @suntala
  • Plugins: Fix loading modules that only export a default. #82299, @sd2k
  • Table: Fix units showing in footer after reductions without units. #82081, @codeincarnate
  • AuthProxy: Invalidate previous cached item for user when changes are made to any header. #81445, @klesh
  • Unit: Add SI prefix for empty unit. #79897, @raymalt
  • Variables: Multi-select DataSource variables are inconsistently displayed in the Data source picker. #76039, @polibb
  • SAML: Better error message for saml private key type errors. (Enterprise)
  • Reporting: Fix monthly schedule text and modify monthly schedule inputs behavior. (Enterprise)

Breaking changes

In 9.3 we released a way to set case_insensitive_login to true. This enables, lowercased username, login for users signing up with Grafana, for more information read our blog post.

If you encounter any issues with users signing up, we recommend everyone to use lowercase in their login, username otherwise refer to the blog post for how to solve any of the users that can be conflicting with their login/username. Issue #84972

This is a breaking change for users who use uppercase in their login or emails. The users are by default now using lowercase as part of their login and emails.

Before this code change, users would be able to still log in as either aUser@user.com or auser@user.com, users are now only able to login and signup with grafana using lowercasing auser@user.com.

We recommend reviewing the blog post about using the CLI and why this is important for us to consolidate our security efforts. Issue #84840

This is a breaking change for users who have restricted the default access to annotation permissions by removing annotation related actions from the Viewer or Editor basic roles. In such cases we are not able to complete the permission migration automatically, and you will see the following log in your Grafana server logs: basic role permissions missing annotation permissions, skipping annotation permission migration. You will also notice that dashboard and folder permissions do not appear in the user interface. Don't worry, all the permissions that you assigned are still there, they are just not being displayed.

We recommend reviewing what annotation permissions you have revoked from the basic roles (you can reference our documentation to see what permissions are missing). If you are fine granting them back to the basic roles, do that, then run the following data base command: DELETE FROM migration_log WHERE migration_id="managed dashboard permissions annotation actions migration" and restart Grafana. This will make sure that the annotation permission migration gets run again, and this time it should succeed.

If you are not willing to grant the annotation permissions back to the basic roles, please disable annotationPermissionUpdate feature toggle (add annotationPermissionUpdate = false to [feature_toggles] in Grafana's configuration file) and reach out to Grafana's support team. When we can learn more about your use case, we will work with you to find a solution. Issue #84787

Angular support is turned off by default starting Grafana 11, you can find all the details in a dedicated documentation page.

Issue #84738

The xpack checkbox dependency for enabling the Include Frozen Indices functionality has been removed, allowing direct control over frozen indices inclusion. Users should review their datasource settings to ensure the "Include Frozen Indices" option is configured as desired, particularly if xpack was previously disabled. This change aims to simplify configuration options and may affect queries if settings are not adjusted accordingly. Issue #84734

For data sources that extend DataSourceWithBackend, the filterQuery method is now called before the data source query method. If the filterQuery method assumes that some kind of query migration happens before this method is called, you now need to do the migration inside this method.

Users of data source plugins that did not previously remove hidden queries will see a change of behaviour: Before this change, clicking the Disable query button had no impact on the query result, but starting from Grafana 11 responses associated with hidden queries will no longer be returned to the panel. Issue #84656

SystemJS is no longer exported from @grafana/runtime. Plugin developers should instead rely on importing modules / packages using standard TS import syntax and npm/yarn for package installation.

Issue #84561

We've removed the Loki tab from the Tempo data source. You can still access Logs through the Loki data source or can also create a link from Tempo to Loki via our trace to logs feature. Issue #84346

The query option in splitOpen was deprecated in 10.1 and is now being removed. Issue #83973

Since https://github.com/grafana/grafana/pull/38942 (Grafana 8.2.0) the ExploreQueryFieldProps type was deprecated and is now removed. Issue #83972

Since https://github.com/grafana/grafana/pull/38942 exploreId is no longer supplied to query editors in Explore. The property was deprecated in 10.3.0 and is now removed. If your query editor needs to know from which app is being rendered, you can check the app prop in QueryEditorProps. Issue #83971

The Vector interface that was deprecated in Grafana 10 has been further deprecated. Using it will now generate build-time Typescript errors, but remain working at runtime. If you're still using ArrayVector in your code, it should be removed immediately and replaced with plain arrays. Plugins compiled against older versions and depend on calling get/set will continue to work because the Array prototype still has a modified prototype. This will be removed in the future Issue #83681

In Grafana 11 the legacy alerting reaches the end-of-life. Users cannot enable it and Grafana will refuse to start if the settings are not updated to run the new Grafana Alerting. Migration from legacy alerting is not available as well. Grafana 10.4.x is the last version that offers the migration.

  • If the setting [alerting].enable is set to true Grafana will not start and emit the log message with recommendations to change the configuration

  • Setting [alerting].max_annotation_age is replaced by [unified_alerting.state_history.annotations].max_age

  • Setting [alerting].max_annotations_to_keep is replaced by [unified_alerting.state_history.annotations].max_annotations_to_keep

  • setting [unified_alerting].execute_alerts does not fall back to the legacy [alerting].execute_alerts anymore. Instead, the default value true is used.

  • setting [unified_alerting].evaluation_timeout does not fall back to the legacy setting [alerting].evaluation_timeout_seconds in the case when it is either invalid or has the default value. Now, if the setting is invalid, it will cause Grafana to exit.

  • setting [unified_alerting].min_interval does not fall back to the legacy setting [alerting].min_interval_seconds in the case when it is either invalid or has the default value. Now, if the setting is invalid, it will cause Grafana to exit. Issue #83651

We've removed React 17 as a peer dependency from our packages. Anyone using the new versions of these packages should ensure they've upgraded to React 18 following the upgrade steps: https://react.dev/blog/2022/03/08/react-18-upgrade-guide Issue #83524

We're adding a validation between the response of the ID token HD parameter and the list of allowed domains as an extra layer of security. In the event that the HD parameter doesn't match the list of allowed domains, we're denying access to Grafana.

If you set Google OAuth configuration using api_url, you might be using the legacy implementation of OAuth, which doesn't have the HD parameter describing the organisation the approved token comes from. This could break your login flow.

This feature can be turned off through the configuration toggle validate_hd . Anyone using the legacy Google OAuth configuration should turn off this validation if the ID Token response doesn't have the HD parameter. Issue #83229

The direct input datasource plugin has been removed in Grafana 11. It has been in alpha for 4 years and is superseded by TestData that ships with Grafana.

Issue #83163

The alert rule API methods now require more permissions for users to perform changes to rules. To create a new rule or update or delete an existing one, the user must have permission to read from the folder that stores the rules (i.e. permission folder:read in the scope of the rule's folder) and permission to read alert rules in that folder (i.e. permission alert.rules:read

The standard roles already have all required permissions, and therefore, neither OSS nor Grafana Enterprise users who use the fixed roles (standard roles provided by Grafana) are affected. Only Grafana Enterprise users who create custom roles can be affected Issue #78289

The deprecated endpoint for rendering pdf of a single dashboard GET /render/pdf/:dashboardID and report model fields dashboardId, dashboardName, dashboardUid, and templateVars have been removed. Only new endpoint GET /api/reports/render/pdfs accepting dashboards list is support moving forward Issue #6362

The deprecated old schedule setting with separate fields hour, minute, day have been removed. Only new schedule setting with startDate will be supported moving forward Issue #6329

The deprecated email field to send a report via /api/reports/email endpoint have been removed. Only emails field will be supported moving forward. Issue #6328

Plugin development fixes & changes

10.4.5 (2024-06-21)

Bug fixes

  • Echo: Suppress errors from frontend-metrics API call failing. #89498, @joshhunt
  • Azure Monitor: Add validation for namespace field in AdvancedResourcePicker when entering a forward slash. #89313, @adamyeats

10.4.4 (2024-06-13)

Bug fixes

10.4.3 (2024-05-13)

Features and enhancements

Bug fixes

  • CloudMonitoring: Improve legacy query migrations. #87647, @aangelisc
  • Azure data sources: Set selected config type before save. #87585, @bossinc
  • Provisioning: Look up provisioned folders by UID when possible. #87467, @DanCech
  • Cloudwatch: Update grafana-aws-sdk to fix sts endpoints. #87348, @iwysiu
  • Alerting: Prevent search from locking the browser. #87231, @gillesdemey
  • SQLStore: Disable redundant create and drop unique index migrations on dashboard table. #86866, @papagian
  • Alerting: Take receivers into account when custom grouping Alertmanager groups. #86697, @konrad147
  • LDAP: Fix listing all non-matching groups. #86690, @mgyongyosi
  • Alerting: Fix simplified routing group by override. #86620, @JacobsonMT
  • Alerting: Return a 400 and errutil error when trying to delete a contact point that is referenced by a policy. #86162, @alexweav
  • LibraryPanelRBAC: Fix issue with importing dashboards containing library panels. #86150, @kaydelaney
  • Google Cloud Monitor: Fix res being accessed after it becomes nil in promql_query.go. #85959, @adamyeats
  • Google Cloud Monitor: Fix interface conversion for incorrect type in cloudMonitoringProm.run. #85957, @adamyeats
  • Dashboard: Allow auto refresh option when saving a dashboard. #85921, @bfmatei
  • Reporting: Fix monthly schedule text and modify monthly schedule inputs behavior. (Enterprise)
  • SAML: Fix Authn request generation in case of HTTP-POST binding. (Enterprise)

10.4.2 (2024-04-10)

Bug fixes

  • Angular deprecation: Prefer local "angularDetected" value to the remote one. #85631, @xnyo
  • AuthProxy: Fix missing session for ldap auth proxy users. #85237, @Jguer
  • Alerting: Fix receiver inheritance when provisioning a notification policy. #85192, @julienduchesne
  • CloudMonitoring: Only run query if filters are complete. #85016, @aangelisc

10.4.1 (2024-03-20)

Features and enhancements

  • Alerting: Add "Keep Last State" backend functionality. #84406, @rwwiv
  • Postgres: Allow disabling SNI on SSL-enabled connections. #84249, @papagian
  • DataQuery: Track panel plugin id not type. #83164, @torkelo

Bug fixes

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.7 (2024-06-21)

Bug fixes

  • Echo: Suppress errors from frontend-metrics API call failing. #89497, @joshhunt

10.3.6 (2024-05-13)

Features and enhancements

Bug fixes

  • Azure data sources: Set selected config type before save. #87584, @bossinc
  • LibraryPanelRBAC: Fix issue with importing dashboards containing library panels. #86148, @kaydelaney
  • AuthProxy: Fix missing session for ldap auth proxy users. #85250, @Jguer
  • PDF: Fix initialization when SMTP is disabled. (Enterprise)

10.3.5 (2024-03-20)

Features and enhancements

  • Postgres: Allow disabling SNI on SSL-enabled connections. #84259, @papagian

Bug fixes

  • Snapshots: Require delete within same org (backport). #84707, @ryantxu
  • Elasticsearch: Fix legend for alerting, expressions and previously frontend queries. #84684, @ivanahuckova
  • Dashboard: Fix issue where out-of-view shared query panels caused blank dependent panels. #84196, @kaydelaney
  • Alerting: Fix preview getting the correct queries from the form. #81481, @soniaAguilarPeiron

10.3.4 (2024-03-06)

Features and enhancements

  • Chore: Improve domain validation for Google OAuth - Backport 83229 to v10.3.x. #83725, @linoman

Bug fixes

  • LDAP: Fix LDAP users authenticated via auth proxy not being able to use LDAP active sync. #83750, @Jguer
  • Tempo: Add template variable interpolation for filters (#83213). #83706, @joey-grafana
  • Elasticsearch: Fix adhoc filters not applied in frontend mode. #83596, @svennergr
  • Dashboards: Fixes issue where panels would not refresh if time range updated while in panel view mode. #83525, @kaydelaney
  • Auth: Fix email verification bypass when using basic authentication. #83484
  • AuthProxy: Invalidate previous cached item for user when changes are made to any header. #83203, @klesh
  • LibraryPanels/RBAC: Fix issue where folder scopes weren't being correctly inherited. #82902, @kaydelaney
  • LibraryPanels: Fix issue with repeated library panels. #82259, @kaydelaney
  • Plugins: Don't auto prepend app sub url to plugin asset paths. #82147, @wbrowne
  • Elasticsearch: Set middlewares from Grafana's httpClientProvider. #81929, @svennergr
  • Folders: Fix failure to update folder in SQLite. #81862, @papagian
  • Loki/Elastic: Assert queryfix value to always be string. #81463, @svennergr

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 #83725

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 Whats 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 Whats 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.8 (2024-06-21)

Bug fixes

  • Elasticsearch: Fix URL creation and allowlist for /_mapping requests. #87711, @svennergr

10.2.7 (2024-05-13)

Features and enhancements

Bug fixes

  • Azure data sources: Set selected config type before save. #87583, @bossinc

10.2.6 (2024-03-25)

Features and enhancements

  • Postgres: Allow disabling SNI on SSL-enabled connections. #84258, @papagian

Bug fixes

  • CloudMonitoring: Only run query if filters are complete. #85014, @aangelisc
  • Snapshots: Require delete within same org (backport). #84730, @ryantxu
  • Dashboard: Fix issue where out-of-view shared query panels caused blank dependent panels. #84195, @kaydelaney
  • Dashboards: Run shared queries even when source panel is in collapsed row. #84166, @kaydelaney
  • Prometheus: Fix calculating rate interval when there is no interval specified. #84082, @itsmylife
  • Prometheus: Fix $__rate_interval calculation. #84063, @tolzhabayev

10.2.5 (2024-03-06)

Features and enhancements

  • Alerting: Add setting to distribute rule group evaluations over time. #81404, @alexweav

Bug fixes

  • Cloudwatch: Fix errors while loading queries/datasource on Safari. #83842, @kevinwcyu
  • Elasticsearch: Fix adhoc filters not applied in frontend mode. #83595, @svennergr
  • Auth: Fix email verification bypass when using basic authentication. #83489
  • Alerting: Fix queries and expressions in rule view details. #82875, @soniaAguilarPeiron
  • Plugins: Don't auto prepend app sub url to plugin asset paths. #82146, @wbrowne
  • Folders: Fix failure to update folder in SQLite. #81861, @papagian

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, faster 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: https://github.com/grafana/grafana/pull/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 https://github.com/grafana/grafana/issues/66819 Related with https://github.com/grafana/grafana/issues/73568 and https://github.com/grafana/grafana/issues/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](https://github.com/grafana/grafana/issues/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.10 (2024-05-13)

Features and enhancements

10.1.9 (2024-03-25)

Bug fixes

  • Snapshots: Require delete within same org (backport). #84765, @ryantxu

10.1.8 (2024-03-06)

Bug fixes

  • Auth: Fix email verification bypass when using basic authentication. #83492

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 successful 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 doesnt update the users 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: https://github.com/grafana/grafana/issues/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.13 (2024-03-25)

Bug fixes

  • Snapshots: Require delete within same org (backport). #84764, @ryantxu

10.0.12 (2024-03-06)

Bug fixes

  • Auth: Fix email verification bypass when using basic authentication. #83493

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.20 (2024-06-21)

9.5.19 (2024-05-13)

Features and enhancements

Bug fixes

  • Provisioning: Look up provisioned folders by UID when possible. #87504, @DanCech

9.5.18 (2024-03-25)

Bug fixes

  • Snapshots: Require delete within same org (backport). #84762, @ryantxu

9.5.17 (2024-03-05)

Features and enhancements

Bug fixes

  • Auth: Fix email verification bypass when using basic authentication. #83494

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 successful 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