grafana/CHANGELOG.md

84 KiB

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