Hey everyone! As the final step of our effort to move away from the legacy “widget” rendering system, we’re deprecating the use of widgets in Discourse and will soon deactivate it entirely.
Timeline
These are estimates and subject to change
July 2025:
Add deprecation warnings in core and an experimental site setting to deactivate them
Publish announcement on Meta
- Enable deprecation messages with an admin warning banner.
- Upgrade the official plugins and theme components to use Glimmer Components.
- Run Meta with widgets deactivated.
Q3 2025:
- Third-party plugins and themes need to be upgraded.
Q4 2025:
- Remove the legacy code and deactivate the widget rendering system
Non-compatible plugins and themes will stop working properly after this.
What does this mean for you?
If any of your plugins or themes use ‘widget’ APIs, you’ll need to update them to use newer APIs or Glimmer Components before the Q4 2025 deadline.
I have custom plugins or themes installed. Do I need to update them?
You’ll need to update your plugins or themes if they use any of the following:
createWidget
decorateWidget
,changeWidgetSetting
,reopenWidget
, orattachWidgetAction
- The
MountWidget
component
Pro tip: If you have extensions that use any of these customizations, you’ll see a warning in the console identifying which plugin or component needs to be upgraded.
Important: If you use more than one theme in your instance, be sure to check all of them since the warnings will only appear for active plugins and currently used themes and theme-components.
The deprecation ID is:
discourse.widgets-end-of-life
How does this relate to the recent post-stream modernization?
The post-stream was the last major part of Discourse to still use the widget rendering system. With its modernization, we can now move ahead with the full retirement of the widget system. Take a look at the upgrade guide for more details about those changes.
How do I upgrade?
If you use a third-party plugin or theme: Check if the author has released an upgraded version that’s compatible with the new system.
If you’re a plugin/theme author:
- Replace your custom widgets with Glimmer Components
- Use plugin-outlet connectors to insert them into the UI
Check our Developer Guides for more information on making these updates.