Grafana - v10.0.0-preview


Download page
What's new highlights

Features and enhancements

Bug fixes

  • AccessControl: Allow editors to access GET /api/datasources. #66343, @mgyongyosi
  • Alerting: Fix DatasourceUID and RefID missing for DatasourceNoData alerts. #66733, @grobinson-grafana
  • Alerting: Fix creating a recording rule when having multiple datasources. #66415, @VikaCep
  • Alerting: Fix explore link in alert detail view. #66106, @gillesdemey
  • Alerting: Fix misleading status code in provisioning API. #67331, @usommerl
  • Alerting: Fix panic when reparenting receivers to groups following an attempted rename via Provisioning. #67167, @alexweav
  • Alerting: Fix share URL for Prometheus rules on subpath. #66752, @gillesdemey
  • Alerting: Fix silences preview. #66000, @konrad147
  • Alerting: Hide mute timing actions when dealing with vanilla prometheus. #66457, @gillesdemey
  • Alerting: Use a completely isolated context for state history writes. #64989, @alexweav
  • Annotation List: Fix panel not updating when variable is changed. #65899, @JoaoSilvaGrafana
  • Annotations: Ignore unique constraint violations for tags. #65935, @sakjur
  • Annotations: Improve get tags query performance. #66182, @papagian
  • Auth: Remove the session cookie only if it's invalid or revoked. #65984, @mgyongyosi
  • Azure Monitor: Fix bug that was not showing resources for certain locations. #66502, @alyssabull
  • Catalog: Show install error with incompatible version. #65059, @andresmgot
  • Cloudwatch Logs: Clarify Cloudwatch Logs Limits. #67072, @sarahzinger
  • Cloudwatch: Fix ui bug in template variable editor. #66207, @iSatVeerSingh
  • Cloudwatch: Pass refId from query for expression queries. #66147, @idastambuk
  • Dashboard: New panel in a dashboard is not deleted after "Discard"-ing changes in Panel Edit. #66476, @polibb
  • Dashboard: Revert fixed header shown on mobile devices in the new panel header. #67510, @axelavargas
  • Dashboards: Fix broken internal data links. #66567, @ifrost
  • Elasticsearch: Fix processing of duplicated metric types and field. #66973, @ivanahuckova
  • Elasticsearch: Handle multiple annotation structures. #66762, @gabor
  • Explore: Fix using data source line limit when opening logs sample in split view. #66601, @ivanahuckova
  • Explore: Update table min height. #67321, @adrapereira
  • Expressions/threshold: Fix incorrect thresholds args length. #66859, @gillesdemey
  • Fix: DataLinks from data sources override user defined data link. #65996, @axelavargas
  • Google Cloud Monitoring: Fix project variable. #66524, @asimpson
  • InfluxDB: Fix querying with hardcoded retention policy. #66466, @itsmylife
  • Library panels: Ensure pagination controls are always correctly displayed. #65283, @ashharrison90
  • Loki: Fix ad hoc filters when used with number and > and < operators. #66579, @ivanahuckova
  • Loki: Fix incorrect evaluation of real and extracted labels in context. #67112, @ivanahuckova
  • Loki: Fix log samples using instant queries. #67271, @svennergr
  • Navigation: Redirect to root page when switching organization. #66655, @ashharrison90
  • Navigation: Scrolled hamburger menu links now navigate correctly in Safari. #66261, @ashharrison90
  • Panel Header Fix: Implement new Panel Header on Angular Panels. #66826, @axelavargas
  • PieChart: Show long labels properly. #65699, @mdvictor
  • PluginExtensions: Fixed issue with incorrect type being exposed when configuring an extension. #65910, @mckn
  • Plugins: Fix plugin catalog filtering. #66663, @leventebalogh
  • Plugins: Fix width for README pages with tables. #66872, @andresmgot
  • Plugins: Fs: Add option to access unallowed files in dev mode. #66492, @xnyo
  • Plugins: Skip instrumenting plugin build info for core and bundled plugins. #66105, @wbrowne
  • PostgreSQL: Fix tls certificate issue by downgrading lib/pq. #67372, @zoltanbedi
  • Provisioning: Fix provisioning issues with legacy alerting and data source permissions. #67308, @IevaVasiljeva
  • Proxy: Improve header handling for reverse proxy. #67279, @sakjur
  • Pyroscope: Fix autodetection in case of using Phlare backend. #67536, @aocenas
  • Query Splitting: Fix for handling queries with no requestId. #66161, @domasx2
  • Rendering: Fix panel rendered count on error. #67027, @AgnesToulet
  • Reports: Add empty UID to not found dashboard. (Enterprise)
  • SQL Datasources: Fix variable throwing error if query returns no data. #65937, @mdvictor
  • Table Panel: Fix panel migration for options cell type. #66305, @ryantxu
  • Table: Fix migrations from old angular table for cell color modes. #65760, @torkelo
  • Tempo: TraceQL query builder QoL improvements. #66865, @adrapereira
  • TimeSeries: Fix leading null-fill for missing intervals. #67570, @leeoniya
  • Trace View: Update the queryType to traceql for checking if same trace when clicking span link. #66645, @ericmustin
  • Transformations: Improve UX and fix refId issues. #65982, @torkelo
  • Utils: Reimplement util.GetRandomString to avoid modulo bias. #64481, @DanCech
  • XYChart: Add all dataset columns in tooltip. #65027, @mdvictor

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](https://github.com/grafana/grafana/issues/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](https://github.com/grafana/grafana/issues/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](https://grafana.github.io/plugin-tools/docs/creating-a-plugin) and a migration guide for moving from the toolkit is available [here](https://grafana.github.io/plugin-tools/docs/migrating-from-toolkit). Issue [#66729](https://github.com/grafana/grafana/issues/66729)


We've removed some now unused properties from the `NavModel` interface. Issue [#66548](https://github.com/grafana/grafana/issues/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](https://github.com/grafana/grafana/issues/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](https://github.com/grafana/grafana/issues/66271)


We removed previously deprecated components from `@grafana/ui` : `LogLabels`, `LogMessageAnsi`, `LogRows`, `getLogRowStyles`.
 Issue [#66268](https://github.com/grafana/grafana/issues/66268)


We removed previously deprecated `DataSourceWithLogsVolumeSupport` that  was replaced with `DataSourceWithSupplementaryQueriesSupport`. Both APIs are for internal use only.  Issue [#66266](https://github.com/grafana/grafana/issues/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](https://github.com/grafana/grafana/blob/main/packages/grafana-data/src/vector/FunctionalVector.ts).

The `ArrayVector` class now extends the native JavaScript `Array` and gains all of its prototype/instance methods as a result. Issue [#66187](https://github.com/grafana/grafana/issues/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 (

{(isOpen) =>

}

);


After:

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

...

return (



);
``` 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

Details

date
May 31, 2023, 1:51 p.m.
name
10.0.0-preview (2023-05-31)
type
Pre-release
👇
Register or login to:
  • 🔍View and search all Grafana releases.
  • 🛠️Create and share lists to track your tools.
  • 🚨Setup notifications for major, security, feature or patch updates.
  • 🚀Much more coming soon!
Continue with GitHub
Continue with Google
or