Zulip server release checklist¶
This document has reminders of things one might forget to do when preparing a new release.
A week before the release¶
- Upgrade all Python dependencies in
requirementsto latest upstream versions so they can burn in (use
pip list --outdated).
- Update all the strings on Transifex and notify translators that they should translate the new strings to get them in for the next release.
changelog.mdwith major changes going into the release.
- Create a burndown list of bugs that need to be fixed before we can release, and make sure all of them are being worked on.
Final release preparation¶
changelog.mdwith any final changes since the last update.
- Draft the release notes; see previous zulip-announce emails for the tooling needed.
- Download updated translation strings from Transifex and commit them.
build-release-tarballto generate a release tarball.
- Test the new tarball extensively, both new install and upgrade from last release, on both Trusty and Xenial.
- Repeat until release is ready.
Executing the release¶
- Do final updates to
docs/conf.py(ReadTheDocs meta tags).
build-release-tarballto generate a final release tarball.
- Post the release tarball on zulip.org and update zulip.org.
- Add the sha256sum of the release to the file SHA256SUMS.txt in https://www.zulip.org/dist/releases/
- Create a git tag and push the tag.
- Upload the release on GitHub so it doesn't provide a broken release tarball.
- Email zulip-announce with the release notes
- For a major release, post on the blog, tweet, etc.