Adding a new Docker image to the Toolforge Docker registry, making that image available to users of the webservice command, and eventually removing an older image that the new runtime replaces, should be a relatively easy and routine process.
We should have a standard practice that can be followed by the Toolforge admin team that is also well documented and publicized to the Toolforge end user community. This standard practice should include a basic timeline that can be repeated for each upgrade and what communication channels need to be used to advertise the changes.
The webservice cli should have a standard way of showing which runtimes are available and what their status is (something like: beta, stable, deprecated?). We probably should also have some consistent alias that can be used in tutorials and other documentation that would lead to a user building a brand new tool getting the current "stable" runtime so that we don't have to touch all of the docs each time a new version of the runtime for language X is promoted to stable.