Versions should take the form "v<major>.<minor>.patch". For example, "v0.3.0" is a valid version, while "v1" is not and "0.3.0" is not.
- Make sure all PRs are merged and tests pass.
- Prepare a release branch with git checkout -b release/<version>.
- Update the HISTORY.md, replacing the "latest" version heading with the new version.
- Commit your changes so far to the release branch.
- In the project root, run bumpversion <major/minor/patch>. This will create a new commit.
- git push -u origin release/<version> and create a new pull request in Github.
- When the pull request is merged to master, git checkout master and git pull, followed by git tag <version>.
- Run git push origin --tags to push all local tags to Github.
- Run make release to push latest release to PyPI. Contact a core developer to get the necessary API token.