What grafana/grafana shipped
Written by FoxPlug from the repository's own releases; not affiliated with Grafana. Paste your own repository in the box below and FoxPlug writes the same weekly update for your product. This page is an automatic summary of the releases, pull requests and commits in github.com/grafana/grafana; Grafana did not write it and does not use or endorse FoxPlug. Every line links to the change it describes.
Get a weekly update like this for your product, free
Week of November 2, 2026
What shipped
- SQL Expressions now return NULL from JSON functions without crashing, and a panic in a data source query or expression is isolated to that node as an error. Pull request #136341
- Embedded NATS can now cluster Grafana instances across hosts without extra configuration, with only instances sharing the Grafana database allowed to join. Pull request #137128
- Duration units such as dtdurationms and dtdurations now render non-zero sub-millisecond values as fractional milliseconds instead of a blank string. Pull request #135266
- The folder label syncer now maintains separate alerting.grafana.app/has-alert-rules and has-recording-rules labels and removes the old has-rules label from folders. Pull request #137046
- PanelEditNext restores snapping splitters with stable preview subscriptions, fixing panel options that stopped responding after preview remounts. Pull request #136087
- The Dashboards API afterDelete hook now gets a timeout so a slow or unreachable permission API no longer holds the delete request. Pull request #137138
- A new native histogram
grafana_grpc_requests_in_flight_at_arrivalrecords concurrency at request arrival to catch bursts the scrape-time gauge misses. Pull request #137205 - ContainsVariable() no longer reports false positives on format specifiers or field paths in variable strings. Pull request #135295
- A new pkg/legacyapi Go module holds conversions between legacy /api endpoints and the app platform APIs, starting with dashboard resource conversion. Pull request #136682
- The unified storage search distributor now relies only on gRPC status from search servers instead of reading errors from response bodies. Pull request #137242
Why it matters
This week brings several reliability fixes that change behavior developers rely on, including SQL expression errors no longer crashing whole requests and dashboard deletes no longer held by permission checks. It also makes embedded NATS clustering across hosts work without extra configuration and corrects duration rendering for sub-millisecond values. Alongside those, folder labeling and the dashboards API surface continue to be adjusted.
Changelog entry
- SQL Expressions: JSON functions return NULL for a row instead of crashing, and a panic in a data source query or expression becomes an error on that node only. Pull request #136341
- NATS: Embedded NATS can cluster Grafana instances across hosts without extra configuration, with only instances sharing the Grafana database allowed to join. Pull request #137128
- Duration units: Sub-millisecond non-zero values render as fractional milliseconds honoring configured decimals instead of a blank string. Pull request #135266
- Alerting: Folder label syncer writes separate has-alert-rules and has-recording-rules labels and stops writing has-rules. Pull request #137046
- PanelEditNext: Snapping splitters are restored with stable preview subscriptions, fixing panel options that stopped responding after preview remounts. Pull request #136087
- Dashboards API: afterDelete hook now has a timeout, so a slow permission API no longer holds the delete request. Pull request #137138
- GRPC server: New
grafana_grpc_requests_in_flight_at_arrivalhistogram records concurrency at request arrival. Pull request #137205 - Variables: containsVariable() no longer reports false positives on format specifiers or field paths. Pull request #135295
- Unified storage: Search distributor relies only on gRPC status from search servers and no longer reads errors from response bodies. Pull request #137242
- Folders: The kubernetesFolderCountsLegacyStorage feature toggle is removed. Pull request #137245
- Folders: The foldersAppPlatformAPI feature toggle and its legacy frontend code are removed; folders always use the app platform API. Pull request #136936
- Options: The Filter from values option is renamed to Cross-filter. Pull request #137033
This week: SQL Expressions return NULL instead of crashing on JSON functions, embedded NATS clusters across hosts without extra config, sub-millisecond durations render as fractional ms, and the Dashboards API afterDelete hook gets a timeout.
This week's changes to Grafana include several fixes developers will notice. SQL Expressions now return NULL from JSON functions instead of crashing, and a panic in a query or expression is isolated to that node as an error. Embedded NATS can cluster instances across hosts without extra configuration, authenticated by a credential in the database. Duration units render non-zero sub-millisecond values as fractional milliseconds rather than a blank string. The Dashboards API afterDelete hook gains a timeout, and the search distributor relies only on gRPC status. Folder labels are split into separate alert and recording rule labels, and PanelEditNext restores snapping splitters.
Week of October 26, 2026
What shipped
- The redesigned homepage is now shown to all users after the experimental feature flag and legacy layout were removed. Pull request #136272
- Global search results now include folderPaths so clients can show the full folder path for each result. Pull request #136584
- The gzip middleware no longer writes a gzip header and footer for 304 Not Modified and 204 No Content responses. Pull request #136097
- The multi-tenant dashboard service now fetches the
min_refresh_intervalsetting from config instead of checking against a hardcoded 10s minimum. Pull request #136548 - A Combobox whose selected value is wider than its input now ends the value with an ellipsis instead of clipping it mid-letter. Pull request #135856
- Unified search background rebuilds now pass the import time through so snapshots built at or before it are rejected. Pull request #136630
- A reopened unified-storage index now checks the newest remote snapshot before uploading, avoiding a full re-upload when the store already holds the same build. Pull request #136545
- With nats enabled, the legacy SQL unified-storage backend now publishes a watch notification after each committed create, update and delete. Pull request #136600
- The grafana-sigil-app entry was removed from the frontend app nav config. Pull request #136612
- The grafana-sigil-app entry was removed from the Go navtree builder. Pull request #136619
Why it matters
This week brings the redesigned homepage to everyone by removing its feature flag and legacy layout, and improves search by returning folder paths with global search results. Several changes address reliability in unified search and unified storage, including snapshot rebuild handling and upload tracking on reopen, while a middleware fix stops gzip header writes on empty responses.
Changelog entry
- Homepage: the redesigned homepage is shown to all users; the experimental flag and legacy layout are removed. Pull request #136272
- Search API: global search results now include folderPaths for each result's folders. Pull request #136584
- Middleware: gzip no longer writes a gzip header and footer for 304 Not Modified and 204 No Content responses. Pull request #136097
- Combobox: selected values wider than the input are truncated with an ellipsis. Pull request #135856
- Dashboards API: the multi-tenant dashboard service uses the
min_refresh_intervalsetting instead of a hardcoded 10s minimum. Pull request #136548 - Unified search: background rebuilds preserve the import time so older snapshots are rejected. Pull request #136630
- Unified storage: an index reopened from disk seeds upload tracking from the remote store before uploading. Pull request #136545
- Unified storage: the legacy SQL backend publishes watch notifications after committed create, update and delete when nats is enabled. Pull request #136600
- Navigation: grafana-sigil-app removed from the frontend app nav config. Pull request #136612
- Navigation: grafana-sigil-app removed from the backend navtree builder. Pull request #136619
- CodeMirror: alerting rule JSON and SQL previews migrated to lazy read-only CodeMirror. Pull request #135751
- CodeMirror: Alertmanager JSON configuration editing migrated to lazy-loaded CodeMirror. Pull request #135749
The redesigned homepage is now on for everyone, with the old layout and its feature flag removed. Global search results now include folder paths, and gzip middleware no longer adds headers on 304 and 204 responses.
This week the redesigned homepage reaches all users, with the experimental flag and legacy layout removed. Global search results now return folder paths so clients can show where each result lives, and the dashboard service reads min_refresh_interval from config rather than a hardcoded minimum. On the middleware side, gzip no longer writes a header and footer for 304 Not Modified or 204 No Content responses. Unified search and unified storage also picked up fixes around background rebuilds, snapshot upload tracking on reopen, and watch notifications from the legacy SQL backend.
Week of October 19, 2026
What shipped
- The filterablePanels and thresholdsInterpolation feature flags are now enabled by default in OSS, with toggle files and docs updated. Pull request #135716
- The profilesHeatmap feature flag is promoted to GA and enabled by default. Pull request #134261
- The floating extension sidebar can be resized by dragging its left edge, with the width saved in local storage and clamped between 360px and the docked sidebar's max width. Pull request #135907
- SQL Expressions now read enum fields as their text instead of their index. Pull request #135225
- The IAM GET /users/{name}/teams endpoint now includes an optional teamInternalId alongside the canonical team UID. Pull request #135726
- Homepage card filters moved to a footer dropdown on the left, Recent activity shows page kinds as icons with tooltips, and the Assistant Pages create flow no longer appears. Pull request #135851
- Scenes was bumped to v9. Pull request #135179
- Incremental provisioning sync now removes obsolete managed folders after the last.keep marker is deleted, and local repository scans skip hidden directories. Pull request #135050
- Provisioned forms no longer store a workflow field; the target branch now decides between a direct write and a branch push. Pull request #135588
- With grafana.dashboardPreviewMode enabled, the dashboard sidebar rail shows again in Viewing mode while edit-only controls stay hidden. Pull request #135915
Why it matters
This week enables two GA flags by default and graduates the profiles heatmap, so more behavior is on without configuration. It also changes several data paths developers depend on: enum fields in SQL Expressions read as text, user team memberships gain a numeric team ID, and provisioning folder sync cleans up obsolete folders. Sidebar resizing and homepage filter changes are visible UI adjustments.
Changelog entry
- Dashboards: Enable filterablePanels and thresholdsInterpolation by default. Pull request #135716
- Profiles: Graduate the heatmap feature flag to GA. Pull request #134261
- Extension sidebar: Allow resizing the floating sidebar width. Pull request #135907
- SQL Expressions: Read enum fields as their text. Pull request #135225
- IAM: Include legacy numeric team IDs in user team memberships. Pull request #135726
- Homepage: Move card filters to a footer dropdown and show page kinds as icons. Pull request #135851
- Provisioning: Derive the commit workflow from the target branch instead of a form field. Pull request #135588
- Provisioning: Fix folder cleanup and skip hidden directories during scans. Pull request #135050
- Scenes: Major bump to v9. Pull request #135179
- Dashboards: Show the sidebar in Viewing mode when preview mode is enabled. Pull request #135915
- AuthZ: Return denials for unsupported delegation checks. Pull request #135817
- Devenv: Proxy pass /ofrep calls via NGINX in local development. Pull request #135756
This week: filterablePanels and thresholdsInterpolation on by default, profiles heatmap GA, SQL Expressions read enums as text, team memberships gain teamInternalId, resizable floating extension sidebar, Scenes v9.
This week in Grafana: the filterablePanels and thresholdsInterpolation flags are now enabled by default in OSS, and the profiles heatmap is GA. SQL Expressions read enum fields as their text rather than their index. Team membership responses include an optional teamInternalId. The floating extension sidebar is resizable, provisioning cleanup removes obsolete managed folders, and Scenes moves to v9. The homepage cards get a footer filter dropdown and page kinds shown as icons.
Week of October 12, 2026
What shipped
- Dashboards now reserve at least 200px of body height so the template variable bar cannot make the dashboard canvas unreachable. Pull request #134743
- Dynamic dashboards gained an experimental Viewing and Editing mode picker that replaces explicit edit and exit-edit controls. Pull request #134544
- The add-to-notebook form now accepts ordered markdown and panel cells from a plugin, each panel keeping its captured time range. Pull request #134979
- The extension sidebar can now float over the page as a draggable box at the bottom centre, controlled by a feature flag and enabled by default. Pull request #135185
- Table cell actions are now rendered from typed configuration, with non-empty action groups deciding whether actions appear. Pull request #134878
- Alert rule and recording rule search moved to dedicated version-level searchAlertRules and searchRecordingRules routes. Pull request #134882
- Luxon is now enabled by default, completing the feature toggle's gradual rollout. Pull request #134865
- The provisioning files API now always rejects direct writes to _folder.json and checks originalPath on move requests. Pull request #135038
- With the migration wizard flag on, the alert rules More menu shows only Import to Grafana Alerting and hides the older import tool. Pull request #135211
- The Hosted Traces recommendation card and homepage Traces card now offer an Instrument traces action that opens the OpenTelemetry onboarding guide. Pull request #135135
Why it matters
This week brought fixes for dashboard layout problems and table accessibility, plus a new floating layout for the extension sidebar and an experiment in dashboard viewing and editing modes. Alerting gained reorganized search routes and a single import entry point when the migration wizard flag is on, and provisioning now guards folder metadata from direct writes. Luxon became the default and the add-to-notebook form learned to accept ordered content from plugins.
Changelog entry
- Dashboards: Reserve at least 200px of body height to keep the dashboard and variable controls reachable. Pull request #134743
- Dashboards: Add experimental Viewing and Editing mode picker for dynamic dashboards. Pull request #134544
- Extension sidebar: Add floating layout controlled by grafana.extensionSidebarFloating, enabled by default. Pull request #135185
- Notebooks: Add-to-notebook form accepts ordered markdown and panel cells with per-panel time ranges. Pull request #134979
- Table: Render cell actions from typed configuration groups. Pull request #134878
- Alerting: Move rule search to searchAlertRules and searchRecordingRules routes. Pull request #134882
- Alerting: Show only Import to Grafana Alerting in the More menu when alertingMigrationWizardUI is on. Pull request #135211
- Provisioning: Always reject direct writes to _folder.json and check originalPath on move requests. Pull request #135038
- UI: Enable Luxon by default. Pull request #134865
- Home: Send the traces setup action to the OpenTelemetry onboarding guide. Pull request #135135
- NavTree: Keep the Assistant Pages item in navigation during trial mode. Pull request #135257
- Table: Move focus into the column sidebar after opening it from the column menu. Pull request #135115
This week: dashboards reserve body height so variable controls stay reachable, dynamic dashboards get Viewing/Editing modes, the extension sidebar can float, table cell actions come from typed config, alert rule search moves to new routes, and Luxon is on by default.
This week's changes in Grafana: Dashboards reserve at least 200px of body height so a tall template variable bar cannot make the canvas unreachable. Dynamic dashboards have an experimental Viewing and Editing mode picker. The extension sidebar can float over the page as a draggable box, enabled by default under a feature flag. Tables render cell actions from typed configuration, and the column sidebar takes focus when opened from the column menu. Alert rule and recording rule search moved to new searchAlertRules and searchRecordingRules routes, and the More menu shows one import tool when the migration wizard flag is on. Provisioning now rejects direct writes to _folder.json and checks originalPath on moves. Luxon is enabled by default, and the add-to-notebook form accepts ordered markdown
Week of October 5, 2026
What shipped
- The otelLogsFormatting, inlineLogdetailsNoScrolls and lokiAlignedQuerySplitting log options are now enabled by default. Pull request #134658
- Data now has an inSet value matcher and the between matcher supports inclusive endpoints, open bounds and explicit handling of missing or non-numeric values. Pull request #134173
- The Sort by transformation applies every configured sort field in priority order and its editor lets you add, remove and drag-reorder sort fields. Pull request #133974
- Alerting recording rules gain
max_write_batch_sizeandmax_write_concurrencysettings that feed the existing Prometheus writer configuration. Pull request #133752 - The global search API accepts a folderTree filter that matches the named folders and any folder below them at any depth. Pull request #134664
- Opening a dashboard URL with editPanel keeps the page loader visible until the panel editor is ready instead of flashing the dashboard. Pull request #134660
- Table scroll shadows are limited to the rendered column width, capped at the visible grid width, and update when columns or the panel resize. Pull request #134287
- Signal Explorer infers a metric type from its name when metadata is missing, for example names ending in total now show as counters. Pull request #133895
- Clicking anywhere in a Signal Explorer card header opens the card instead of only the caret. Pull request #133892
- Reopening a notebook shows the notebook's own time range and cell overrides rather than the range the last reader picked. Pull request #133922
Why it matters
This week brings several long-running log options on by default, so log panels and queries behave the way they were configured in recent releases. It also extends core data filtering and sorting, which many panels and transformations build on, and makes notebook and panel-editor navigation less surprising. Alerting and search gain smaller but useful controls for recording-rule writes and folder-wide queries.
Changelog entry
- Logs: Enable otelLogsFormatting, inlineLogdetailsNoScrolls and lokiAlignedQuerySplitting by default. Pull request #134658
- Data: Add an inSet value matcher and extend the between matcher with inclusive endpoints, open bounds and handling of missing or non-finite values. Pull request #134173
- Transformations: Sort by transformation now applies multiple sort fields in priority order and supports add, remove and reorder in its editor. Pull request #133974
- Alerting: Add
max_write_batch_sizeandmax_write_concurrencysettings for recording rules remote write. Pull request #133752 - Search: Global search API accepts a folderTree filter matching named folders and any folder below them. Pull request #134664
- Dashboards: Keep the page loader visible when opening the panel editor directly instead of showing the dashboard first. Pull request #134660
- Table: Keep scroll shadows within the rendered column bounds and update them on column or panel resize. Pull request #134287
- Explore: Infer metric type from the metric name in Signal Explorer when metadata is missing. Pull request #133895
- Explore: Open a Signal Explorer card when clicking anywhere in its header. Pull request #133892
- Notebooks: Discard time range changes made in viewer mode so reopening shows the notebook's own range. Pull request #133922
- IAM: Add the user email address and authentication provider to the current-user response. Pull request #134522
- Docs: Document OAuth App connections for Git Sync, including GitHub, GitLab and Bitbucket providers. Pull request #134523
Logs options otelLogsFormatting, inlineLogdetailsNoScrolls and lokiAlignedQuerySplitting are on by default. Data gains an inSet matcher and richer between ranges. Sort by transformation sorts on multiple fields. Search filters by folder tree. Recording rules get remote-write batc
This week the log options otelLogsFormatting, inlineLogdetailsNoScrolls and lokiAlignedQuerySplitting are enabled by default. Data adds an inSet value matcher and extends the between matcher with inclusive endpoints, open bounds and explicit handling of missing or non-numeric values. The Sort by transformation now applies all configured sort fields in priority order and lets you reorder them. The global search API accepts a folderTree filter that matches a folder and everything below it. Alerting recording rules gain max_write_batch_size and max_write_concurrency settings. Table scroll shadows are limited to the rendered column width, panel editor navigation no longer flashes the dashboard, and notebooks show their own time range when reopened.
Week of September 28, 2026
What shipped
- Hybrid search is now available for folders through the same API that dashboards use, exposing POST /apis/folder.grafana.app/{version}/namespaces/{namespace}/folders/search/hybrid. Pull request #134070
- A generic per-resource hybrid search API is now available at POST /apis/{group}/{version}/namespaces/{namespace}/{resource}/search/hybrid with support for lexical and semantic queries. Pull request #133813
- Blobs now work through the KV interface, enabling blob support with enable_sqlkv_backend=true. Pull request #134023
- Snowflake generation now retries on drift with a configurable upper bound to make storage writes more reliable. Pull request #134074
- The global index now reconciles against storage hourly to catch changes that escape the event log trimming window. Pull request #133979
- Alert rule and provisioning provenance storage are separated from the monolithic DBstore into their own packages. Pull request #133273
- Tabular numerals can now be used in legend and tooltip values through the experimental dataviz.tabularNums flag. Pull request #134037
- OAuth token refresh requests now stop waiting after a configurable time budget instead of a fixed number of attempts. Pull request #133929
- Customer-facing documentation for the alert quality feature is now available with configuration and usage guidance. Pull request #132993
- The external session store now passes request context with span information to the secrets service during encryption and decryption. Pull request #133984
Why it matters
This week brings improvements to search capabilities with hybrid search now available for folders and a generic per-resource API, storage reliability enhancements through retry logic and index reconciliation, and cleaner internal architecture through storage package separation. These changes make search more capable and storage operations more resilient.
Changelog entry
- Search: Enable hybrid search for folders Pull request #134070
- Search: Add generic per-resource hybrid search API Pull request #133813
- Unified storage: Add blob support through the KV interface Pull request #134023
- Unified storage: Retry generating snowflakes on drift Pull request #134074
- Search: Reconcile global index against storage hourly Pull request #133979
- Alerting: Split alert rule and provenance storage out of DBstore Pull request #133273
- Data visualization: Add tabular numerals to legend and tooltip values Pull request #134037
- Auth: Bound OAuth token refresh lock waits by time instead of attempts Pull request #133929
- Alerting: Add customer-facing documentation for alert quality feature Pull request #132993
This week: hybrid search for folders, generic per-resource search API, blob support through KV interface, storage index hourly reconciliation, and alert rule storage refactoring.
This week in Grafana: hybrid search expanded to folders and all resources via new generic API; blobs now work through KV interface for unified deployment support; storage index reconciles hourly to catch missed changes; OAuth token refresh uses time budgets; alert storage architecture simplified through package separation.
Week of September 21, 2026
What shipped
- Router fixes the preferred API version selection and prunes unnecessary OpenAPI documentation. Pull request #133646
- Router's aggregated discovery now caches results instead of calling every backend on each request. Pull request #133588
- Router exposes state and metrics through dashboards to show which backends serve each API group and their health. Pull request #133638
- Router watch requests now behave consistently with Kubernetes, enabling informers and plugin operators. Pull request #133630
- Router bounds response header wait times and classifies proxy failures for better debugging. Pull request #133627
- PrometheusWriter can now split large recording-rule writes into batches to avoid timeouts. Pull request #133299
- SMTP settings are now read live from the config provider, allowing remote overrides without restart. Pull request #133495
- Notebooks use the creation date as part of the default name in both UI and API. Pull request #133470
- Added experimental feature toggle for unified search on saved queries. Pull request #133592
- API builders now expose full manifests with per-kind settings instead of just resource identity. Pull request #133479
Why it matters
The router improvements make it more production-ready by fixing discovery performance, watch compatibility, and adding observability. Configuration changes now take effect without restarts. API improvements enable better integrations with plugin operators.
Changelog entry
- Router: Fix preferred version selection and prune OpenAPI docs Pull request #133646
- Router: Cache aggregated discovery instead of calling backends on each request Pull request #133588
- Router: Expose route state and metrics for dashboard monitoring Pull request #133638
- Router: Make watch requests behave like Kubernetes for informer support Pull request #133630
- Router: Bound response header timeouts and improve failure classification Pull request #133627
- Alerting: Split large recording-rule writes into batches Pull request #133299
- Notifications: Read SMTP settings live from config provider Pull request #133495
- Notebooks: Use date in default notebook name Pull request #133470
- Search: Add experimental saved-query search feature toggle Pull request #133592
- API: Expose full manifests from builders with per-kind settings Pull request #133479
Router discovery now caches results, watches work like Kubernetes, and state is visible through dashboards. SMTP settings apply live from config overrides. Notebooks use creation dates in default names.
This week brought significant router stability improvements: aggregated discovery caching eliminates per-backend calls, watch requests now match Kubernetes behavior for informer compatibility, and dashboards can monitor backend health and API group routing. Configuration is more dynamic with SMTP settings reading live from the config provider. API builders expose richer manifest details for enterprise features.
Week of September 14, 2026
What shipped
- Alerting now supports Amazon Managed Prometheus recording rule writes, fixing failures when the write target is an AMP data source. Pull request #128090
- Alerting widened missing-series resolution counts to BIGINT on MySQL and PostgreSQL to support evaluations above the SMALLINT limit. Pull request #133023
- Dashboards can now render Assistant-proposed dashboard plans as static previews before building them. Pull request #132761
- Notebooks added IRM incident creation and attachment entry points in the overflow menu. Pull request #132280
- Alerting added targetDatasourceUid, persisted dedup hash, and per-organization poll interval for external ruler sync. Pull request #132525
- Storage LIST operations now preserve pagination continuation tokens after authorization filtering. Pull request #133017
- Provisioning fixed the folder picker when moving dashboards or folders managed by folderless Git Sync repositories. Pull request #132453
- Dashboards migrated query editor and runners from deprecated sync DataSource APIs to async replacements. Pull request #131315
- Table panels gained a zebra striping option behind table.refreshNewFeatures using theme tokens. Pull request #132423
- Table panels now fade in a scroll shadow gradient at edges when rows are out of view. Pull request #132579
Why it matters
This week saw improvements across alerting infrastructure with better data source support and larger evaluation counts, storage refinements for authorization and pagination, and dashboard/notebook features for planning and incident management. Query execution migrated to modern async APIs and provisioning workflows improved for Git Sync operations.
Changelog entry
- Alerting: Support Amazon Managed Prometheus recording rule writes Pull request #128090
- Alerting: Support missing-series resolution counts above the SMALLINT limit Pull request #133023
- Dashboards: Static preview for Assistant dashboard plans Pull request #132761
- Notebooks: IRM incident creation and attachment Pull request #132280
- Alerting: Add targetDatasourceUid, persisted dedup hash, and per-org poll interval Pull request #132525
- Storage: Preserve list pagination after authorization filtering Pull request #133017
- Provisioning: Fix folderless Git Sync move picker Pull request #132453
- Dashboards: Migrate query editor and runners to async DataSource APIs Pull request #131315
- Table: Zebra striping option Pull request #132423
- Table: Scroll shadow fade-in at edges with hidden rows Pull request #132579
This week: Alerting now supports Amazon Managed Prometheus, dashboard assistant plans render as previews, notebooks gained IRM incident actions, and storage pagination works better after authorization filtering.
New in Grafana: Amazon Managed Prometheus recording rules now work with Alerting, dashboard assistant plans preview before building, notebooks can create and attach IRM incidents, and storage pagination handles authorization filtering correctly. Query execution migrated to async APIs and Git Sync folder picker improved for folderless repositories.