<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Developers on Grafana Labs</title><link>https://grafana.com/docs/grafana/v10.1/developers/</link><description>Recent content in Developers on Grafana Labs</description><generator>Hugo -- gohugo.io</generator><language>en</language><atom:link href="/docs/grafana/v10.1/developers/index.xml" rel="self" type="application/rss+xml"/><item><title>HTTP API</title><link>https://grafana.com/docs/grafana/v10.1/developers/http_api/</link><pubDate>Mon, 13 Apr 2026 06:58:27 +0000</pubDate><guid>https://grafana.com/docs/grafana/v10.1/developers/http_api/</guid><content><![CDATA[&lt;h1 id=&#34;http-api-reference&#34;&gt;HTTP API reference&lt;/h1&gt;
&lt;p&gt;The Grafana backend exposes an HTTP API, which is the same API that is used by the frontend to do everything from saving
dashboards, creating users, and updating data sources.&lt;/p&gt;
&lt;p&gt;Since version 8.4, HTTP API details are &lt;a href=&#34;https://editor.swagger.io/?url=https://raw.githubusercontent.com/grafana/grafana/main/public/api-merged.json&#34; target=&#34;_blank&#34; rel=&#34;noopener noreferrer&#34;&gt;specified&lt;/a&gt; using OpenAPI v2.&lt;/p&gt;
&lt;p&gt;Starting from version 9.1, there is also a &lt;a href=&#34;https://editor.swagger.io/?url=https://raw.githubusercontent.com/grafana/grafana/main/public/openapi3.json&#34; target=&#34;_blank&#34; rel=&#34;noopener noreferrer&#34;&gt;OpenAPI v3 specification&lt;/a&gt; (generated by the v2 one).&lt;/p&gt;
&lt;p&gt;Users can browser and try out both via the Swagger UI editor (served by the grafana server) by navigating to &lt;code&gt;/swagger-ui&lt;/code&gt; and &lt;code&gt;/openapi3&lt;/code&gt; respectively.&lt;/p&gt;
&lt;h2 id=&#34;http-apis&#34;&gt;HTTP APIs&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&#34;admin/&#34;&gt;Admin API&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;https://editor.swagger.io/?url=https://raw.githubusercontent.com/grafana/grafana/main/pkg/services/ngalert/api/tooling/post.json&#34; target=&#34;_blank&#34; rel=&#34;noopener noreferrer&#34;&gt;Alerting API (unstable)&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;alerting_provisioning/&#34;&gt;Alerting Provisioning API&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;annotations/&#34;&gt;Annotations API&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;auth/&#34;&gt;Authentication API&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;correlations/&#34;&gt;Correlations API&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;dashboard/&#34;&gt;Dashboard API&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;dashboard_permissions/&#34;&gt;Dashboard Permissions API&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;dashboard_versions/&#34;&gt;Dashboard Versions API&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;data_source/&#34;&gt;Data source API&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;folder/&#34;&gt;Folder API&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;folder_permissions/&#34;&gt;Folder Permissions API&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;folder_dashboard_search/&#34;&gt;Folder/Dashboard Search API&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;library_element/&#34;&gt;Library Element API&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;org/&#34;&gt;Organization API&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;other/&#34;&gt;Other API&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;playlist/&#34;&gt;Playlists API&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;preferences/&#34;&gt;Preferences API&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;short_url/&#34;&gt;Short URL API&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;query_history/&#34;&gt;Query history API&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;snapshot/&#34;&gt;Snapshot API&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;team/&#34;&gt;Team API&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;user/&#34;&gt;User API&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id=&#34;deprecated-http-apis&#34;&gt;Deprecated HTTP APIs&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&#34;alerting_notification_channels/&#34;&gt;Alerting Notification Channels API&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;alerting/&#34;&gt;Alerting API&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id=&#34;grafana-enterprise-http-apis&#34;&gt;Grafana Enterprise HTTP APIs&lt;/h2&gt;
&lt;p&gt;Grafana Enterprise includes all of the Grafana OSS APIs as well as those that follow:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&#34;access_control/&#34;&gt;Role-based access control API&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;datasource_permissions/&#34;&gt;Data source permissions API&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;team_sync/&#34;&gt;Team sync API&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;licensing/&#34;&gt;License API&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;reporting/&#34;&gt;Reporting API&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;query_and_resource_caching/&#34;&gt;Query and resource caching API&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
]]></content><description>&lt;h1 id="http-api-reference">HTTP API reference&lt;/h1>
&lt;p>The Grafana backend exposes an HTTP API, which is the same API that is used by the frontend to do everything from saving
dashboards, creating users, and updating data sources.&lt;/p></description></item><item><title>Contribute to Grafana</title><link>https://grafana.com/docs/grafana/v10.1/developers/contribute/</link><pubDate>Mon, 13 Apr 2026 06:58:27 +0000</pubDate><guid>https://grafana.com/docs/grafana/v10.1/developers/contribute/</guid><content><![CDATA[&lt;h1 id=&#34;contribute-to-grafana&#34;&gt;Contribute to Grafana&lt;/h1&gt;
&lt;p&gt;This page lists resources for developers who want to contribute to the Grafana software ecosystem or build plugins for Grafana.&lt;/p&gt;
&lt;h2 id=&#34;general-resources&#34;&gt;General resources&lt;/h2&gt;
&lt;p&gt;These resources are useful for all developers.&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;&lt;a href=&#34;https://github.com/grafana/grafana/blob/main/CONTRIBUTING.md&#34; target=&#34;_blank&#34; rel=&#34;noopener noreferrer&#34;&gt;Contributing to Grafana&lt;/a&gt;: Start here to learn how you can contribute your skills to make Grafana even better.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;a href=&#34;https://github.com/grafana/grafana/blob/main/contribute/developer-guide.md&#34; target=&#34;_blank&#34; rel=&#34;noopener noreferrer&#34;&gt;Developer guide&lt;/a&gt;: A guide to help you get started developing Grafana software, includes instructions for how to configure Grafana for development.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;a href=&#34;https://github.com/grafana/grafana/blob/main/contribute/documentation&#34; target=&#34;_blank&#34; rel=&#34;noopener noreferrer&#34;&gt;Contributing to documentation&lt;/a&gt;: A guide to help you contribute to Grafana documentation, includes links to beginner-friendly issues.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;a href=&#34;https://github.com/grafana/grafana/tree/main/contribute/architecture&#34; target=&#34;_blank&#34; rel=&#34;noopener noreferrer&#34;&gt;Architecture guides&lt;/a&gt;: These guides explain Grafana’s background architecture.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;a href=&#34;https://github.com/grafana/grafana/blob/main/contribute/create-pull-request.md&#34; target=&#34;_blank&#34; rel=&#34;noopener noreferrer&#34;&gt;Create a pull request&lt;/a&gt;: A guide for new contributors about how to create your first Grafana pull request.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;a href=&#34;/docs/grafana/next/developers/http_api/&#34;&gt;REST APIs&lt;/a&gt; allow you to interact programmatically with the Grafana backend.&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id=&#34;best-practices-and-style&#34;&gt;Best practices and style&lt;/h2&gt;
&lt;p&gt;Our &lt;a href=&#34;https://github.com/grafana/grafana/tree/main/contribute/style-guides&#34; target=&#34;_blank&#34; rel=&#34;noopener noreferrer&#34;&gt;style guides&lt;/a&gt; outline Grafana style for frontend, backend, documentation, and more, including best practices. Please read through them before you start editing or coding!&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;&lt;a href=&#34;https://github.com/grafana/grafana/blob/main/contribute/style-guides/backend.md&#34; target=&#34;_blank&#34; rel=&#34;noopener noreferrer&#34;&gt;Backend style guide&lt;/a&gt; explains how we want to write Go code in the future.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;a href=&#34;https://github.com/grafana/grafana/blob/main/contribute/style-guides/documentation-style-guide.md&#34; target=&#34;_blank&#34; rel=&#34;noopener noreferrer&#34;&gt;Documentation style guide&lt;/a&gt; applies to all documentation created for Grafana products.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;a href=&#34;https://github.com/grafana/grafana/blob/main/contribute/style-guides/e2e.md&#34; target=&#34;_blank&#34; rel=&#34;noopener noreferrer&#34;&gt;End to end test framework&lt;/a&gt; provides guidance for Grafana e2e tests.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;a href=&#34;https://github.com/grafana/grafana/blob/main/contribute/style-guides/frontend.md&#34; target=&#34;_blank&#34; rel=&#34;noopener noreferrer&#34;&gt;Frontend style guide&lt;/a&gt; provides rules and guidance on developing in React for Grafana.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;a href=&#34;https://github.com/grafana/grafana/blob/main/contribute/style-guides/redux.md&#34; target=&#34;_blank&#34; rel=&#34;noopener noreferrer&#34;&gt;Redux framework&lt;/a&gt; explains how Grafana handles Redux boilerplate code.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;a href=&#34;https://github.com/grafana/grafana/blob/main/contribute/style-guides/styling.md&#34; target=&#34;_blank&#34; rel=&#34;noopener noreferrer&#34;&gt;Styling Grafana&lt;/a&gt; expands on styling React components with Emotion.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;a href=&#34;https://github.com/grafana/grafana/blob/main/contribute/style-guides/themes.md&#34; target=&#34;_blank&#34; rel=&#34;noopener noreferrer&#34;&gt;Theming Grafana&lt;/a&gt; explains how to use themes and ThemeContext in Grafana code.&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;
]]></content><description>&lt;h1 id="contribute-to-grafana">Contribute to Grafana&lt;/h1>
&lt;p>This page lists resources for developers who want to contribute to the Grafana software ecosystem or build plugins for Grafana.&lt;/p>
&lt;h2 id="general-resources">General resources&lt;/h2>
&lt;p>These resources are useful for all developers.&lt;/p></description></item><item><title>Contributor License Agreement (CLA)</title><link>https://grafana.com/docs/grafana/v10.1/developers/cla/</link><pubDate>Mon, 13 Apr 2026 06:58:27 +0000</pubDate><guid>https://grafana.com/docs/grafana/v10.1/developers/cla/</guid><content><![CDATA[&lt;h1 id=&#34;grafana-labs-software-grant-and-contributor-license-agreement-agreement&#34;&gt;Grafana Labs Software Grant and Contributor License Agreement (&amp;ldquo;Agreement&amp;rdquo;)&lt;/h1&gt;
&lt;p&gt;This agreement is based on the Apache Software Foundation Contributor License Agreement.
(v r190612)&lt;/p&gt;
&lt;p&gt;Thank you for your interest in software projects stewarded by Raintank, Inc. dba Grafana Labs (“Grafana Labs”). In order to clarify the intellectual property license
granted with Contributions from any person or entity, Grafana Labs
must have a Contributor License Agreement (CLA) on file that has been
agreed to by each Contributor, indicating agreement to the license terms
below. This license is for your protection as a Contributor as well
as the protection of Grafana Labs and its users; it does not change
your rights to use your own Contributions for any other purpose.
This Agreement allows an individual to contribute to Grafana Labs on that individual’s own behalf, or an entity (the &amp;ldquo;Corporation&amp;rdquo;) to
submit Contributions to Grafana Labs, to authorize Contributions
submitted by its designated employees to Grafana Labs, and to grant
copyright and patent licenses thereto.&lt;/p&gt;
&lt;p&gt;You accept and agree to the following terms and conditions for Your
present and future Contributions submitted to Grafana Labs. Except
for the license granted herein to Grafana Labs and recipients of
software distributed by Grafana Labs, You reserve all right, title,
and interest in and to Your Contributions.&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;
&lt;p&gt;Definitions. &amp;ldquo;You&amp;rdquo; (or &amp;ldquo;Your&amp;rdquo;) shall mean the copyright owner or legal entity
authorized by the copyright owner that is making this Agreement
with Grafana Labs. For legal entities, the entity making a
Contribution and all other entities that control, are controlled by,
or are under common control with that entity are considered to be a
single Contributor. For the purposes of this definition, &amp;ldquo;control&amp;rdquo;
means (i) the power, direct or indirect, to cause the direction or
management of such entity, whether by contract or otherwise, or
(ii) ownership of fifty percent (50%) or more of the outstanding
shares, or (iii) beneficial ownership of such entity.
&amp;ldquo;Contribution&amp;rdquo; shall mean any work, as well as
any modifications or additions to an existing work, that is intentionally
submitted by You to Grafana Labs for inclusion in, or
documentation of, any of the products owned or managed by Grafana Labs (the &amp;ldquo;Work&amp;rdquo;). For the purposes of this definition,
&amp;ldquo;submitted&amp;rdquo; means any form of electronic, verbal, or written
communication sent to Grafana Labs or its representatives,
including but not limited to communication on electronic mailing
lists, source code control systems (such as GitHub), and issue tracking systems
that are managed by, or on behalf of, Grafana Labs for the
purpose of discussing and improving the Work, but excluding
communication that is conspicuously marked or otherwise designated
in writing by You as &amp;ldquo;Not a Contribution.&amp;rdquo;&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Grant of Copyright License. Subject to the terms and conditions of this Agreement, You hereby grant to Grafana Labs and to
recipients of software distributed by Grafana Labs a perpetual,
worldwide, non-exclusive, no-charge, royalty-free, irrevocable
copyright license to reproduce, prepare derivative works of,
publicly display, publicly perform, sublicense, and distribute
Your Contributions and such derivative works.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Grant of Patent License. Subject to the terms and conditions of this Agreement, You hereby grant to Grafana Labs and to recipients
of software distributed by Grafana Labs a perpetual, worldwide,
non-exclusive, no-charge, royalty-free, irrevocable (except as
stated in this section) patent license to make, have made, use,
offer to sell, sell, import, and otherwise transfer the Work,
where such license applies only to those patent claims licensable
by You that are necessarily infringed by Your Contribution(s)
alone or by combination of Your Contribution(s) with the Work to
which such Contribution(s) were submitted. If any entity institutes
patent litigation against You or any other entity (including a
cross-claim or counterclaim in a lawsuit) alleging that your
Contribution, or the Work to which you have contributed, constitutes
direct or contributory patent infringement, then any patent licenses
granted to that entity under this Agreement for that Contribution or
Work shall terminate as of the date such litigation is filed.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;You represent that You are legally entitled to grant the above license. If You are an individual, and if Your employer(s) has rights to intellectual property
that you create that includes Your Contributions, you represent
that You have received permission to make Contributions on behalf
of that employer, or that Your employer has waived such rights for
your Contributions to Grafana Labs. If You are a Corporation, any individual who makes a contribution from an account associated with You will be considered authorized to Contribute on Your behalf.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;You represent that each of Your Contributions is Your original creation (see section 7 for submissions on behalf of others).&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;You are not expected to provide support for Your Contributions,except to the extent You desire to provide support. You may provide
support for free, for a fee, or not at all. Unless required by
applicable law or agreed to in writing, You provide Your
Contributions on an &amp;ldquo;AS IS&amp;rdquo; BASIS, WITHOUT WARRANTIES OR CONDITIONS
OF ANY KIND, either express or implied, including, without
limitation, any warranties or conditions of TITLE, NON-INFRINGEMENT,
MERCHANTABILITY, or FITNESS FOR A PARTICULAR PURPOSE.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Should You wish to submit work that is not Your original creation, You may submit it to Grafana Labs separately from any
Contribution, identifying the complete details of its source and
of any license or other restriction (including, but not limited
to, related patents, trademarks, and license agreements) of which
you are personally aware, and conspicuously marking the work as
&amp;ldquo;Submitted on behalf of a third-party: [named here]&amp;rdquo;.&lt;/p&gt;
&lt;/li&gt;
&lt;/ol&gt;
]]></content><description>&lt;h1 id="grafana-labs-software-grant-and-contributor-license-agreement-agreement">Grafana Labs Software Grant and Contributor License Agreement (&amp;ldquo;Agreement&amp;rdquo;)&lt;/h1>
&lt;p>This agreement is based on the Apache Software Foundation Contributor License Agreement.
(v r190612)&lt;/p>
&lt;p>Thank you for your interest in software projects stewarded by Raintank, Inc. dba Grafana Labs (“Grafana Labs”). In order to clarify the intellectual property license
granted with Contributions from any person or entity, Grafana Labs
must have a Contributor License Agreement (CLA) on file that has been
agreed to by each Contributor, indicating agreement to the license terms
below. This license is for your protection as a Contributor as well
as the protection of Grafana Labs and its users; it does not change
your rights to use your own Contributions for any other purpose.
This Agreement allows an individual to contribute to Grafana Labs on that individual’s own behalf, or an entity (the &amp;ldquo;Corporation&amp;rdquo;) to
submit Contributions to Grafana Labs, to authorize Contributions
submitted by its designated employees to Grafana Labs, and to grant
copyright and patent licenses thereto.&lt;/p></description></item><item><title>Angular support deprecation</title><link>https://grafana.com/docs/grafana/v10.1/developers/angular_deprecation/</link><pubDate>Mon, 13 Apr 2026 06:58:27 +0000</pubDate><guid>https://grafana.com/docs/grafana/v10.1/developers/angular_deprecation/</guid><content><![CDATA[&lt;h1 id=&#34;angular-support-deprecation&#34;&gt;Angular support deprecation&lt;/h1&gt;
&lt;p&gt;Angular plugin support is deprecated and will be removed in a future release. There are still many community plugins that rely on Grafana&amp;rsquo;s Angular plugin support to work. The same is true for many internal (private) plugins that have been developed by Grafana users over the years. Grafana version 9 has a server configuration option that is global to the entire instance and controls whether Angular plugin support is available or not. By default, Angular support is still enabled, but that will change soon once we complete the migration of all Angular code in the core product.&lt;/p&gt;
&lt;h2 id=&#34;why-are-we-deprecating-angular-support&#34;&gt;Why are we deprecating Angular support?&lt;/h2&gt;
&lt;p&gt;AngularJS is an old frontend framework whose active development stopped many years ago. Therefore, it poses a security risk. As Grafana itself had already started migrating to React in v5, this presented the most logical framework for our plugin platform. AngularJS also requires unsafe-eval in the CSP (Content Security Policy) settings, which also reduces the security of running JavaScript in the browser.&lt;/p&gt;
&lt;h2 id=&#34;when-will-angular-plugins-stop-working&#34;&gt;When will Angular plugins stop working?&lt;/h2&gt;
&lt;p&gt;Our goal is to transfer all the remaining Angular code to the core of Grafana before Grafana 10 is released in Summer 2023. Once this is done, the option &amp;ldquo;&lt;a href=&#34;https://github.com/grafana/grafana/blob/d61bcdf4ca5e69489e0067c56fbe7f0bfdf84ee4/conf/defaults.ini#L362&#34; target=&#34;_blank&#34; rel=&#34;noopener noreferrer&#34;&gt;angular_support_enabled&lt;/a&gt;&amp;rdquo; will be disabled by default for new Grafana Cloud users, resulting in the inability to use Angular plugins. In case you still rely on AngularJS-based plugins developed internally or by the community, you will need to enable this option to continue using them. Following the release of Grafana 10 we will be migrating Grafana Cloud users where possible and disabling Angular support when appropriate, we will also be introducing new features to help all users identify how they are impacted and to warn of the use of deprecated plugins within the Grafana UI.&lt;/p&gt;
&lt;h2 id=&#34;when-will-we-remove-angular-support-completely&#34;&gt;When will we remove Angular support completely?&lt;/h2&gt;
&lt;p&gt;Our plan is to completely remove support for Angular plugins in version 11, which will be released in 2024. This means that all plugins that depend on Angular will stop working and the temporary option introduced in version 10 to enable Angular will be removed.&lt;/p&gt;
&lt;h2 id=&#34;how-do-i-migrate-an-angular-plugin-to-react&#34;&gt;How do I migrate an Angular plugin to React?&lt;/h2&gt;
&lt;p&gt;Depending on if it’s a data source plugin, panel plugin, or app plugin the process will differ.&lt;/p&gt;
&lt;p&gt;For panels, the rendering logic could in some cases be easily preserved but all options need to be redone to use the declarative options framework. For data source plugins the query editor and config options will likely need a total rewrite.&lt;/p&gt;
&lt;h2 id=&#34;how-do-i-encourage-a-community-plugin-to-migrate&#34;&gt;How do I encourage a community plugin to migrate?&lt;/h2&gt;
&lt;p&gt;We encourage you to locate the repository of the corresponding plugin and create or upvote an Issue within it if you are using a plugin that is still based on Angular.&lt;/p&gt;
&lt;h3 id=&#34;links&#34;&gt;Links&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&#34;/developers/plugin-tools/migration-guides/migrate-angularjs-to-react&#34;&gt;Migrate Angular to React&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;/tutorials/build-a-panel-plugin/&#34;&gt;Build a panel plugin&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;/tutorials/build-a-data-source-plugin/&#34;&gt;Build a data source plugin&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;angular-plugins/&#34;&gt;List of current Angular plugins&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
]]></content><description>&lt;h1 id="angular-support-deprecation">Angular support deprecation&lt;/h1>
&lt;p>Angular plugin support is deprecated and will be removed in a future release. There are still many community plugins that rely on Grafana&amp;rsquo;s Angular plugin support to work. The same is true for many internal (private) plugins that have been developed by Grafana users over the years. Grafana version 9 has a server configuration option that is global to the entire instance and controls whether Angular plugin support is available or not. By default, Angular support is still enabled, but that will change soon once we complete the migration of all Angular code in the core product.&lt;/p></description></item></channel></rss>