matrix-doc/meta/releasing-rooms-v2.md

1.8 KiB

How to release Room Version 2

Room versions are a bit special for the release given they have been introduced at v2 rather than ever getting a v1 release. Additionally, room versions have different release requirements due to the in-project versioning of documents rather than relying on matrix.org to maintain old generated output of specifications.

As of writing, the project is structured to support 3 logical versions for rooms: v1, v2, and unstable. Unstable is currently pointed at v2 in order to aid development. After v2 is released, unstable may wish to be left as an independent version or similarly be pointed at a "v3" document.

Due to room versions being versioned in-project, the generated output from a release is not to be sent off to matrix-doc/matrix.org. Instead, in gendoc.py the default value for --room_version should be set to the current release (v2, for example) so the index renders the right edition in the table.

After editing gendoc.py, the changelog should be generated according to the towncrier instructions. You may need to fix the .. version: v2 comment located in the rooms.rst changelog to be just underneath the title instead of at the end of the section.

The targets.yaml file needs to be set up to point unstable to the right set of files. Ensure that unstable.rst is referenced instead of v2.rst, and that unstable.rst has appropriate contents.

Finally, in the intro.rst for room versions, re-add unstable to the list of available versions. It is currently commented out to avoid confusing people, so it should be possible to uncomment it and put it back into the list.

From there, the standard process of using a release branch, tagging it, and announcing it to the world should be followed. If required, the various other APIs should be updated to better support the new room version.