Follow this checklist every time you cut a release tag.
- Pick the release version, for example
0.2.0-beta.9.0.9. If the user asks for a minor update on an active release line, keep the chosen minor version (for example0.3.0) and do not bump again to a patch or another new version unless the user explicitly requests a different version. - Update all release metadata files to the same version:
Cargo.toml([package].version)npm/package.json(version)go/internal/installer/installer.go(const version = "...")
- Validate versions before tagging:
python scripts/verify-release-versions.py v<version>
- Commit the version and workflow changes to
main. - Create an annotated tag using the
vprefix:git tag -a v<version> -m "Release v<version>"
- Push branch first, then push the tag:
git push origin maingit push origin v<version>
.github/workflows/release.ymltriggers on tags matchingv*.- The release workflow runs
scripts/verify-release-versions.py. - If Go/Cargo/npm versions are not synced before tagging, release fails.