grafana
-
10.4.0 (2024-03-06)
Published by grafana-delivery-bot[bot] 8 months ago
Download page
What's new highlights
Features and enhancements
-
AuthToken: Remove client token rotation feature toggle. #82886, @kalleep
-
Plugins: Enable feature toggle angularDeprecationUI by default. #82880, @xnyo
-
Table Component: Improve text-wrapping behavior of cells. #82872, @ahuarte47
-
Alerting: Dry-run legacy upgrade on startup. #82835, @JacobsonMT
-
Tempo: Upgrade @grafana/lezer-traceql patch version to use trace metrics syntax. #82532, @joey-grafana
-
Logs Panel: Add CSV to download options. #82480, @gtk-grafana
-
Folders: Switch order of the columns in folder table indexes so that org_id becomes first. #82454, @papagian
-
Logs panel: Table UI - Guess string field types. #82397, @gtk-grafana
-
Alerting: Send alerts to APIv2 when using the Alertmanager contact point. #82373, @grobinson-grafana
-
Alerting: Emit warning when creating or updating unusually large groups. #82279, @alexweav
-
Keybindings: Change 'h' to 'mod+h' to open help modal. #82253, @tskarhed
-
Chore: Update arrow and prometheus dependencies. #82215, @ryantxu
-
Alerting: Enable group-level rule evaluation jittering by default, remove feature toggle. #82212, @alexweav
-
Loki Log Context: Always show label filters with at least one parsed label. #82211, @svennergr
-
Logs Panel: Table UI - better default column spacing. #82205, @gtk-grafana
-
RBAC: Migration to remove the scope from permissions where action is alert.instances:read. #82202, @IevaVasiljeva
-
JWT Authentication: Add support for specifying groups in auth.jwt for teamsync. #82175, @Jguer
-
Alerting: GA alertingPreviewUpgrade and enable by default. #82038, @JacobsonMT
-
Elasticsearch: Apply ad-hoc filters to annotation queries. #82032, @mikelv92
-
Alerting: Show legacy provisioned alert rules warning. #81902, @gillesdemey
-
Tempo: Support TraceQL metrics queries. #81886, @adrapereira
-
Tempo: Support backtick strings. #81802, @fabrizio-grafana
-
Dashboards: Remove
advancedDataSourcePicker
feature toggle. #81790, @Sergej-Vlasov
-
CloudWatch: Remove references to pkg/infra/metrics. #81744, @iwysiu
-
Licensing: Redact license when overriden by env variable. #81726, @leandro-deveikis
-
Explore: Disable cursor sync. #81698, @ifrost
-
Tempo: Add custom headers middleware for grpc client. #81693, @aocenas
-
Chore: Update test database initialization. #81673, @DanCech
-
Elasticsearch: Implement CheckHealth method in the backend. #81671, @mikelv92
-
Tooltips: Hide dimension configuration when tooltip mode is hidden. #81627, @codeincarnate
-
Alerting: Show warning when cp does not exist and invalidate the form. #81621, @soniaAguilarPeiron
-
User: Add uid colum to user table. #81615, @ryantxu
-
Cloudwatch: Remove core imports from infra/log. #81543, @njvrzm
-
Alerting: Add pagination and improved search for notification policies. #81535, @soniaAguilarPeiron
-
Alerting: Move action buttons in the alert list view. #81341, @soniaAguilarPeiron
-
Grafana/ui: Add deprecation notices to the legacy layout components. #81328, @Clarity-89
-
Cloudwatch: Deprecate cloudwatchNewRegionsHandler feature toggle and remove core imports from featuremgmt. #81310, @njvrzm
-
Candlestick: Add tooltip options. #81307, @adela-almasan
-
Folders: Forbid performing operations on folders via dashboards HTTP API. #81264, @undef1nd
-
Feature Management: Move awsDatasourcesNewFormStyling to Public Preview. #81257, @idastambuk
-
Alerting: Update API to use folders' full paths. #81214, @yuri-tceretian
-
Datasources: Add concurrency number to the settings. #81212, @itsmylife
-
CloudWatch: Remove dependencies on grafana/pkg/setting. #81208, @iwysiu
-
Logs: Table UI - Allow users to resize field selection section. #81201, @gtk-grafana
-
Dashboards: Remove emptyDashboardPage feature flag. #81188, @Sergej-Vlasov
-
Cloudwatch: Import httpClient from grafana-plugin-sdk-go instead of grafana/infra. #81187, @idastambuk
-
Logs: Table UI - Enable feature flag by default (GA). #81185, @gtk-grafana
-
Tempo: Improve tags UX. #81166, @joey-grafana
-
Table: Cell inspector auto-detecting JSON. #81152, @gtk-grafana
-
Grafana/ui: Add Space component. #81145, @Clarity-89
-
Grafana/ui: Add deprecation notice to the Form component. #81068, @Clarity-89
-
Alerting: Swap order between Annotations and Labels step in the alert rule form. #81060, @soniaAguilarPeiron
-
Plugins: Change managedPluginsInstall to public preview. #81053, @oshirohugo
-
Tempo: Add span, trace vars to trace to metrics interpolation. #81046, @joey-grafana
-
Tempo: Support multiple filter expressions for service graph queries. #81037, @domasx2
-
Alerting: Support for simplified notification settings in rule API. #81011, @yuri-tceretian
-
Plugins: Add fuzzy search to plugins catalogue. #81001, @Ukochka
-
CloudWatch: Only override contextDialer when using PDC. #80992, @leandro-deveikis
-
Alerting: Add a feature flag to periodically save states. #80987, @JohnnyQQQQ
-
RBAC: Return the underlying error instead of internal server or bad request for managed permission endpoints. #80974, @IevaVasiljeva
-
Correlations: Enable correlations feature toggle by default. #80881, @ifrost
-
Transformations: Focus search input on drawer open. #80859, @codeincarnate
-
Packaging: Use the GRAFANA_HOME variable in postinst script on Debian. #80853, @denisse-dev
-
Visualizations: Hue gradient mode now applies to the line color . #80805, @torkelo
-
Drawer: Resizable via draggable edge . #80796, @torkelo
-
Alerting: Add setting to distribute rule group evaluations over time. #80766, @alexweav
-
Logs Panel: Permalink (copy shortlink). #80764, @gtk-grafana
-
VizTooltips: Copy to clipboard functionality. #80761, @adela-almasan
-
AuthN: Support reloading SSO config after the sso settings have changed. #80734, @mgyongyosi
-
Logs Panel: Add total count to logs volume panel in explore. #80730, @gtk-grafana
-
Caching: Remove useCachingService feature toggle. #80695, @mmandrus
-
Table: Support showing data links inline. . #80691, @ryantxu
-
Storage: Add support for sortBy selector. #80680, @DanCech
-
Alerting: Add metric counting rule groups per org. #80669, @alexweav
-
RBAC: Cover plugin routes. #80578, @gamab
-
Profiling: Import godeltaprof/http/pprof. #80509, @korniltsev
-
Tempo: Add warning message when scope missing in TraceQL. #80472, @joey-grafana
-
Cloudwatch: Move getNextRefIdChar util from app/core/utils to @grafana/data. #80471, @idastambuk
-
DataFrame: Add optional unique id definition. #80428, @aocenas
-
Canvas: Add element snapping and alignment. #80407, @nmarrs
-
Logs: Add show context to dashboard panel. #80403, @svennergr
-
Canvas: Support context menu in panel edit mode. #80335, @nmarrs
-
VizTooltip: Add sizing options. #80306, @Develer
-
Plugins: Parse defaultValues correctly for nested options. #80302, @oshirohugo
-
Geomap: Support geojson styling properties. #80272, @drew08t
-
Runtime: Add property for disabling caching. #80245, @aangelisc
-
Alerting: Log scheduler maxAttempts, guard against invalid retry counts, log retry errors. #80234, @alexweav
-
Alerting: Improve integration with dashboards. #80201, @konrad147
-
Transformations: Use an explicit join seperator when converting from an array to string field. #80169, @ryantxu
-
Build: Update plugin IDs list in build and release process. #80160, @fabrizio-grafana
-
NestedFolders: Support Shared with me folder for showing items you've been granted access to. #80141, @joshhunt
-
Log Context: Add highlighted words to log rows. #80119, @svennergr
-
Tempo: Add
}
when {
is inserted automatically. #80113, @harrymaurya05
-
Time Range: Copy-paste Time Range. #80107, @harisrozajac
-
PanelContext: Remove deprecated onSplitOpen. #80087, @harisrozajac
-
Docs: Add HAProxy rewrite information considering
serve_from_sub_path
setting. #80062, @simPod
-
Table: Keep expanded rows persistent when data changes if it has unique ID. #80031, @aocenas
-
SSO Config: Add generic OAuth. #79972, @Clarity-89
-
FeatureFlags: Remove the unsupported/undocumented option to read flags from a file. #79959, @ryantxu
-
Transformations: Add Group to Nested Tables Transformation. #79952, @codeincarnate
-
Cloudwatch Metrics: Adjust error handling. #79911, @idastambuk
-
Tempo: Decouple Tempo from Grafana core. #79888, @fabrizio-grafana
-
Table Panel: Filter column values with operators or expressions. #79853, @ahuarte47
-
Chore: Generate shorter UIDs. #79843, @ryantxu
-
Alerting: MuteTiming service return errutil + GetTiming by name. #79772, @yuri-tceretian
-
Azure Monitor: Add select all subscription option for ARG queries. #79582, @alyssabull
-
Alerting: Enable sending notifications to a specific topic on Telegram. #79546, @th0th
-
Logs Panel: Table UI - Reordering table columns via drag-and-drop. #79536, @gtk-grafana
-
Cloudwatch: Add AWS/EMRServerless and AWS/KafkaConnect Metrics . #79532, @DugeraProve
-
Transformations: Move transformation help to drawer component. #79247, @codeincarnate
-
Stat: Support no value in spark line. #78986, @FOWind
-
NodeGraph: Use layered layout instead of force based layout. #78957, @aocenas
-
Alerting: Create alertingQueryOptimization feature flag for alert query optimization. #78932, @JacobsonMT
-
Dashboard: New EmbeddedDashboard runtime component . #78916, @torkelo
-
Alerting: Show warning when query optimized. #78751, @JacobsonMT
-
Alerting: Add support for TTL for pushover for Mimir Alertmanager. #78687, @gillesdemey
-
Grafana/ui: Enable removing values in multiselect opened state. #78662, @FOWind
-
SQL datasources: Consistent interval handling. #78517, @gabor
-
Alerting: During legacy migration reduce the number of created silences. #78505, @JacobsonMT
-
UI: New share button and toolbar reorganize. #77563, @evictorero
-
Alerting: Update rule API to address folders by UID. #74600, @papagian
-
Reports: Add uid column to the database. (Enterprise)
-
Plugins: Add metrics for cloud plugin install. (Enterprise)
-
RBAC: Make seeding resilient to failed plugin loading. (Enterprise)
-
Plugins: Support disabling caching at a plugin instance level. (Enterprise)
Bug fixes
-
Auth: Fix email verification bypass when using basic authentication. #82914, @volcanonoodle
-
LibraryPanels/RBAC: Fix issue where folder scopes weren't being correctly inherited. #82700, @kaydelaney
-
Table Panel: Fix display of ad-hoc filter actions. #82442, @codeincarnate
-
Loki: Update
@grafana/lezer-logql
to 0.2.3
containing fix for ip label name. #82378, @ivanahuckova
-
Alerting: Fix slack double pound and email summary. #82333, @gillesdemey
-
Elasticsearch: Fix resource calls for paths that include
:
. #82327, @ivanahuckova
-
Alerting: Return provenance of notification templates. #82274, @julienduchesne
-
LibraryPanels: Fix issue with repeated library panels. #82255, @kaydelaney
-
Loki: Fix fetching of values for label if no previous equality operator. #82251, @ivanahuckova
-
Alerting: Fix data races and improve testing. #81994, @diegommm
-
chore: Fix typo in GraphTresholdsStyleMode enum. #81960, @paulJonesCalian
-
CloudWatch: Fix code editor not resizing on mount when content height is > 200px. #81911, @kevinwcyu
-
FieldOptions: Revert scalable unit option as we already support this via custom prefix/suffixes . #81893, @torkelo
-
Browse Dashboards: Imported dashboards now display immediately in the dashboard list. #81819, @ashharrison90
-
Elasticsearch: Set middlewares from Grafana's
httpClientProvider
. #81814, @svennergr
-
Folders: Fix failure to update folder in SQLite. #81795, @papagian
-
Plugins: Never disable add new data source for core plugins. #81774, @oshirohugo
-
Alerting: Fixes for pending period. #81718, @gillesdemey
-
Alerting: Fix editing group of nested folder. #81665, @gillesdemey
-
Plugins: Don't auto prepend app sub url to plugin asset paths. #81658, @wbrowne
-
Alerting: Fix inconsistent AM raw config when applied via sync vs API. #81655, @JacobsonMT
-
Alerting: Fix support check for export with modifications. #81602, @gillesdemey
-
Alerting: Fix selecting empty contact point value for notification policy inheritance. #81482, @gillesdemey
-
Alerting: Fix child provisioned polices not being rendered as provisioned. #81449, @soniaAguilarPeiron
-
Tempo: Fix durations in TraceQL. #81418, @fabrizio-grafana
-
Logs: Fix toggleable filters to be applied for specified query. #81368, @ivanahuckova
-
Loki: Fix label not being added to all subexpressions. #81360, @svennergr
-
Loki/Elastic: Assert queryfix value to always be string. #81349, @svennergr
-
Tempo: Add query ref in the query editor. #81343, @joey-grafana
-
Transformations: Use the display name of the original y field for the predicted field of the regression analysis transformation. #81332, @oscarkilhed
-
Field: Fix perf regression in getUniqueFieldName(). #81323, @leeoniya
-
Alerting: Fix scheduler to group folders by the unique key (orgID and UID). #81303, @yuri-tceretian
-
Alerting: Fix migration edge-case race condition for silences. #81206, @JacobsonMT
-
Explore: Set default time range to now-1h. #81135, @ifrost
-
Elasticsearch: Fix URL creation and allowlist for
/_mapping
requests. #80970, @svennergr
-
Postgres: Handle single quotes in table names in the query editor. #80951, @gabor
-
Folders: Fix creating/updating a folder whose title has leading and trailing spaces. #80909, @papagian
-
Loki: Fix missing timerange in query builder values request. #80829, @svennergr
-
Elasticsearch: Fix showing of logs when
__source
is log message field. #80804, @ivanahuckova
-
Pyroscope: Fix stale value for query in query editor. #80753, @joey-grafana
-
Stat: Fix data links that refer to fields. #80693, @ajwerner
-
RBAC: Clean up data source permissions after data source deletion. #80654, @IevaVasiljeva
-
Alerting: Fix MuteTiming Get API to return provenance status. #80494, @yuri-tceretian
-
Tempo: Fix regression caused by #79938. #80465, @fabrizio-grafana
-
Alerting: Fix preview getting the correct queries from the form. #80458, @soniaAguilarPeiron
-
Alerting: Fix firing alerts title when showing active in Insights panel. #80414, @soniaAguilarPeiron
-
Postgres: Fix enabling the socks proxy. #80361, @gabor
-
Alerting: Fix group filter. #80358, @soniaAguilarPeiron
-
Alerting: Increase size of kvstore value type for MySQL to LONGTEXT. #80331, @JacobsonMT
-
Annotations: Split cleanup into separate queries and deletes to avoid deadlocks on MySQL. #80329, @alexweav
-
Loki: Fix bug duplicating parsed labels across multiple log lines. #80292, @svennergr
-
Alerting: Fix NoData & Error alerts not resolving when rule is reset. #80184, @JacobsonMT
-
Loki: Fix metric time splitting to split starting with the start time. #80085, @svennergr
-
Rendering: Fix streaming panels always reaching timeout. #80022, @AgnesToulet
-
Plugins: Fix colon in CallResource URL returning an error when creating plugin resource request. #79746, @GiedriusS
-
PDF: Fix initialization when SMTP is disabled. (Enterprise)
-
PDF: Fix repeated panels placement issue. (Enterprise)
-
Report CSV: Fix timeout with streaming panels. (Enterprise)
-
RBAC: Avoid repopulating removed basic role permissions if the permission scope has changed. (Enterprise)
Breaking changes
We're adding a between the response of the ID token HD parameter and the list of allowed domains. This feature can be disabled through the configuration toggle validate_hd
. Anyone using the legacy Google OAuth configuration should disable this validation if the ID Token response doesn't have the HD parameter. Issue #83726
If you use an automated provisioning (eg, Terraform) for custom roles, and have provisioned a role that includes permission with action alert.instances:read
and some scope, you will need to update the permission in your provisioning files by removing the scope. Issue #82202
The following breaking change occurs only when feature flag nestedFolders
is enabled.
If the folder title contains the symbol /
(forward-slash) the notifications created from the rules that are placed in that folder will contain an escape sequence for that symbol in the label grafana_folder
.
For example, the folder title is Grafana / Folder
. Currently the label grafana_folder
will contain the title as it is. If PR is merged - the label value will be Grafana \/ Folder
.
This can break notifications if notification policies have matches that match that label and folder. Issue #81214
PanelContext.onSplitOpen
is removed. In the context of Explore, plugins should use field.getLinks
to get a list of data link models. Issue #80087
The unstable alert rule API has been changed and now expects a folder UID instead of the folder title as namespace path parameter.
I addition to this, the responses that used to return the folder title now return <folder parent UID>/<folder title>
to uniquely identify them.
Any consumers of the specific API should be appropriately adapted. Issue #74600
Plugin development fixes & changes