Grafana - v10.0.0-preview
Download page
What's new highlights
Features and enhancements
- API keys: Add deprecation to api keys. #65948, @eleijonmarck
- APIkeys: Add metrics for apikey endpoints. #66732, @eleijonmarck
- Alert: Redesign with tinted background. #66918, @torkelo
- Alerting: Add alert instance picker. #67138, @VikaCep
- Alerting: Add endpoint to revert to a previous alertmanager configuration. #65751, @JacobsonMT
- Alerting: Add support for running HA using Redis. #65267, @JohnnyQQQQ
- Alerting: Attach hash of instance labels to state history log lines. #65968, @alexweav
- Alerting: Choose a previous valid AM configuration in case of error. #65746, @VikaCep
- Alerting: Document state history config options in default and sample configuration files. #65748, @alexweav
- Alerting: Implement template preview for Grafana AlertManager. #65530, @soniaAguilarPeiron
- Alerting: Implement template testing endpoint. #67450, @JacobsonMT
- Alerting: Loki-based alert state history modal. #66595, @konrad147
- Alerting: Make Loki & Prometheus instant vector by default. #66797, @gillesdemey
- Alerting: Remove and revert flag alertingBigTransactions. #65976, @JacobsonMT
- Alerting: Scheduler use rule fingerprint instead of version. #66531, @yuri-tceretian
- Alerting: Update grafana/alerting to 4f09f51. #67329, @grobinson-grafana
- Alerting: Update legacy alerting warning. #66269, @armandgrillet
- Alerting: Use URLs in image annotations. #66804, @santihernandezc
- Alerting: Use configured headers for external alertmanager. #63819, @JohnnyQQQQ
- Alerting: Use default page size of 5000 when querying Loki for state history. #66315, @alexweav
- Annotations: Support filtering the target panels. #66325, @ryantxu
- AppRootPage: Reduce flickering while loading plugin. #66799, @torkelo
- Auth: Make GitHub auth's allowed_organizations be case insensitive. #66879, @consideRatio
- AzureMonitor: Application Insights Traces. #64859, @aangelisc
- CSRF middleware: Add flag to skip login cookie check. #66806, @PoorlyDefinedBehaviour
- Caching: Refactor enterprise query caching middleware to a wire service. #65616, @mmandrus
- Canvas: Connection properties based on data. #64360, @adela-almasan
- Chore: Clean up NavModel interface. #66548, @ashharrison90
- Chore: Remove deprecated dashboardId from panel query runner. #64786, @ryantxu
- Chore: Upgrade Go to 1.20.3. #66264, @sakjur
- Chore: Upgrade to react 18. #64428, @ashharrison90
- CloudWatch: Deprecate dynamic labels feature toggle, remove support for Alias in backend. #66494, @fridgepoet
- CloudWatch: Deprecate dynamic labels feature toggle, remove support for Alias in frontend. #67222, @fridgepoet
- Cloudwatch Logs: Update Cheatsheet. #67161, @sarahzinger
- Cloudwatch: Add FraudDetector namespace with metrics and dimensions. #67318, @ffje
- Cloudwatch: Add missing AWS/IVS namespace metrics. #65985, @idastambuk
- Correlations: Add transformation editor. #66217, @gelicia
- Dashboard: Add series color shades. #61300, @jkraml-staffbase
- DashlistPanel: Add options to include time range and variable values. #65757, @VictorColomb
- DataFrame: Handle nanosecond-precision timestamp fields. #64529, @gabor
- Datagrid Panel: Edit data within your dashboards. #66353, @mdvictor
- Design System: Set TextArea to display: block in order to remove spacing below. #66262, @L-M-K-B
- Docs: Create documentation for enterprise caching HTTP API. #67169, @mmandrus
- Dropdown: Stop Dropdown accepting a function as children. #65467, @ashharrison90
- EditDataSources: Add EditDataSourceActions to EditDataSourcePages. #64487, @mikkancso
- Elasticsearch: Add feature toggle to disable running queries trough backend. #66260, @ivanahuckova
- Elasticsearch: Deprecate index setting for annotation queries. #67046, @ivanahuckova
- Elasticsearch: Deprecate the usage of the database field in provisioning. #66828, @gwdawson
- Elasticsearch: Update required database version to 7.16. #66928, @gabor
- Explore: Align multiple log volumes. #64356, @ifrost
- Explore: Clear live logs. #64237, @abdulhdr1
- Explore: Promote exploreMixedDatasource feature toggle to beta. #66552, @ifrost
- Explore: Remove deprecated DataSourceWithLogsVolumeSupport. #66266, @ivanahuckova
- Explore: Run test datasource default selection when mounted. #65864, @gelicia
- Feature: Trusted Types support. #64975, @KristianGrafana
- FieldValues: Use plain arrays instead of Vector (part 1 of 2). #66187, @ryantxu
- GrafanaDS: Add support for annotation time regions. #65462, @leeoniya
- GrafanaData: Remove obsolete logs exports. #66271, @gabor
- GrafanaUI: Remove obsolete logs exports. #66268, @gabor
- Instrumentation: Add support for instrumenting database queries. #66022, @bergquist
- Log Context: Add button to open the context query in a split view. #66777, @svennergr
- Logs Navigation: Scroll to first log when using pagination. #66214, @matyax
- Logs: Redesign and improve LogContext. #65939, @svennergr
- Loki Query Editor: Increase autocomplete suggestions window with to 50%. #66041, @matyax
- Loki: Add feature flag to enable dataplane-compliant metric frames. #66017, @gabor
- Loki: Always display log context toggle. #66379, @matyax
- Loki: Enable dataplane-compliant metric data by default. #67137, @gabor
- Loki: Enable new log context query editor. #67131, @ivanahuckova
- Loki: Remove alpha feature toggle lokiDataframeApi. #65918, @gabor
- Packaging: Added deprecation warnings when running
grafana-cli
orgrafana-server
; thegrafana
command should be used instead. #66976, @kminehart - Packaging: Remove chkconfig dependency. #65887, @DanCech
- PanelContext: Add functionality to update data from panel. #66993, @torkelo
- Phlare: Support both Phlare and Pyroscope backends and rename to Grafana Pyroscope. #66989, @aocenas
- Plugins: Remove secure socks proxy feature toggle. #66611, @stephaniehingtgen
- Prometheus: Incremental querying option for
to: now
dashboards. #62932, @leeoniya - Query History: Remove migration. #67470, @Elfo404
- RBAC: Make access control metadata for folders work with nested folders. #66464, @IevaVasiljeva
- RBAC: Remove the option to disable RBAC and add automated permission migrations for instances that had RBAC disabled. #66652, @IevaVasiljeva
- SAML: Configuration UI. #64054, @alexanderzobnin
- SQL Datasources: Update Max Connection and Max Idle Connection Defaults to 100 and add auto mode. #65834, @codeincarnate
- Search: Add clear search button to the input bar. #66204, @khushijain21
- Search: Preserves search filters when navigating to another page. #67021, @khushijain21
- ServeFromSubPath: Redirect to URL with subpath when subpath missing. #66724, @torkelo
- Service Accounts: Allow unsetting token expiry date. #65862, @kousikmitra
- Tempo: Add kind to TraceQL intrinsics. #65111, @adrapereira
- Tempo: Encode IDs as hexadecimal when downloading traces. #66001, @kousikmitra
- TimeSeries: Explicitly add transformer when timeseries-long exists. #64092, @ryantxu
- Timeseries: Migrate legend hideFrom. #67305, @adela-almasan
- Trace View: Export trace button. #67368, @adrapereira
- Traces: Span filtering. #65725, @joey-grafana
- Tracing: Add links to documentation in config pages. #66442, @joey-grafana
- Users: Enable case insensitive login by default. #66134, @Jguer
- Visualizations: Choose color based on series name. #66197, @lukepalmer
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
andtoolkit: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
andplugin: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
- 🔍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!