Release Process¶
Version numbers:
official release:
{major}.{minor}.{patch}
(e.g.2.2.1
,3.1.0
,4.0.0
…)pre-release:
{major}.{minor}.{patch}.{dev|rc}{devel}
(e.g.4.0.0.dev7
,4.0.0rc1
, …)
Steps to cut a new release (from a clean checkout of master
):
Update version in
plover/__init__.py
, and stage the changegit add plover/__init__.py
.Install towncrier (
pip install towncrier
) and updateNEWS.md
:towncrier
.Review the staged changes, check all news fragments in
news.d
were properly handled (merged intoNEWS.md
and removed by towncrier).Commit:
git commit -m "release $(./setup.py --version)"
Tag the release:
git tag -m "$(git log -1 --pretty='format:%B')" "v$(./setup.py --version)"
Push to Github:
git push --follow-tags origin