This document describes the steps to release a new version of DNSimple/Python.
- You have commit access to the repository
- You have push access to the repository
- You have a GPG key configured for signing tags
- You have permission to publish to PyPI
-
Determine the new version using Semantic Versioning
VERSION=X.Y.Z
- MAJOR version for incompatible API changes
- MINOR version for backwards-compatible functionality additions
- PATCH version for backwards-compatible bug fixes
Check the
## Unreleasedsection inCHANGELOG.mdfor entries prefixed with**BREAKING**:. Any such entry requires a MAJOR version, whatever the other entries are. Raising the minimum supported Python version is always a breaking change, so its changelog entry must carry this prefix. -
Update the version files with the new version
Edit
./dnsimple/version.pyandpyproject.toml:version = "$VERSION"
-
Run tests and confirm they pass
make test -
Update the changelog with the new version
Finalize the
## Unreleasedsection inCHANGELOG.mdassigning the version. -
Commit the new version
git commit -a -m "Release $VERSION" -
Push the changes
git push origin main
-
Wait for CI to complete
-
Create a signed tag
git tag -a v$VERSION -s -m "Release $VERSION" git push origin --tags
- Verify the new version appears on PyPI
- Verify the GitHub release was created
- Announce the release if necessary