Note:
This page is primarily intended for developers of Mercurial.
New Release Manager List
make sure you have access to the Mercurial project on PyPi
make sure you have SSH access and are in the committers group on mercurial-scm.org
- make sure you have the admin rights on bugzilla
- make sure your key is uploaded to some public server
- inform packagers that a new key will be used for signing
get a clone hg-release-tools
Release Checklist
Followed by core developers with accept access to prepare releases.
Things to check:
- Make sure the latest evolve is compatible
- Check for queued security patches
Pull from Heptapod
Check that the Heptapod CI passed
- Add the release notes in a public changeset
- Run make-release
- tag
- sign
- build release tarballs
- make the tag public
- Run post-release
- upload signed release tarball to Pypi with twine
- upload signed release tarball to mercurial-scm.org
- update latest.dat file
- clean-up build
- publish stable branch
- push a merge from stable into the default branch to the CI (hence pushing the release changesets)
Add Bugzilla version
WhatsNew updated (releasenotes, changelog or changes script)
UpgradeNotes updated with any (BC) notes
- For major releases:
- Create ReleaseX.Y page
- Add notes for -rc build; replace them when final release is cut
tag and push PythonHglib if there are new changesets
Mercurial/NewsItems updated
Ping mercurial-packaging@mercurial-scm.org (see template below)
- Update Matrix topic
- For rc releases, be sure to note code freeze if there
Packaging message template:
To: mercurial-packaging@mercurial-scm.org Subject: Mercurial x.y tagged Please update your package builds, thanks. Please also make sure you have the latest evolve version packaged too. Release notes here: <link to relnotes> <describe changes in this release important for packagers to note, if any>