Update release documentation (Q2 2024 edition)

This commit is contained in:
Travis Ralston 2024-03-19 16:15:53 -06:00
parent 4247cff2fa
commit 4c312a6b5c
2 changed files with 42 additions and 37 deletions

View file

@ -16,20 +16,22 @@ Previous release: <!-- LINK TO LAST RELEASE'S CHECKLIST -->
Preflight checklist ([release steps](https://github.com/matrix-org/matrix-spec/blob/main/meta/releasing.md)): Preflight checklist ([release steps](https://github.com/matrix-org/matrix-spec/blob/main/meta/releasing.md)):
* [ ] Pin this issue to the repo.
* [ ] Ensure the social media account holders are available for the release day. * [ ] Ensure the social media account holders are available for the release day.
* [ ] Blog post written * [ ] Blog post written.
* [ ] Check for release blockers that may have been missed * [ ] Check for release blockers that may have been missed.
* [ ] Review/fix the changelog * [ ] Review/fix the changelog.
Release checklist ([release steps](https://github.com/matrix-org/matrix-spec/blob/main/meta/releasing.md)): Release checklist ([release steps](https://github.com/matrix-org/matrix-spec/blob/main/meta/releasing.md)):
* [ ] Branch stuffs * [ ] Branch stuffs.
* [ ] Github release artifact * [ ] Github release artifact.
* [ ] Published to spec.matrix.org * [ ] Published to spec.matrix.org.
* [ ] All links work * [ ] All links work.
* [ ] Publish blog post * [ ] Publish blog post.
* [ ] Announce in #matrix-spec, client developers, HS developers, SCT office, and other rooms as warranted * [ ] Announce in #matrix-spec, client developers, HS developers, SCT office, and other rooms as warranted.
* [ ] Post to Twitter/Mastodon * [ ] Post to Twitter/Mastodon.
* [ ] Close this issue * [ ] Close this issue.
* [ ] Unpin this issue from the repo.
Known release blockers: Known release blockers:
* [ ] <!-- Issue/PR link --> * [ ] <!-- Issue/PR link -->

View file

@ -9,45 +9,44 @@ machinery works.
The spec is released each calendar quarter. The target release dates are within the The spec is released each calendar quarter. The target release dates are within the
following ranges: following ranges:
* Q1: January 20-27 (critically, before FOSDEM). * Q1: January 20-27 (if needed before FOSDEM) or February 21-28.
* Q2: May 20-27. * Q2: May 15-22.
* Q3: August 20-27. * Q3: August 1-7 or August 20-27 depending on feature requirements.
* Q4: November 1-15 (before recurring November conflicts, like IETF). * Q4: November 1-15 (before recurring November conflicts, like IETF).
The SCT aims to have dates picked out by: The SCT aims to have dates picked out 2 weeks before the chosen release date. When
possible, releases should be scheduled for Thursdays and Fridays to allow a few
* Q1: January 10. consecutive business days for identifying blockers.
* Q2: May 1.
* Q3: August 1.
* Q4: October 15.
When a release date is picked, a [checklist](https://github.com/matrix-org/matrix-spec/issues/new?assignees=&labels=release-blocker&projects=&template=release.md&title=Matrix+1.X) When a release date is picked, a [checklist](https://github.com/matrix-org/matrix-spec/issues/new?assignees=&labels=release-blocker&projects=&template=release.md&title=Matrix+1.X)
issue is created to track details of the release. Release blockers should continue to issue is created to track details of the release. Release blockers should continue
be accepted up until 7 calendar days prior to the release date. to be accepted at the discretion of whoever is doing the release (typically, blockers
should be allowed up to 1-2 days before the release date).
**Release dates are not promises.** The SCT reserves the ability to change, cancel, **Release dates are not promises.** The SCT reserves the ability to change, cancel,
postpone, etc a release for any reason. Do not rely on a release happening on a given postpone, etc a release for any reason. Do not rely on a release happening on a given
day until the release has actually happened & blog post published. day until the release has actually happened & blog post published.
Once a release is scheduled, the SCT will begin planning what the next release is Once a release is *scheduled*, the SCT will begin planning what the next release is
expected to look like. The plan should be included in the spec release blog post, expected to look like. The plan should be included in the spec release blog post,
and be ready for execution on spec release day. Plans are guides and not promises. and be ready for execution on spec release day. Plans are guides and not promises.
A blog post for the SCT members to review should be ready at minimum 1 week before A blog post for the SCT members to review should be ready 2-3 days prior to the
the target release date. 1-2 days before the release itself, the prerequisite steps release at minimum. Preferably a week in advance.
below are executed to ensure the spec release can go ahead.
1-2 days before the release itself, the prerequisite steps below are executed to
ensure the spec release can go ahead.
## Release composition ## Release composition
*This section is a work in progress.* *This section is a work in progress.*
Mentioned above, the SCT aims to have spec releases quarterly. Each quarter has a Spec releases do not currently have attached themes, though when planning a release
slightly different theme to it: a broad theme may be considered. Ideally, each release contains a "hero feature"
which is highlighted in the later blog post.
* Q1: Massive feature release, if possible. This generally happens thanks to FOSDEM. Maintenance-only releases are discouraged, but typical in Q4 to give implementations
* Q2: Regular feature release, if possible. a small bit of reprieve from feature development.
* Q3: Momentum-continuing feature release, if possible.
* Q4: Preferably a maintenance release, but will accept features per normal.
## Prerequisites / preparation ## Prerequisites / preparation
@ -115,12 +114,16 @@ release.
## Patching a release ## Patching a release
From time to time we'll need to update a release in the wild. Examples include fixing typos, Patch releases are used to fix the most recent release on record. Typically a patch
updating build machinery, etc. Typically it is not considered a good idea to patch a release release will be deployed if there is an issue with the build machinery, a factual
more than 1 month after the original release date - this is because the administrative effort error is introduced by the release, or there are notable clarity issues introduced
is typically best reserved for the next release cycle. by the release which may affect implementation. In all cases, patch releases should
*not* be used if more than 2-4 weeks have passed since the release.
**Patch releases are not to be used for spec changes. Only typos and equivalent.** Typos and similar do not generally require a patch release.
**Patch releases must not to be used for spec changes (new MSCs, etc) beyond fixing
factual errors.**
1. Add the required changes to the release branch (`release/v1.2` for example). 1. Add the required changes to the release branch (`release/v1.2` for example).
2. Fast forward the `v1.2` tag to the release branch head. 2. Fast forward the `v1.2` tag to the release branch head.