Release process

This is the release process for leather:

  1. Verify all tests pass.

  2. Check test coverage: pytest --cov leather.

  3. Ensure any new public interfaces have been added to the documentation.

  4. Make sure the example scripts still work: ./examples.sh.

  5. Ensure CHANGELOG.rst is up to date. Add the release date and summary.

  6. Create a release tag: git tag -a x.y.z -m "x.y.z release."

  7. Push tags upstream: git push --tags

  8. If this is a major release, merge master into stable: git checkout stable; git merge master; git push

  9. Flag the release to build on RTFD.

  10. Update the “default version” on RTFD to the latest.

  11. Rev to latest version: docs/conf.py, pyproject.toml and CHANGELOG.rst need updates.

  12. Commit revision: git commit -am "Update to version x.y.z for development.".