Grafana 12.4.0
← All Grafana releases · Searchable index of all 870 changes
Changelog
| PR / issue | Type | Description |
|---|---|---|
| #116885 | Feature | API: Add missing scope check on dashboards |
| — | Feature | Alerting Enrichment: Add new RBAC permissions for reading and writing enrichments (Enterprise) |
| #116253 | Feature | Alerting: Add Alert Rules tabs navigation with feature toggle |
| #115822 | Feature | Alerting: Add Alert activity card to alerting home page |
| #115613 | Feature | Alerting: Add Cursor frontmatter to CLAUDE.md for auto-loading |
| #117763 | Feature | Alerting: Add Edit/Export actions to group rows, clickable folders, and square icon for recording rules |
| #113296 | Feature | Alerting: Add RBAC for enrichment |
| — | Feature | Alerting: Add RBAC to enrichments (Enterprise) |
| #116249 | Feature | Alerting: Add UI for imported time intervals |
| #28610, #116244 | Feature | Alerting: Add alert labels as tags on annotations |
| #117946 | Feature | Alerting: Add alertingSyncNotifiersApiMigration feature flag |
| #111803 | Feature | Alerting: Add compressed periodic save for alert instances |
| #113309 | Feature | Alerting: Add counts for firing and pending alert rules |
| #113390 | Feature | Alerting: Add empty state to triage page WIP |
| #112312 | Feature | Alerting: Add expression type information to webhook valueString |
| #116830 | Feature | Alerting: Add feature toggle to disable DMA creation in UI |
| #114308 | Feature | Alerting: Add first CLAUDE.md in the frontend alerting folder |
| #115129 | Feature | Alerting: Add folder_uid label to the grafana_alerting_rule_group_rules metric |
| #114992 | Feature | Alerting: Add gh in CLAUDE.md |
| #115242 | Feature | Alerting: Add limits for the size of expanded notification templates |
| #115203 | Feature | Alerting: Add managed folder validation frontend |
| #117464 | Feature | Alerting: Add policy selector in the alert rule form |
| #115001 | Feature | Alerting: Add saved searches feature for alert rules page |
| — | Feature | Alerting: Add viz wrapper for run queries in enrichment (Enterprise) |
| #113391 | Feature | Alerting: Alerts page performance improvements |
| #114420 | Feature | Alerting: Analyze an alert rule with Grafana Assistant |
| #117024 | Feature | Alerting: Apply pending period to NoData and Error alerts |
| #114347 | Feature | Alerting: Change group filtering to search-based using lightweight BE endpoint |
| #115152 | Feature | Alerting: Collate alert_rule.namespace_uid column as binary |
| #114365 | Feature | Alerting: Collate rule_group column as binary |
| #115665 | Feature | Alerting: Config option to set default datasource in Prometheus rule import |
| #114709 | Feature | Alerting: Correct relative paths in CLAUDE.md Required Reading links |
| #115032 | Feature | Alerting: Dedicated permission for Template testing API |
| #117085 | Feature | Alerting: Deprecate OpsGenie integration |
| #116408 | Feature | Alerting: Filter out imported contact points from simplified routing dropdown |
| #115952 | Feature | Alerting: Hide DMA options when no manageAlerts datasources exist |
| #116924 | Feature | Alerting: Import to Grafana Alerting Wizard - first iteration |
| #113322 | Feature | Alerting: Improve ASH Loki query efficiency by including folderUID |
| #114997 | Feature | Alerting: Improve instance count display |
| — | Feature | Alerting: Make AI Helper in triage to use only assistant (Enterprise) |
| #116368 | Feature | Alerting: Make default notification configuration use empty receiver |
| #116832 | Feature | Alerting: Make saved search name clickable to apply search |
| #116847 | Feature | Alerting: Migrate to K8s style receiver testing API |
| #116749 | Feature | Alerting: Notification configuration tabs |
| #113749 | Feature | Alerting: Prevent routing preview from auto-triggering on mount |
| #114944 | Feature | Alerting: Prevent users from saving rules to git-synced folders |
| #115442 | Feature | Alerting: Protected fields for Contact points |
| #111338 | Feature | Alerting: Receiver testing via app platform APIs |
| #117797 | Feature | Alerting: Refactor error for duplicate names on notificationPolicy creation |
| #117414 | Feature | Alerting: Replace the static radio button list for notification routing with a dropdown |
| #113870 | Feature | Alerting: Resize created_by and updated_by columns in alert rules tables |
| #117441 | Feature | Alerting: Restrict import UI to admin users only |
| — | Feature | Alerting: Show alert rule scoping in the UI to enrichments list and form (Enterprise) |
| #116076 | Feature | Alerting: Single alertmanager contact points versions |
| #116327 | Feature | Alerting: Update GOPS labels API calls to v2alpha1 |
| #115850 | Feature | Alerting: Update RuleGroupConfig definitions with missing fields |
| #113660 | Feature | Alerting: Update UI of instance counts on triage page |
| #115543 | Feature | Alerting: Update createdBy field when silence is being Recreated |
| #114229 | Feature | Alerting: Update docs for ash AI helper button |
| #117382 | Feature | Alerting: Update import wizard to use policyTreeName as config identifier |
| #116672 | Feature | Alerting: Update logic handling canCreate in integrations version, and handle the new deprecated field in the schema |
| — | Feature | Alerting: Update origin for openAssistant in ash (Enterprise) |
| #115341 | Feature | Alerting: Update prompt for Analyze rule AI button |
| #114593 | Feature | Alerting: Update prompt for the button 'Analyze rule with assistant' button |
| #113962 | Feature | Alerting: Update tooltip message when routing preview is disabled |
| — | Feature | Alerting: Update translations (Enterprise) |
| — | Feature | Alerting: Use assistant inline hook instead of llm for template ai button (Enterprise) |
| #117036 | Feature | Alerting: Use canUse instead of provenance to filter out time intervals |
| #114528 | Feature | Alerting: Use data source headers when remote writing |
| #114713 | Feature | AppChrome: Add proper menu icon for menu, logo icon becomes home |
| — | Feature | Auditing: Allow configuring Loki retries and timeout (Enterprise) |
| — | Feature | Auditing: Track uid endpoints for dashboards, not id (Enterprise) |
| #117346 | Feature | Auth: Add SSO settings PATCH endpoint |
| #116442 | Feature | Auth: Add support for validating OAuth ID token signatures |
| #116963 | Feature | Auth: Promote SCIM to GA |
| #113483 | Feature | Authz: Implement Query operation for Zanzana with folder parent retrieval |
| #116891 | Feature | Avatar: Require sign-in, remove queue, respect timeout |
| #116329 | Feature | Azure Monitor: Clear filter options in logs builder when key changes |
| #114667 | Feature | Azure: Improved column handling in logs query builder |
| #114684 | Feature | Azure: Include aggregate columns in logs builder |
| #113888 | Feature | CandleStick: Add timeRangePan |
| #117217 | Feature | Chore: API: add query params to the spec |
| — | Feature | Chore: Access API: add missing query params (Enterprise) |
| #116256 | Feature | Chore: Deprecate experimental restore dashboard API |
| #116621 | Feature | Chore: Deprecate the localeFormatPreference feature toggle |
| #114012 | Feature | Chore: Improve packaging/docker/run.sh |
| #116571 | Feature | Chore: RBAC: Migrate role picker to rtkq |
| #115471 | Feature | Chore: Remove Drilldown Investigations |
| #116417 | Feature | Chore: Remove logRequestsInstrumentedAsUnknown feature flag |
| #113855 | Feature | Chore: Remove pinNavItems feature toggle |
| #113857 | Feature | Chore: Remove unifiedHistory feature toggle and associated code |
| #114361 | Feature | Chore: Remove deprecated language_provider methods in prometheus package |
| #116374 | Feature | Chore: Remove experimental feature individualCookiePreferences |
| #114151 | Feature | Chore: Remove unused+experimental /dashboards/calculate-diff API support |
| #114126 | Feature | Chore: Rudderstack upgrade to SDK v3 behind flag |
| #117516 | Feature | Chore: Upgrade Grafana Faro to v2, removing web_vitals_attribution_enabled |
| #113645 | Feature | Cleanup: Remove CSV drag-and-drop snapshot query feature |
| #115931 | Feature | Cloud Monitoring: Add support for Google Cloud universe_domain |
| #114223 | Feature | CloudMigrations: Remove feature toggle and introduce config setting to disable it |
| #114121 | Feature | CloudWatch Logs: Hide internal logs field |
| #113137 | Feature | CloudWatch Logs: Limit CloudWatch logs queries to use logGroupIdentifiers only for monitoring accounts |
| #116222 | Feature | CloudWatch Logs: Select log groups with the log group selector and $\_\_logGroups macro for OpenSearch Structured Query Language queries |
| #113311 | Feature | CloudWatch: Add anomaly command to language support, add documentation for anomaly queries |
| #113795 | Feature | CloudWatch: Add links to data source docs in the config editor |
| #113314 | Feature | CloudWatch: Make match exact toggle false by default |
| #117448 | Feature | Cloudwatch: Make cloudwatchBatchQueries GA |
| #117551 | Feature | Cloudwatch: Mark missing default region error downstream |
| #115855 | Feature | Cloudwatch: Update grafana-aws-sdk to 1.4.2 |
| #114007 | Feature | Config: Set skip migrations in defaults.ini + override when running frontend service locally |
| #116877 | Feature | Correlations: Remove support for org_id=0 |
| #114426 | Feature | Dashboard : Allow applying variable regex to display text |
| #113517 | Feature | Dashboard Controls: Add UI for displaying under menu |
| #113620 | Feature | Dashboard provisioning: Add support for v2 schema |
| #116986 | Feature | Dashboard: Do not select element always |
| #115387 | Feature | Dashboard: Hide sidebar in kiosk mode |
| #117369 | Feature | Dashboard: Hide sidebar on mobile when in view mode |
| #115414 | Feature | Dashboard: Hide sidebar when playlist is playing |
| #114190 | Feature | Dashboard: New experimental time range zoom shortcuts |
| #117072 | Feature | Dashboard: Round x/y/w/h when importing a dashboard with floats |
| #117398 | Feature | Dashboards: Avoid using internal id from the frontend |
| #115571 | Feature | Dashboards: Do not show alert rules button for new dashboads |
| #117462 | Feature | Dashboards: Make clear all of variable dropdown accessible by keyboard navigation |
| #114499 | Feature | Dashboards: Per panel filtering for timeseries |
| #114818 | Feature | Dashboards: Prevent memory leak in CUE validation by reusing context only for 100 validations |
| #117227 | Feature | Dashboards: Remove deprecated dashboard id endpoints |
| #115333 | Feature | DashboardsAPI: Deprecate /api/dashboards/home |
| #116391 | Feature | DataSources: Deprecate api routes with name and internal IDs |
| #112101 | Feature | DataSources: Update SDKs in support of auth service |
| #116071 | Feature | Datagrid: Deprecate panel |
| #112961 | Feature | Datasources: Experimental API group names use full plugin IDs |
| — | Feature | Datasources: Support new temp creds AWS datasources in auth service (Enterprise) |
| #114749 | Feature | Dependencies: Bump Go to v1.25.5 |
| #117155 | Feature | Docs: Add Knowledge Graph trace & profile configuration section , [[bot]] |
| #115502 | Feature | Docs: Add a "DO NOT MODIFY" warning to the public/img/* source code directory |
| #115170 | Feature | Docs: Clarify section title for repeating rows and tabs |
| #114694 | Feature | Docs: Cleanup enterprise tag usage |
| — | Feature | Docs: Cleanup enterprise tag usage (Enterprise) |
| #116276 | Feature | Dynamic Dashboards: Add new panel button with drag & drop |
| #113941 | Feature | Dynamic Dashboards: Disallow adding empty row and tab titles |
| #114146 | Feature | Dynamic Dashboards: Make outline open by default |
| #115723 | Feature | Dynamic Dashboards: Show hidden variables greyed out |
| #113354 | Feature | EchoSrv: Enable auto route tracking for Azure App Insights |
| #115500 | Feature | ElasticSearch: Update annotation time-range properties |
| #112540 | Feature | Elasticsearch: Add default query mode config setting |
| #114855 | Feature | Elasticsearch: Add support for serverless connections |
| #116318 | Feature | Elasticsearch: Clear code editor query when switching query types |
| #113478 | Feature | Elasticsearch: Handle keyed filters buckets and emit frames |
| #114066 | Feature | Elasticsearch: Raw query editor for DSL |
| #111675, #115811 | Feature | Explore: Add keyboard shortcut to run queries |
| #112949 | Feature | Explore: Ensure data source is part of query object in internal data links |
| #114680 | Feature | Explore: Remove use of AppChrome navbar |
| #116323 | Feature | Explore: Reset legend when a new query is run |
| #115837 | Feature | Explore: Traces query that will work with either logs drilldown or explore |
| #111463 | Feature | Explore: Use new Table component |
| #113735 | Feature | ExternalPlugins: Restore backward compatability for util function |
| — | Feature | Feat: Datasources Auth Service (Enterprise) |
| — | Feature | Feat: Experimental sandbox mode for community & PPT plugins (Enterprise) |
| #115936 | Feature | Feat: Experimental sandbox mode for community plugins |
| #116405 | Feature | Feat: Remove experimental permissionsFilterRemoveSubquery feature |
| #112988 | Feature | FeatureToggle: Create experimental timeRangePan flag |
| #116970 | Feature | FeatureToggle: Enable time range pan zoom flags by default as generally available |
| #114424 | Feature | FieldColor: Add accessible color palettes |
| #113173 | Feature | Folders: Deprecate getFolderByUID method |
| #114090 | Feature | Folders: Improve wording for actions and move/delete |
| #117426 | Feature | Folders: Manage folder owner reference |
| #114158 | Feature | Folders: Send permissions query param with app platform for folder picker |
| #116843 | Feature | Folders: Show owner references on folder details pages |
| #116722 | Feature | Gauge: Delete radialbar plugin to avoid migrations |
| #116436 | Feature | Gauge: Mark grafana/ui export as deprecated |
| #114947 | Feature | Geomap: Min/Max Zoom options for XYZ Tile Layer |
| #116654 | Feature | Geomap: Variable support in the XYZ Tile layer |
| #116394 | Feature | Go: Update to 1.25.6 |
| #117470 | Feature | Go: Update to 1.25.7 |
| #116716 | Feature | Grafana Cli: Add admin flush-rbac-seed-assignment command |
| #116534 | Feature | Grafana Monitoring: Enable native HTTP histograms by default, make classic histograms configurable |
| #115610 | Feature | GrafanaBootData: Deprecate config.apps |
| #116918 | Feature | GrafanaBootData: Deprecate config.panels |
| #117158 | Feature | Graphite: Revert naming convention changes |
| #113889 | Feature | Heatmap: Add timeRangePan |
| #113337 | Feature | Heatmap: Support for linear y axis |
| #116532 | Feature | I18n: Ignore dist folder in packages when extracting translations |
| #114174 | Feature | IAM: Optionally make refresh tokens required if use_refresh_token is enabled |
| #115352 | Feature | InteractiveTable: Extend sort options with disableSortRemove and sortDescFirst |
| #117546 | Feature | InteractiveTable: Prevent reset to first page after data property change unless autoResetPage property is specified |
| #116048 | Feature | Library Elements: Deprecate folderFilter query param; update docs for folderFilterUIDs |
| #114225 | Feature | Live: Add configuration for client_queue_max_size |
| #117275 | Feature | Live: Use namespace rather than OrgID |
| #116912 | Feature | Log Line Context: Internally manage displayed fields |
| #116528 | Feature | Logs Panel: Added support for transformations when using infinite scrolling |
| #117402 | Feature | Logs Panel: Added support for unwrapped logs with optional columns for displayed fields |
| #114653 | Feature | Logs Panel: Integrate client-side search with Popover Menu |
| #114501 | Feature | Logs Volume: Show visible range of logs in Explore |
| #115037 | Feature | Logs: Cell format value on inspect should use Code view for arrays, objects, and JSON strings |
| #113583 | Feature | Logs: Feature flag logRowsPopoverMenu removed |
| #113585 | Feature | Logs: Feature flag logsInfiniteScrolling removed |
| #115348 | Feature | Logs: Improved flexibility of hasSupplementaryQuerySupport |
| #114350 | Feature | Logs: Persist sort order in the Explore URL |
| #112297 | Feature | Loki: Apply default_manage_alerts_ui_toggle config |
| #113977 | Feature | MSSQL: Current-user authentication |
| #116090 | Feature | MetricsDrilldown: Remove exploreMetricsRelatedLogs feature toggle |
| #116900 | Feature | MySQL: Add variable query editor support |
| #115218 | Feature | NPM: Dispatch to plugin-tools on e2e-selectors changes |
| #113340 | Feature | New Logs Panel: Enable new visualization by default |
| #113329 | Feature | News Panel: Modify pubDate logic to use updated date as fallback |
| #116530 | Feature | Node Graph: Use first numeric field as fallback for main stat |
| — | Feature | PDFTables: Dynamically shrink font to try and fit whole table in pdf page width (Enterprise) |
| #111174 | Feature | Page: Background prop to support canvas background for standard layout pages |
| #114836 | Feature | Panel Menu: Allow using icons for link extensions |
| #115484 | Feature | Panel visualizations: Focus on search input when changing visualizations |
| #114492 | Feature | PanelChrome: Enable new panel padding by default |
| #112613 | Feature | PanelChrome: Feature toggle increased panel header height and padding |
| #117638 | Feature | Playlists: Graduate to v1 apis |
| #116371 | Feature | Plugin Metrics: Improve metrics on long duration queries within grafana |
| #115974 | Feature | PostgreSQL: Add variable query editor support |
| #113675 | Feature | PostgreSQL: Remove feature toggle postgresDSUsePGX |
| #116045 | Feature | Preferences: Add API validation and update documentation |
| #111899 | Feature | Prometheus Dashboards: Use $\_\_rate_interval instead of hardcoded value |
| #115916 | Feature | Prometheus: Add variable job and replaced hardcoded values in prometheus 2.0 stats dashboard |
| #113980 | Feature | Prometheus: Hide 'Kick start your query' button for existing queries |
| #116670 | Feature | Prometheus: Introduce failsafe PromQueryFormat unmarshalling |
| #116648 | Feature | Prometheus: Introduce filtering /series endpoint for prometheus versions that don't support match[] parameter |
| #116233 | Feature | Prometheus: Optimize regex pattern for multi-value label matchers |
| #115941, #116959 | Feature | Prometheus: Revert "Prometheus: Make sure "Min Step" has precedence " |
| #115420 | Feature | Provisioning: Enable editing dashboard via JSON model |
| #116547 | Feature | Provisioning: Integrate GH app connections into the wizard flow |
| #113926 | Feature | Pyroscope: Exemplar support for series queries |
| #117403 | Feature | Query Editor: Add Query Options footer and sidebar for new query editor |
| #114315 | Feature | QueryEditorRows: Clear hideSeriesFrom override on query edit |
| #117378 | Feature | Reporting: Productize reporting retries feature |
| — | Feature | Reporting: Remove newPDFRendering feature flag, stabilising it (Enterprise) |
| — | Feature | Reporting: Support editing template variables in the form for dashboards v2 (Enterprise) |
| #116266 | Feature | Restore dashboards: Improve permissions |
| #116802 | Feature | SQL Expressions: Add "NOT" keyword to allow list |
| #116461 | Feature | SQLDataSource: Use UID rather than internal ID |
| #113545 | Feature | SQLExpressions: Add new schema inspector panel |
| #114002 | Feature | Scopes: Scope input UI update |
| #116326 | Feature | Search: Move experimental panelTitleSearch from searchV2 to unified search |
| #116254 | Feature | SearchAPI: Return "shared with me" children based on the permission query param |
| #117427 | Feature | Secrets Keeper: Add secretsKeeperUI feature flag |
| — | Feature | Secrets Keeper: UI shell with tab navigation (Enterprise) |
| #117853 | Feature | Security: Sanitize TraceView html , [[bot]] |
| #117854 | Feature | Security: Use dashboard timerange if time selection disabled |
| #114844 | Feature | SelectBase: Use standard portal container |
| #115029 | Feature | Short URL: Change default expiration to never |
| #114141 | Feature | Sidebar: A new reusable component for side toolbars and panes |
| #112856 | Feature | Span Details: Two-column view |
| #115030 | Feature | Sparkline: Improve min/max logic to avoid issues for very narrow deltas |
| #114203 | Feature | Sparkline: Prevent infinite loop when rendering a sparkline with a single value |
| #115155 | Feature | Table: Add title attribute to make truncated headings legible |
| #114454 | Feature | Table: Clamp Safari exclusions to 26.0 and 26.1 |
| #114052 | Feature | Table: Clean up filter popover layout and improve filter selection UX |
| #117354 | Feature | Table: Keyboard accessibility for filter |
| #115117 | Feature | Table: Remove hardcoded assumption of \_\_nestedFrames field name |
| #117381 | Feature | TeamFolders: Show team folders in folder picker |
| #117279 | Feature | Tempo: Encode header values before adding them to outgoing context |
| #117813 | Feature | Tempo: Remove forwarding incoming and team headers for streaming requests |
| #113619 | Feature | Theme: Add breakpoint methods for container queries |
| #114506 | Feature | TimePicker: Show new shortcut for zoom out when experimental flag toggled on |
| #115022 | Feature | TimeRange: Additional keyboard shortcut t = to complement t + for zoom in |
| #114496 | Feature | TimeRange: Avoid x-axis pan jump caused by data loading latency |
| #112982 | Feature | TimeSeries: X-axis (time range) click-and-drag panning in panel |
| #113890 | Feature | Timeline: Add timeRangePan |
| #113465 | Feature | Timeseries: Change mouse cursors to indicate active x-axis and y-axis zoom interactions |
| #112301 | Feature | Timeseries: More nuanced editing of linear threshold to avoid crashes |
| #112287 | Feature | Trace View: Span filters updated to use combobox filters |
| #114962 | Feature | Trace datasources: Add Victoria Metrics support for "traces to metrics" |
| #111077 | Feature | Transformers: Add smoothing transformer |
| #114831 | Feature | UI Extensions: Add openInNewTab property to link extensions |
| #116091 | Feature | UI: Use react-table column header types in InteractiveTable with story and tests |
| #114857 | Feature | Unified: Run resource data migrations at startup |
| #117278 | Feature | Viz: Update OutsideRangePlugin to support single datapoint |
| #115716 | Bug fix | Alerting: Add support for client certificate authentication and TLS options to External Alertmanager |
| #113400 | Bug fix | Alerting: Bug fix for regex matching in Alerts page |
| #101949, #114766 | Bug fix | Alerting: Fix 'Rule group does not exist' error toast |
| #115178 | Bug fix | Alerting: Fix Alerts page filtering |
| #114303 | Bug fix | Alerting: Fix NotificationPreview permission checking |
| #114695 | Bug fix | Alerting: Fix RuleEditorCloudRules test flakiness in CI |
| #115662 | Bug fix | Alerting: Fix a race condition panic in ResetStateByRuleUID |
| #114651 | Bug fix | Alerting: Fix advanced filter not preserving freewords filter in the list view |
| #117814 | Bug fix | Alerting: Fix alert rule last evaluation duration units |
| #117819 | Bug fix | Alerting: Fix alert rule last evaluation time including scheduling delays |
| #114926 | Bug fix | Alerting: Fix creating a new alert rule vesion when only keep_firing_for changes |
| #113363 | Bug fix | Alerting: Fix data source recording rules editor |
| #113710 | Bug fix | Alerting: Fix error when updating Alertmanager config with autogenerated receivers |
| #114095 | Bug fix | Alerting: Fix expression queries when coming from a panel |
| #115663 | Bug fix | Alerting: Fix file import/export of recording rules with target datasource uid |
| #113694 | Bug fix | Alerting: Fix for fetching evaluation group in new filter |
| #117076 | Bug fix | Alerting: Fix groupBy in simplified routing UI |
| #114710 | Bug fix | Alerting: Fix ignored filters when paginating alert rules in the API |
| #113702 | Bug fix | Alerting: Fix label value dropdown suggestions in alert rule editor |
| #116133 | Bug fix | Alerting: Fix label value search not filtering results |
| #114642 | Bug fix | Alerting: Fix label values not being shown in the label drop down |
| — | Bug fix | Alerting: Fix missing dataSource.type in dsquery enrichers (Enterprise) |
| #117940 | Bug fix | Alerting: Fix missing provenance annotation in GetManagedRoute |
| #113734 | Bug fix | Alerting: Fix to prevent regex escape on search input query |
| #113541 | Bug fix | Alerting: Fix width of the code editor for Alertmanager configurations |
| #116537 | Bug fix | Alerting: Omit data sources that aren't configured for alerting from search |
| #114477 | Bug fix | Alerting: Patch missing expression model refIds |
| #114143 | Bug fix | Alerting: Remove unknown state filter |
| #111336 | Bug fix | Alerting: Update alert_rule table to fix paginated results |
| #111336 | Bug fix | Alerting: Update alert_rule table to fix paginated results |
| #111336 | Bug fix | Alerting: Update alert_rule table to fix paginated results |
| — | Bug fix | AnalyticsSummaries: Fix dashboard rollup not resetting "last X days" metrics to zero (Enterprise) |
| — | Bug fix | AnalyticsSummaries: Fix dashboard rollup totals resetting incorrectly (Enterprise) |
| #114571 | Bug fix | Auth: Fix inconsistent symbol validation by allowing underscore "\_" in strong password policy |
| #114666 | Bug fix | Azure: Fix dcount aggregation |
| #114665 | Bug fix | Azure: Fix percentile syntax |
| #116223 | Bug fix | BrowseDashboards: Fix nested folder's parent folder dropped after rename folder title |
| #115748 | Bug fix | Canvas: Fix image loading when icon element SVG defined by field mappings |
| #115791 | Bug fix | CloudWatch: Fix error source for some query errors |
| #116574 | Bug fix | CloudWatch: Fix template variable intepolation for metrics queries |
| #117210 | Bug fix | Cloudwatch: Add log group prefix and all-log queries |
| #115871 | Bug fix | Custom branding: Correctly override bouncing loader |
| #112959 | Bug fix | Dashboard datasource: Fix library panels not tracked in mixed queries |
| #117095 | Bug fix | Dashboard: Fix for missing focus style on DataLinkInput component |
| #117230 | Bug fix | Dashboard: Fixes performance issuing saving multiple times |
| #113821 | Bug fix | Dashboards: Fix timeseries off-by N time shift bug after mouse x-axis zoom in panel |
| #117289 | Bug fix | Datasources: Fix permissions cleanup when deleting datasource by name |
| #115827 | Bug fix | Dynamic Dashboards: Fix Content outline not being scrollable |
| #116476 | Bug fix | Dynamic Dashboards: Fix legend click opening panel edit sidebar |
| #116529 | Bug fix | Dynamic Dashboards: Fix show/hide rules when template variable has "All" selected |
| #116637 | Bug fix | Elasticsearch: Fix incorrect log level parsing for nested fields |
| #117877 | Bug fix | Fix: Don't reuse go-plugin config |
| #116521 | Bug fix | Fix: Ensure clone handles functions properly |
| #116286 | Bug fix | Fix: Make plugin.json routes[].path field required |
| #113584 | Bug fix | Fix: Return auth labels from /api/users/lookup |
| #117101 | Bug fix | Fix: Show deprecated badge if installed plugin version is deprecated |
| #114181 | Bug fix | Folders: Make listFolders call correct API and fix tags sorting |
| #113708 | Bug fix | GrafanaUI: Fix iconPlacement prop not being respected in LinkButton |
| #116213 | Bug fix | Graphite: Use target as name for aliased queries |
| #114557 | Bug fix | Histogram: Fix runaway bucket densification with extremely sparse + large datasets |
| #117584 | Bug fix | Icon: Fix SVG not updating when icon name is changed quickly |
| #115513 | Bug fix | Jaeger: Fix variable interpolation in query input |
| #114497 | Bug fix | Notifications: Prevent triggering duplicate notifications |
| #115143 | Bug fix | Plugins Preinstall: Fix URL parsing when includes basic auth |
| #114989 | Bug fix | Plugins: Add PluginContext to plugins when scenes is disabled |
| #113862 | Bug fix | Plugins: Datasource breadcrumb link should link to settings tab |
| #116422 | Bug fix | Plugins: Fix frontend sandbox crash on Firefox with missing browser APIs |
| #114058 | Bug fix | Postgresql: Fix variable interpolation logic when the variable has multiple values |
| #116940 | Bug fix | Prometheus: Fix broken hardcoded override in Prometheus 2.0 dashboard |
| #115941 | Bug fix | Prometheus: Make sure "Min Step" has precedence for a longer time windows |
| #114491 | Bug fix | QueryVariableForm: Refil query variable query on default data source update |
| #113783 | Bug fix | RBAC: Correctly display the new roles after updating user, service account and team roles |
| #116726 | Bug fix | RBAC: Fix rolepicker autoclosing |
| — | Bug fix | Reporting: Fix PDF report header translation for non-English locales (Enterprise) |
| — | Bug fix | Reporting: Fix bug limiting email address length in recipient field (Enterprise) |
| #114852 | Bug fix | SQL Expressions: Fix alerts with sql expressions that have a cte |
| #116907 | Bug fix | SubMenu: Prevent menu positioning itself offscreen |
| #114275 | Bug fix | Tempo: Correctly escape/unescape tag when looking for tag values |
| #114360 | Bug fix | Tempo: Fix multiple streaming TraceQL metrics queries being conflated into one |
| #115647 | Bug fix | TimeSeries: Fix truncated label text in legend table mode |
| #115215 | Bug fix | Trace View: Correctly handle span and service name in span filters |
| #117264 | Bug fix | UI: Fix number fields unexpectedly changing when scrolling |
| #113412 | Breaking change | Plugins: Prevent passing host environment variables to plugin processes by default |
| #113473 | Plugin | Slider: Add support for decimal values |
| #114085 | Plugin | Toggletip: Ensure consistent positioning in all scenarios |
| #114097 | Plugin | ToolbarButton: Require tooltip or aria-label if no children are present |
Reproduced from the official Grafana 12.4.0 release notes. Last checked 7 Jul 2026, 21:23 UTC.