As we continue to improve Discourse, we’ve created a new Upcoming Changes config page to help admins understand what changes are coming to Discourse and let them manage how those changes are implemented in their community. We believe this system will help us keep improving Discourse in a safe, transparent way.
In this topic, we’ll explain how this new system works and how to use it to safely introduce new features and other changes in your community.
Overview of how Upcoming Changes works
As we work on new features or other changes, we will add them to the Upcoming Changes config page at /admin/config/upcoming-changes. Each change will include a description, status, indicator of which users are impacted by it, and which users (if any) it is enabled for in your community.
Depending on the change’s status, you can decide whether to turn it on or off for your community — at least temporarily, since some changes will eventually be turned on permanently.
Temporarily disabling a change gives you time to address any impacted site customizations, processes, and so on, inform your member base about the change, or deputize certain member groups for testing.
Dissecting an Upcoming Change
Let’s dissect an Upcoming Change and define the information you’ll see in each section.
1 - Name and description
The name and description give you a brief explanation of the change and will often link to related content (like a Meta topic) for further details.
2 - Status
The status communicates its position in the development lifecycle. Status directly impacts whether the change is opt-in (i.e. off by default, but you can turn it on), opt-out (i.e. on by default, but you can turn it off), or forced on (i.e. on, and you can’t turn it off).
We use the following statuses in Upcoming Changes:
Experimental: A potential change that is in early development / testing and is expected to evolve rapidly, or may be removed altogether if we end the experiment (at which point it will move toInactivestatus; see below). You may opt-in toExperimentalchanges to test them out.Alpha: A tested change that is safe to use, though there may be some minor updates to its design or functionality. You may opt-in toAlphachanges to use them early.Beta: A tested change that is safe to use, and is unlikely to change much before moving toStableor possiblyPermanentstatus. For most sites,Betachanges are automatically turned on for everyone (if you haven’t previously enabled it), but you may still opt-out.Stable: A completed change[1] , but is still opt-out (i.e. admins can disable it). Admins will be warned on their dashboard when they have opted-out of aStablechange.Permanent: A change that has completed testing, and is forced on (i.e. admins cannot disable it).Inactive: An abandoned experiment. You cannot opt-in.
Sometimes, changes will move linearly through these statuses (i.e. start in Experimental and end in Permanent), but not always. Some changes may be introduced in Alpha or Beta status, and some will end in Stable status (if they will not be forced on).
There is no set time for how long it will take a particular change to progress from one status to another, but admins will be notified when:
- A new change is available to try out
- A change has been enabled automatically
- When you have disabled a change that will soon be forced on
3 - Impacted users
The impacted users tag describes which users in your community can see or interact with the change in some way. To put it simply — who might notice this change? There are several types of impacted users:
Admins: The change is only visible to admins.Staff: The change is only visible to admins and moderators.All members: The change is visible to all members on your site.Developers: In rare cases, a change will only be noticeable to those who are interacting with code in core, themes, or plugins.
4 - Enabled for…
This drop-down is where you, as the site admin, can control whether and how to introduce this change to your community by enabling it for:
No one: Disables the change for everyone on the site.Everyone: Enables the change for everyone on the site, including anonymous users. When the change is automatically turned on (typically atBetastatus), it will be forEveryone.Staff only: Enables the change for site staff (i.e. admins and moderators).Specific groups: Enables the change for the selected group(s).
For now, we have moved most Experimental changes from /admin/config/experimental into Upcoming Changes, and you’ll start seeing new updates land here soon. We’re looking forward to hearing about the impact this makes in your community, and welcome any questions or feedback!
Insofar as any software is complete! ↩︎
