distro.toml version tracks the managed-python configuration itself — not Python or uv.
| Bump | When |
|---|---|
| patch (1.0.x) | No-op fixes, documentation |
| minor (1.x.0) | New flags, new generated files, non-breaking additions |
| major (x.0.0) | Breaking layout change — users must delete prefix and reinstall |
release.py updates distro.toml and optionally commits + tags.
# Bump distro version only
python release.py --patch
python release.py --minor
python release.py --major
# Update pinned uv version only
python release.py --uv-version 0.11.0
# Combine: bump minor and update uv
python release.py --minor --uv-version 0.11.0
# Bump, commit, and tag in one step
python release.py --patch --tag
# Non-interactive (CI / scripted)
python release.py --patch --tag --yes- Run
release.pywith--tag(or tag manually after committingdistro.toml) - Push the commit and tag:
git push && git push origin vX.Y.Z - The release workflow picks up the tag, verifies the tag matches
distro.toml, builds the ZIP, and publishes the GitHub release automatically.
The release workflow fails if the git tag does not match version in distro.toml. This prevents publishing a release with a mismatched version.