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
-
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
## mainsection 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