Welcome to the second edition of Grafana for Developers!
This newsletter was created following community feedback asking for a convenient way to stay informed about significant updates and changes relevant to Grafana contributors and plugin developers.
Please share your thoughts through the feedback link at the bottom to help us ensure we are giving you the information you need.
Upcoming breaking changes
Grafana 13 (mid 2026) intends to ship with React upgraded to version 19. This will introduce some breaking changes to the plugins using the React APIs that will be removed by the React team. In the upcoming weeks we will be providing more comprehensive documentation on how to check for compatibility issues as well as how to mitigate those. You can follow this epic for more information regarding plugin development for React 19.
New platform capabilities
Translation support for plugins
We are excited to share that internationalization (i18n) is now supported in Grafana plugins. This update makes it possible for plugin developers to create more accessible and inclusive experiences for users around the world.
- For plugins supporting Grafana 12.1.0 and later, follow this guide.
- For plugins supporting Grafana version 11.0.0 and later, we also provide a supported approach here.
With these updates, plugin developers can ensure their tools are ready for global adoption, helping teams collaborate more effectively across languages and regions.
To learn how to enable translations in your plugin, see our official documentation: Plugin Internationalization Guide
We look forward to seeing your plugins become even more powerful and user-friendly through internationalization support.
Moving to migrations for tooling updates
Starting with @grafana/create-plugin v6 we are changing the way we think about the @grafana/create-plugin update command. The legacy approach would often result in unwanted changes, failed dependency installs, and large PRs that were hard to review. The new update approach aims to solve these issues by running a series of migrations that each focus on a single task to bring your plugin up to date. This should make for a more user friendly experience with better logging, option to git commit each successful migration, better error handling and rollback support should something go wrong during a migration
This also means that the update command no longer updates dependencies unless required for new functionality or tooling to work. We recommend using dependabot or renovate to keep your 3rd party dependencies up to date.
Plugin validator
Plugin validator can now output its results into a JSON format using the newly added jsonOutput configuration parameter. This allows you to parse the information in a more structured way and integrate it into your workflows better.
New Docs and Tutorials
React debugging tutorial
Using a debug build of Grafana allows you to easily step through code that has not been minimized and use the Profiler in the React Developer Tools. This guide explains how to use the React Tools debugger to develop new Grafana plugins and troubleshooting existing ones.
UI extensions
We have recently made a lot of changes related to UI Extensions documentation, including:
- best practices for UI Extensions
- when to use add and when to use expose to share content
- testing UI extensions between multiple plugins
- exposing a lazy loaded component
- using UI extensions for general functions
UI extensions were also featured in the recent Grafana Campfire community call if you want to learn more and see them in action.
SQL Expressions
SQL Expressions are a new feature introduced in Grafana 12 and now in public preview which allows you to manipulate and transform the results of data source queries using a MySQL-like syntax. They are a form of server-side expression queries, and such execute on the backend - so the results from these can be used in alerting queries (unlike with transformations which are on the frontend).
For SQL expressions to work with the results of a data source query, the data source has to be a backend plugin and may need to provide additional metadata based on dataplane. We have added a tutorial on how to make your datasource support SQL Expressions.
Coming soon
Plugin insights
We are exploring ways to enhance metadata for plugins to help increase user’s confidence when assessing Grafana plugins - surfacing key insights related to the security, maintenance and adherence to recommended practices. Share your thoughts and feedback here to help us refine the approach to help both plugin developers and users alike.
Key resources
Looking for help with development? Check out these resources:
Feedback
We’re always keen to hear from you to make sure the content we’re sharing is interesting and relevant. Please let us know if you have any suggestions or comments.