Migrate plugins from Grafana version 9.x to 10.x
Follow these instructions to migrate plugins from Grafana version 9.x to 10.x.
Verify plugin behavior with React 18
Grafana 10 includes our upgrade to React 18 and use of the new React client-side rendering API. These changes were delivered to the core
grafana repo with PR 64428.
Although these updates bring many significant benefits, there's a potential for them to impact the way that your plugin works. In particular, there could be unintended side effects caused by the changes around improving consistency with
useEffect timings and automatic batching of state updates.
- Review the React 18 upgrade docs.
- Test your plugins against one of the latest grafana-dev docker images (for example, this one).
- If your plugin is affected, add a comment to the forum discussion. Be sure to communicate with us so we are aware of the issue and can provide help.
Data frame field values are now just arrays
Most code targeting 9.x will continue to work without any issues. An exception is the rare case in which existing code directly implements
Vector<T> rather than extending or using base classes. In this case, the code should either return an array or extend
FunctionalVector<T>. All Vector implementations have been deprecated and will be removed in the future.
When writing plugins that should run on 9.x, continue to use the Vector interfaces. In this case, when targeting versions 10+, you can now use simple arrays rather than wrapper classes.