Plugins can already use this system. The OP doesn’t go into the technical ins-and-outs, but there is not much needed to add an upcoming change.
The quick summary is:
-
Add a site setting which is
hidden: trueandclient: true -
Add a description for the setting in
server.en.yml -
Optionally add a screenshot to
public/images/upcoming_changes/SETTING_NAME.png -
Add
upcoming_changemetadata to the setting, which looks like this:
# upcoming_change - Additional metadata with the following options to show in the /admin/config/upcoming-changes page:
# - status: experimental | alpha | beta | stable
# - impact: two parts separated by comma - feature|other , staff|admins|moderators|all_members|developers
# - learn_more_url: a url for more information
However the caveat here is that we haven’t really intended to have third party plugin developers use this system, it was mostly for our own purposes. Maybe over time we can think more about this use case.