What Is New in Grafana 9.3
| Category | Highlights |
|---|---|
| New Features | Top navigation redesign, support for Spanish/French/German/Chinese, Geomap photo layer, Canvas icon mapping, Public dashboards management UI, Partition-by-values transformation, Report zoom, RBAC token-permission endpoint, Terraform RBAC provisioning, Webex Teams contact point |
| Improvements | OAuth token expiration checks, LDAP role-mapping skip option, Azure AD Graph API group fetch, Alerting UI redesign, Notification error visibility, Expressions pipeline UI merge |
| Breaking Changes | OAuth token handling now validates expiration and may sign out users without refresh-token configuration |
How does the new navigation redesign improve incident response?
The new navigation gives you full visibility into system health and lets you jump between related tools in seconds.
- Enable the
topnavfeature toggle (or ask Cloud Advanced support to enable it). - Pages now include breadcrumbs and a persistent sidebar for quick context switches.
- A global header puts dashboard search on every page, reducing the time to locate a view.
# example: enable top navigation via config file
[feature_toggles]
topnav = true
What new localization options are available in Grafana 9.3?
Grafana now ships with Spanish, French, German, and Simplified Chinese UI translations.
- Set the default language for the whole organization in
grafana.iniunder[panels]→default_locale. - Individual users can override the org default from their profile page.
- The language setting affects navigation, dashboard rendering, and most viewer-level UI strings.
# grafana.ini snippet
[panels]
default_locale = zh-CN
Which new panels and transformations were introduced in Grafana 9.3?
Grafana 9.3 adds a photo layer to the Geomap panel, icon-value mapping for Canvas panels, and a "Partition by values" transformation.
- Geomap photo layer: Render a custom image at each coordinate point.
- Canvas icon mapping: Dynamically choose icons based on field values.
- Partition by values: Split a single query result into multiple series based on distinct column values.
# Example query for Partition by values
SELECT time, region, value FROM metrics WHERE time > '2022-10-20';
What enhancements were made to public dashboards and reporting?
Public dashboards now have a dedicated management screen and optional annotation display, while reports can be zoomed to fit more data.
- Navigate to Dashboards → Public Dashboards to list, enable, or edit all public dashboards.
- Annotations can be toggled on per public dashboard (query annotations are still excluded).
- Report PDFs include a "Zoom" selector (in, out, auto) to adjust panel and text size.
# Enable public dashboards feature toggle
[feature_toggles]
publicDashboards = true
How have authentication and access controls been strengthened in Grafana 9.3?
Grafana now validates OAuth access-token expiration, adds LDAP role-sync skipping, forces Azure AD group fetch via Graph API, and exposes RBAC token-permission introspection.
- OAuth token expiration check: Enabled with
accessTokenExpirationChecktoggle; requires refresh-token configuration. - LDAP skip_org_role_sync: Prevents automatic role sync, allowing manual role edits.
- Azure AD force_use_graph_api: Forces group retrieval from Microsoft Graph.
- RBAC token permissions endpoint:
/api/access-control/token-permissionsreturns the full permission list for a token. - Terraform provider 1.31.1+: Supports provisioning service-account permissions and basic role data source access.
# curl example to list token permissions
curl -H "Authorization: Bearer $TOKEN" https://grafana.example.com/api/access-control/token-permissions
Frequently Asked Questions
How do I enable the new top navigation in Grafana 9.3?
Set the topnav feature toggle to true in the config file or request Cloud Advanced support to enable it.
Is the Partition by values transformation limited to specific data sources?
It works with any datasource that returns tabular data, so you can use it with SQL, Prometheus, or Elasticsearch.
Can each user choose a different language than the organization default?
Yes, users can override the default locale from their profile settings.
What must I configure for OAuth token expiration checks to work?
You need to provide a refresh token for the OAuth provider; otherwise users will be signed out when the access token expires.
How do I list the permissions associated with a service account token?
Use the endpoint /api/access-control/token-permissions with the token in the Authorization header.
Which Terraform provider version adds support for the new RBAC provisioning features?
Terraform Grafana provider version 1.31.1 or later includes the extended RBAC capabilities.