All Versions
347
Latest Version
Avg Release Cycle
7 days
Latest Release
522 days ago

Changelog History
Page 4

  • v9.0.1 Changes

    June 21, 2022

    πŸ”‹ Features and enhancements

    • Alerting: Add support for image annotation in Alertmanager alerts. #50686, @grobinson-grafana
    • Alerting: Add support for images in SensuGo alerts. #50718, @grobinson-grafana
    • Alerting: Add support for images in Threema alerts. #50734, @grobinson-grafana
    • Alerting: Adds Mimir to Alertmanager data source implementation. #50943, @gillesdemey
    • Alerting: Invalid setting of enabled for unified alerting should return error. #49876, @grobinson-grafana
    • AzureMonitor: Clean namespace when changing the resource. #50311, @andresmgot
    • AzureMonitor: Update supported namespaces and filter resources by the right type. #50788, @andresmgot
    • CLI: Allow relative symlinks in zip archives when installing plugins. #50537, @marefr
    • Dashboard: Don't show unsaved changes modal for automatic schema changes. #50822, @torkelo
    • Dashboard: Unsaved changes warning should not trigger when only pluginVersion has changed. #50677, @torkelo
    • Expression: Execute hidden expressions. #50636, @yesoreyeram
    • Geomap: Support showing tooltip content on click (not just hover). #50985, @ryantxu
    • Heatmap: Remove alpha flag from new heatmap panel. #50733, @ryantxu
    • Instrumentation: Define handlers for requests that are not handled with named handlers. #50613, @bergquist
    • 🌲 Log Panel: Improve log row hover contrast and visibility. #50908, @Seyaji
    • πŸ”Š Logs: Handle backend-mode errors in histogram. #50535, @gabor
    • Loki: Do not show histogram for instant queries. #50711, @gabor
    • Loki: Handle data source configs with path in the url. #50971, @gabor
    • Loki: Handle invalid query type values. #50755, @gabor
    • OAuth: Redirect to login if no oauth module is found or if module is not configured. #50661, @kalleep
    • OptionsUI: Move internal options editors out of @grafana/ui. #50739, @ryantxu
    • Prometheus: Don't show undefined for step in collapsed options in query editor when value is "auto". #50511, @aocenas
    • Prometheus: Show query patterns in all editor modes for Prometheus and Loki. #50263, @ivanahuckova
    • Tempo: Add link to Tempo Search with node service selected. #49776, @joey-grafana
    • Time Series Panel: Add Null Filling and "No Value" Support. #50907, @codeincarnate
    • TimeSeries: Add an option to set legend width. #49126, @bobrik
    • Timeseries: Improve cursor Y sync behavior. #50740, @ryantxu
    • Traces: Do not use red in span colors as this looks like an error. #50074, @joey-grafana

    πŸ› Bug fixes

    • Alerting: Fix AM config overwrite when SQLite db is locked during sync. #50951, @JacobsonMT
    • Alerting: Fix alert instances filtering for prom rules. #50850, @konrad147
    • Alerting: Fix alert rule page crashing when datasource contained URL unsafe characters. #51105, @gillesdemey
    • Alerting: Fix automatically select newly created folder option. #50949, @gillesdemey
    • Alerting: Fix removal of notification policy without labels matchers. #50678, @konrad147
    • CloudWatch: Allow hidden queries to be executed in case an ID is provided. #50987, @sunker
    • Dashboard: Prevent non-repeating panels being dropped from repeated rows when collapsed/expanded. #50764, @ashharrison90
    • Dashboards: Fix folder picker not showing correct results when typing too fast. #50303, @joshhunt
    • Datasource: Prevent panic when proxying for non-existing data source. #50667, @wbrowne
    • Explore: Fix log context scroll to bottom. #50600, @ivanahuckova
    • Explore: Revert "Remove support for compact format URLs (#49350)". #50873, @gelicia
    • Expressions: Fixes dashboard schema migration issue that casued Expression datasource to be set on panel level. #50945, @torkelo
    • Formatting: Fixes valueFormats for a value of 0. #50719, @JoaoSilvaGrafana
    • GrafanaData: Fix week start for non-English browsers. #50582, @AgnesToulet
    • LibraryPanel: Resizing a library panel to 6x3 no longer crashes the dashboard on startup. #50400, @ashharrison90
    • LogRow: Fix placement of icon. #51010, @ivanahuckova
    • Loki: Fix bug in labels framing. #51015, @gabor
    • Loki: Fix issues with using query patterns. #50414, @ivanahuckova
    • Loki: Fix showing of duplicated label values in dropdown in query builder. #50680, @ivanahuckova
    • MSSQL: Fix ParseFloat error. #50815, @zoltanbedi
    • Panels: Fixes issue with showing 'Cannot visualize data' when query returned 0 rows. #50485, @torkelo
    • Playlists: Disable Create Playlist buttons for users with viewer role. #50840, @asymness
    • πŸ”Œ Plugins: Fix typo in plugin data frames documentation. #50554, @osisoft-mbishop
    • Prometheus: Fix body not being included in resource calls if they are POST. #50833, @aocenas
    • RolePicker: Fix submenu position on horizontal space overflow. #50769, @Clarity-89
    • Tracing: Fix trace links in traces panel. #50028, @connorlindsey

    πŸ—„ Deprecations

    πŸ‘Œ Support for compact Explore URLs is deprecated and will be removed in a future release. Until then, when navigating to Explore using the deprecated format the URLs are automatically converted. If you have existing links pointing to Explore update them using the format generated by Explore upon navigation.

    ⚑️ You can identify a compact URL by its format. Compact URLs have the left (and optionally right) url parameter as an array of strings, for example &left=["now-1h","now"...]. The standard explore URLs follow a key/value pattern, for example &left={"datasource":"test"...}. Please be sure to check your dashboards for any hardcoded links to Explore and update them to the standard URL pattern. Issue #50873

    <!-- 9.0.1 END --> <!-- 9.0.0 START -->

  • v9.0.0 Changes

    June 10, 2022

    πŸ”‹ Features and enhancements

    πŸ› Bug fixes

    • Alerting: Fix database unavailable removes rules from scheduler. #49874, @grobinson-grafana
    • AzureMonitor: Fix auto-selection of time-grain for metrics. #49278, @aangelisc
    • DataSources: Fixes issue with expressions not being queried. #50446, @JoaoSilvaGrafana
    • GraphNG: Fix thresholds by color not following data update. #48571, @zoltanbedi
    • Jaeger: Update operations dropdown. #49329, @joey-grafana
    • Login: Fix mismatching label on auth_module in user list. #49177, @Jguer
    • Playlists: Save button now correctly creates a new playlist. #50381, @ashharrison90
    • RBAC: Fix migrations running in the wrong order causing inheritance problem in enterprise. #50452, @gamab
    • RBAC: Fix migrations running into the wrong order. (Enterprise)
    • ServiceAccounts: Add identifiable token prefix to service account tokens. #49011, @Jguer
    • Traces: Fix missing CopyButton on KeyValueTables and overlapping of panels. #49271, @svennergr

    πŸ’₯ Breaking changes

    ⚑️ The @grafana/ui package helper function selectOptionInTest used in frontend tests has been removed as it caused testing libraries to be bundled in the production code of Grafana. If you were using this helper function in your tests please update your code accordingly:

    // before
    import { selectOptionInTest } from '@grafana/ui';
    // ...test usage
    await selectOptionInTest(selectEl, 'Option 2');
    
    // after
    import { select } from 'react-select-event';
    // ...test usage
    await select(selectEl, 'Option 2', { container: document.body });
    

    Issue #50442

    βœ‚ Removed deprecated checkHealth prop from the @grafana/e2e addDataSource config. Previously this value defaulted to false, and has not been used in end-to-end tests since Grafana 8.0.3. Issue #50296

    βœ‚ Removes the deprecated LegacyBaseMap, LegacyValueMapping, LegacyValueMap, and LegacyRangeMap types, and getMappedValue function from grafana-data. Migration is as follows: | Old | New | | ------------- | ------------- | | LegacyBaseMap | MappingType | | LegacyValueMapping | ValueMapping | | LegacyValueMap | ValueMap | | LegacyRangeMap | RangeMap | | getMappedValue | getValueMappingResult | Issue #50035

    ⚑️ This change fixes a bug in Grafana where intermittent failure of database, network between Grafana and the database, or error in querying the database would cause all alert rules to be unscheduled in Grafana. Following this change scheduled alert rules are not updated unless the query is successful.

    The get_alert_rules_duration_seconds metric has been renamed to schedule_query_alert_rules_duration_seconds. Issue #49874

    • 0️⃣ Any secret (data sources credential, alert manager credential, etc, etc) created or modified with Grafana v9.0 won't be decryptable from any previous version (by default) because the way encrypted secrets are stored into the database has changed. Although secrets created or modified with previous versions will still be decryptable by Grafana v9.0.
    • ⚑️ If required, although generally discouraged, the disableEnvelopeEncryption feature toggle can be enabled to keep envelope encryption disabled once updating to Grafana v9.0.
    • βͺ In case of need to rollback to an earlier version of Grafana (i.e. Grafana v8.x) for any reason, after being created or modified any secret with Grafana v9.0, the envelopeEncryption feature toggle will need to be enabled to keep backwards compatibility (only from v8.3.x a bit unstable, from 8.5.x stable).
    • βͺ As a final attempt to deal with issues related with the aforementioned situations, the grafana-cli admin secrets-migration rollback command has been designed to move back all the Grafana secrets encrypted with envelope encryption to legacy encryption. So, after running that command it should be safe to disable envelope encryption and/or roll back to a previous version of Grafana.
    • ⚑️ Alternatively or complementarily to all the points above, backing up the Grafana database before updating could be a good idea to prevent disasters (although the risk of getting some secrets corrupted only applies to those updates/created with after updating to Grafana v9.0). Issue #49301

    • πŸ“š According to the dynamic labels documentation, you can use up to five dynamic values per label. There’s currently no such restriction in the alias pattern system, so if more than 5 patterns are being used the GetMetricData API will return an error.

    • Dynamic labels only allow \${LABEL} to be used once per query. There’s no such restriction in the alias pattern system, so in case more than 1 is being used the GetMetricData API will return an error.

    • When no alias is provided by the user, Grafana will no longer fallback with custom rules for naming the legend.

    • In case a search expression is being used and no data is returned, Grafana will no longer expand dimension values, for instance when using a multi-valued template variable or star wildcard * in the dimension value field. Ref https://github.com/grafana/grafana/issues/20729

    • Time series might be displayed in a different order. Using for example the dynamic label ${PROP('MetricName')}, might have the consequence that the time series are returned in a different order compared to when the alias pattern {{metric}} is used

    Issue #49173

    πŸ”§ In Elasticsearch, browser access mode was deprecated in grafana 7.4.0 and removed in 9.0.0. If you used this mode, please switch to server access mode on the datasource configuration page. Issue #49014

    πŸ”Œ Environment variables passed from Grafana to external Azure plugins have been renamed:

    • AZURE_CLOUD renamed to GFAZPL_AZURE_CLOUD
    • AZURE_MANAGED_IDENTITY_ENABLED renamed to GFAZPL_MANAGED_IDENTITY_ENABLED
    • AZURE_MANAGED_IDENTITY_CLIENT_ID renamed to GFAZPL_MANAGED_IDENTITY_CLIENT_ID

    πŸ”Œ There are no known plugins which were relying on these variables. Moving forward plugins should read Azure settings only via Grafana Azure SDK which properly handles old and new environment variables. Issue #48954

    βœ‚ Removes support for for ElasticSearch versions after their end-of-life, currently versions < 7.10.0. To continue to use ElasticSearch data source, upgrade ElasticSearch to version 7.10.0+. Issue #48715

    πŸ“š Application Insights and Insight Analytics queries in Azure Monitor were deprecated in Grafana 8.0 and finally removed in 9.0. Deprecated queries will no longer be executed. Please refer to the documentation for more information about this change.

    Issue #48328

    0️⃣ grafana/ui: Button now specifies a default type="button"

    0️⃣ The Button component provided by @grafana/ui now specifies a default type="button" when no type is provided. In previous versions, if the attribute was not specified for buttons associated with a <form> the default value was submit per the specification

    You can preserve the old behavior by explicitly setting the type attribute: <Button type="submit" />

    Github Issue #41863. Issue #48183

    The Rename by regex transformation has been improved to allow global patterns of the form /<stringToReplace>/g. Depending on the regex match used, this may cause some transformations to behave slightly differently. You can guarantee the same behaviour as before by wrapping the match string in forward slashes (/), e.g. (.*) would become /(.*)/ Issue #48179

    ⚑️ <Select /> menus will now portal to the document body by default. This is to give more consistent behaviour when positioning and overlaying. If you were setting menuShouldPortal={true} before you can safely remove that prop and behaviour will be the same. If you weren't explicitly setting that prop, there should be no visible changes in behaviour but your tests may need updating. Please see the original PR (https://github.com/grafana/grafana/pull/36398) for migration guides. If you were setting menuShouldPortal={false} this will continue to prevent the menu from portalling.

    Issue #48176

    βœ… Grafana alerting endpoint prefixed with api/v1/rule/test that tests a rule against a Corte/Loki data source now expects the data source UID as a path parameter instead of the data source numeric identifier. Issue #48070

    πŸ›  Grafana alerting endpoints prefixed with api/prometheus/ that proxy requests to a Cortex/Loki data source now expect the data source UID as a path parameter instead of the data source numeric identifier. Issue #48052

    πŸ›  Grafana alerting endpoints prefixed with api/ruler/ that proxy requests to a Cortex/Loki data source now expect the data source UID as a path parameter instead of the data source numeric identifier. Issue #48046

    πŸ›  Grafana alerting endpoints prefixed with api/alertmanager/ that proxy requests to an Alertmanager now expect the data source UID as a path parameter instead of the data source numeric identifier. Issue #47978

    πŸš€ The format of log messages have been updated, lvl is now level and erorand dbug has been replaced with error and debug. The precision of timestamps has been increased. To smooth the transition, it is possible to opt-out of the new log format by enabling the feature toggle oldlog. This option will be removed in a future minor release. Issue #47584

    πŸ”Š In the Loki data source, the dataframe format used to represent Loki logs-data has been changed to a more efficient format. The query-result is represented by a single dataframe with a "labels" column, instead of the separate dataframes for every labels-value. When displaying such data in explore, or in a logs-panel in the dashboard will continue to work without changes, but if the data was loaded into a different dashboard-panel, or Transforms were used, adjustments may be necessary. For example, if you used the "labels to fields" transformation with the logs data, please switch to the "extract fields" transformation. Issue #47153

    πŸ—„ Deprecations

    πŸš€ setExploreQueryField, setExploreMetricsQueryField and setExploreLogsQueryField are now deprecated and will be removed in a future release. If you need to set a different query editor for Explore, conditionally render based on props.app in your regular query editor. Please refer to https://grafana.com/docs/grafana/latest/developers/plugins/add-support-for-explore-queries/ for more information. Issue #48701

    πŸ”Œ Plugin development fixes & changes

    <!-- 9.0.0 END --> <!-- 9.0.0-beta3 START -->

  • v9.0.0-beta3 Changes

    June 06, 2022

    πŸ”‹ Features and enhancements

    • Alerting: Add provenance guard to config api. #50147, @JohnnyQQQQ
    • Alerting: Make folder filter clearable in Alert list panel. #50093, @peterholmberg
    • Alerting: Provisioning API - Alert rules. #47930, @JohnnyQQQQ
    • Alerting: Remove Image Upload code from Slack notifier. #50062, @joeblubaugh
    • Alerting: Remove double quotes from matchers. #50038, @gotjosh
    • Cloudwatch: Dynamic labels autocomplete. #49794, @sunker
    • Datasource: Remove deprecated max_idle_connections_per_host setting. #49948, @marefr
    • Datasource: Remove support for unencrypted passwords. #49987, @marefr
    • Dependencies: Update to Golang version 1.17.11. #50253, @dsotirakis
    • Loki: Run query when pressing Enter on line-filters. #49913, @svennergr
    • Metrics: Remove support for using summaries instead of histogram for HTTP instrumentation. #49985, @bergquist
    • πŸ”Œ Plugins: Remove deprecated /api/tsdb/query metrics endpoint. #49916, @wbrowne
    • πŸ”Œ Plugins: Support headers field for check health. #49930, @marefr
    • Prometheus/Loki: Add raw query and syntax highlight in explain mode. #50070, @aocenas
    • Prometheus: Migrate metadata queries to use resource calls. #49921, @srclosson
    • RBAC: Make RBAC action names more consistent. #49730, @IevaVasiljeva
    • RBAC: Make RBAC action names more consistent. (Enterprise)
    • Settings: Sunset non-duration based login lifetime config. #49944, @sakjur
    • [9.0.x] Alerting: Update alert rule diff to not see difference between nil and empty map. #50198, @yuri-tceretian

    πŸ› Bug fixes

    • Alerting: Fix alert list panel showing firing alerts with no instances. #50069, @gillesdemey
    • Alerting: Fix notification policy "Override grouping" form save. #50031, @JacobsonMT
    • Alerting: Remove double quotes from matchers. #50046, @alexweav
    • Alerting: Use correct permission scope for external AM updates. #50159, @gillesdemey
    • Datasource: Fix allowed cookies to be forwarded as header to backend datasources. #49541, @marefr
    • Licensing: Fix trial expiration warning. (Enterprise)
    • Loki: Fix uncaught errors if labelKey contains special characters. #49887, @svennergr
    • Prometheus: Fix aligning of labels of exemplars after backend migration. #49924, @aocenas
    • SharePDF: Fix repeated datasource variables in PDF. (Enterprise)
    • State Timeline: Fix Null Value Filling and Value Transformation. #50054, @codeincarnate
    • Usage stats: Divide collection into multiple functions to isolate failures. #49928, @sakjur

    πŸ’₯ Breaking changes

    βœ‚ Removes support for storing/using datasource password and basicAuthPassword unencrypted which was deprecated in Grafana v8.1.0. Please use secureJsonData.password and secureJsonData.basicAuthPassword. Issue #49987

    βœ‚ Removes the option to instrument HTTP request in Grafana using summaries instead of histograms. Issue #49985

    Removes support for deprecated dataproxy.max_idle_connections_per_host setting. Please use max_idle_connections instead. Issue #49948

    βœ‚ Removes the deprecated getFormStyles function from grafana-ui. πŸ’… Prefer using GrafanaTheme2 and the useStyles2 hook. Issue #49945

    The configuration options auth.login_maximum_inactive_lifetime_days and auth.login_maximum_lifetime_days were deprecated in Grafana v7.2.0 and have now been removed. Use login_maximum_inactive_lifetime_duration and login_maximum_lifetime_duration to customize the maximum lifetime of a login session. Issue #49944

    βœ‚ Removed the deprecated isFocused and isInvalid props from the InlineLabel component. These props haven't done anything for a while, so migration is just a matter of removing the props. Issue #49929

    βœ‚ Removed the deprecated onColorChange prop from ColorPicker. Moving forward the onChange prop should be used. Issue #49923

    /api/tsdb/query API has been removed. Use /api/ds/query instead. Issue #49916

    onClipboardCopy and onClipboardError APIs have been changed such that the callback's argument is just the text that's been copied rather than the old ClipboardEvent interface. Migration should just be a matter of going from

    <ClipboardButton
      {/*other props... */}
      onClipboardCopy={(e) => {
        console.log(`Text "${e.text}" was copied!`);
      }}
    />
    

    to

    <ClipboardButton
      {/* other props... */}
      onClipboardCopy={(copiedText) => {
        console.log(`Text "${copiedText}" was copied!`);
      }}
    />
    ``` Issue [#49847](https://github.com/grafana/grafana/issues/49847)
    
    
    The following RBAC action renames have been carried out:
    
    * ⚑️ `users.authtoken:update` -> `users.authtoken:write`;
    * ⚑️ `users.password:update` -> `users.password:write`;
    * ⚑️ `users.permissions:update` -> `users.permissions:write`;
    * ⚑️ `users.quotas:update` -> `users.quotas:write`;
    * ⚑️ `org.users.role:update` -> `org.users:write`;
    * ⚑️ `alert.instances:update` -> `alert.instances:write`;
    * ⚑️ `alert.rules:update` -> `alert.rules:write`;
    * `users.authtoken:list` -> `users.authtoken:read`;
    * `users.quotas:list` -> `users.quotas:read`;
    * `users.teams:read` -> replaced by `users.read` + `teams:read`
    
    πŸ“š We've added a migration from the old action names to the new names and have updated our documentation. But you will have to update any scripts and provisioning files that are using the old action names. Issue [#49730](https://github.com/grafana/grafana/issues/49730)
    
    
    The following RBAC action renames have been carried out:
    
    * `reports.admin:write` -> `reports:write`;
    * `reports.admin:create` -> `reports:create`;
    * ⚑️ `licensing:update` -> `licensing:write`;
    * `roles:list` -> `roles:read`;
    * `teams.roles:list` -> `teams.roles:read`;
    * `users.roles:list` -> `users.roles:read`;
    * `users.permissions:list` -> `users.permissions:read`
    
    πŸ“š We've added a migration from the old action names to the new names and have updated our documentation. But you will have to update any scripts and provisioning files that are using the old action names. Issue [#3372](https://github.com/grafana/grafana/issues/3372)
    
    ### πŸ”Œ Plugin development fixes & changes
    
    - πŸ’» **UI:** Remove deprecated getFormStyles function. [#49945](https://github.com/grafana/grafana/pull/49945), [@kaydelaney](https://github.com/kaydelaney)
    - **InlineLabel:** Remove deprecated props. [#49929](https://github.com/grafana/grafana/pull/49929), [@kaydelaney](https://github.com/kaydelaney)
    - **ColorPicker:** Remove deprecated onColorChange prop. [#49923](https://github.com/grafana/grafana/pull/49923), [@kaydelaney](https://github.com/kaydelaney)
    - **ClipboardButton:** Simplify callbacks. [#49847](https://github.com/grafana/grafana/pull/49847), [@kaydelaney](https://github.com/kaydelaney)
    
    <!-- 9.0.0-beta3 END -->
    <!-- 9.0.0-beta2 START -->
    
  • v9.0.0-beta2 Changes

    May 31, 2022

    πŸ”‹ Features and enhancements

    πŸ› Bug fixes

    πŸ’₯ Breaking changes

    πŸ”€ Drop support for deprecated setting ldap_sync_ttl under [auth.proxy] πŸ”€ Only sync_ttl will work from now on Issue #49902

    βœ‚ Removes support for deprecated heading and description props. Moving forward, the Card.Heading and Card.Description components should be used. Issue #49885

    βœ‚ Removes the deprecated link variant from the Button component. To migrate, replace any usage of variant="link" with fill="text". Issue #49843

    βœ‚ Removes the deprecated surface prop from the IconButton component. This prop hasn't actually done anything for a while, so it should be safe to just remove any instances of its usage. Issue #49715

    βœ‚ Removes the deprecated TextDisplayOptions export from @grafana/data in favor of VizTextDisplayOptions from @grafana/schema. To migrate, just replace usage of TextDisplayOptions with VizTextDisplayOptions. Issue #49705

    βœ‚ Removed support for the deprecated getColorForTheme(color: string, theme: GrafanaTheme) function in favor of the 🚚 theme.visualization.getColorByName(color: string) method. The output of this method is identical to the removed function, so migration should just be a matter of rewriting calls of getColorForTheme(myColor, myTheme) to myTheme.visualization.getColorByName(myColor). Issue #49519

    🐎 In the Prometheus data source, for consistency and performance reasons, we changed how we represent NaN (not a number) values received from Prometheus. In the past versions, we converted these to null in the frontend (for dashboard and explore), and kept as NaN in the alerting path. Starting with this version, we will always keep it as NaN. This change should be mostly invisible for the users. Issue #49475

    πŸ”Œ Plugins using custom Webpack configs could potentially break due to the changes between webpack@4 and webpack@5. Please refer to the official migration guide for assistance.

    πŸ— Webpack 5 does not include polyfills for node.js core modules by default (e.g. buffer, stream, os). This can result in failed builds for plugins. If polyfills are required it is recommended to create a custom webpack config in the root of the plugin repo and add the required fallbacks:

    // webpack.config.js
    
    module.exports.getWebpackConfig = (config, options) => ({
      ...config,
      resolve: {
        ...config.resolve,
        fallback: {
          os: require.resolve('os-browserify/browser'),
          stream: require.resolve('stream-browserify'),
          timers: require.resolve('timers-browserify'),
        },
      },
    });
    

    πŸ— Please refer to the webpack build error messages or the official migration guide for assistance with fallbacks.

    πŸ›  Which issue(s) this PR fixes:

    <!--

    • πŸ”€ Automatically closes linked issue when the Pull Request is merged.

    πŸ›  Usage: "Fixes #", or "Fixes (paste link of issue)"

    -->

    πŸ›  Fixes #

    Special notes for your reviewer:

    βœ… It does not bump the following dependencies to the very latest due to the latest versions being ES modules:

    • ora
    • globby
    • execa
    • chalk Issue #47826

    We have changed the internals of backendSrv.fetch() to throw an error when the response is an incorrect JSON.

    // PREVIOUSLY: this was returning with an empty object {} - in case the response is an invalid JSON
    return await getBackendSrv().post(`${API_ROOT}/${id}/install`);
    
    // AFTER THIS CHANGE: the following will throw an error - in case the response is an invalid JSON
    return await getBackendSrv().post(`${API_ROOT}/${id}/install`);
    

    When is the response handled as JSON?

    • If the response has the "Content-Type: application/json" header, OR
    • πŸ“¦ If the backendSrv options (BackendSrvRequest) specify the response as JSON: { responseType: 'json' }

    How does it work after this change?

    • In case it is recognised as a JSON response and the response is empty, it returns an empty object {}
    • In case it is recognised as a JSON response and it has formatting errors, it throws an error

    How to migrate? πŸ‘‰ Make sure to handle possible errors on the callsite where using backendSrv.fetch() (or any other backendSrv methods). Issue #47493

    πŸ”Œ Plugin development fixes & changes

    <!-- 9.0.0-beta2 END --> <!-- 9.0.0-beta1 START -->

  • v9.0.0-beta1 Changes

    May 24, 2022

    πŸ”‹ Features and enhancements

    • AccessControl: Add setting for permission cache. (Enterprise)
    • AccessControl: Check dashboard permissions for reports. (Enterprise)
    • Auth: Remove grafana ui dependency to the aws sdk. #43559, @sunker
    • BasicRoles: Add API endpoint to reset basic roles permissions to factory. (Enterprise)
    • LDAP Mapping: Allow Grafana Admin mapping without org role. #37189, @krzysdabro
    • Licensing: Only enforce total number of users. (Enterprise)
    • Loki: do not convert NaN to null. #45389, @gabor
    • Report: API support for multiple dashboards. (Enterprise)
    • Report: Support sending embedded image in the report email. (Enterprise)
    • Report: UI for multiple dashboards. (Enterprise)
    • Reporting: Remove redundant empty attachment when export to CSV is enabled. (Enterprise)
    • SAML: Implement Name Templates for assertion_attribute_name option. (Enterprise)
    • SSE/Alerting: Support prom instant vector responses. #44865, @kylebrandt
    • Tracing: Add trace to metrics config behind feature toggle. #46298, @connorlindsey

    πŸ› Bug fixes

    • πŸ›  Fix: Prevent automatic parsing of string data types to numbers. #46035, @joshhunt
    • Prometheus: Fix inconsistent labels in exemplars resulting in marshal json error. #46135, @hanjm

    πŸ’₯ Breaking changes

    🐎 In the Loki data source, for consistency and performance reasons, we changed how we represent NaN (not a number) values received from Loki. In the past versions, we converted these to null in the frontend (for dashboard and explore), and kept as NaN in the alerting path. Starting with this version, we will always keep it as NaN. This change should be mostly invisible for the users. Issue #45389

    πŸ“¦ The dependency to grafana/aws-sdk is moved from grafana/ui to the plugin. This means that any plugin that use SIGV4 auth need to pass a SIGV4 editor component as a prop to the DataSourceHttpSettings component. Issue #43559

    <!-- 9.0.0-beta1 END --> <!-- 8.5.3 START -->

  • v8.5.15 Changes

    November 08, 2022

    πŸ”‹ Features and enhancements

    <!-- 8.5.15 END -->

    <!-- 8.5.14 START -->

  • v8.5.14 Changes

    October 11, 2022

    πŸ”‹ Features and enhancements

    <!-- 8.5.14 END -->

    <!-- 8.5.13 START -->

  • v8.5.13 Changes

    September 20, 2022

    πŸ”‹ Features and enhancements

    • πŸ”Œ Plugins: Expose @emotion/react to plugins to prevent load failures. #55297, @jackw

    πŸ› Bug fixes

    <!-- 8.5.13 END -->

    <!-- 8.5.11 START -->

  • v8.5.11 Changes

    August 30, 2022

    πŸ”‹ Features and enhancements

    • Rendering: Add support for renderer token (#54425). #54438, @joanlopez
    • Alerting: AlertingProxy to elevate permissions for request forwarded to data proxy when RBAC enabled. #53681, @yuri-tceretian

    <!-- 8.5.11 END -->

    <!-- 8.5.10 START -->

  • v8.5.10 Changes

    August 08, 2022

    πŸ› Bug fixes

    • RBAC: Fix Anonymous Editors missing dashboard controls. #52649, @gamab

    <!-- 8.5.10 END -->

    <!-- 8.5.9 START -->