Background
Wheels 3.0.0 never got a clean v3.0.0 tag — only v3.0.0+N build-marker tags (+33 through +50). This makes it hard for docs and release notes to reference "3.0 final" unambiguously (the 4.0 feature audit had to use v3.0.0+33 as a proxy baseline).
For 4.0 GA, creating a clean v4.0.0 tag avoids repeating this problem.
Pre-GA checklist
Workflow guard
Post-GA smoke tests
Context / related work
These artifacts are the source material for the GA release and should be referenced when writing the Release body:
🤖 Generated with Claude Code
Background
Wheels 3.0.0 never got a clean
v3.0.0tag — onlyv3.0.0+Nbuild-marker tags (+33through+50). This makes it hard for docs and release notes to reference "3.0 final" unambiguously (the 4.0 feature audit had to usev3.0.0+33as a proxy baseline).For 4.0 GA, creating a clean
v4.0.0tag avoids repeating this problem.Pre-GA checklist
developthat will become 4.0.0 GA. Lock CI to green on it across the full engine × DB matrix.box.jsonversion from4.0.0-SNAPSHOTto4.0.0. Commit aschore(config): bump version to 4.0.0 for GA.[Unreleased]inCHANGELOG.mdto[4.0.0] - YYYY-MM-DD(use actual GA date). Commit.git tag -a v4.0.0 -m "Wheels 4.0.0". No+Nsuffix — this is the canonical marker.git push origin v4.0.0.v4.0.0. Body = the CHANGELOG[4.0.0]section (copy-paste), plus prominent link to Upgrading to Wheels 4.0.4.1.0-SNAPSHOTinbox.jsonafter tagging. Commit aschore(config): bump version to 4.1.0-SNAPSHOT.Workflow guard
Review the snapshot-tag-creating workflow to ensure it does not create
v4.0.0-SNAPSHOT+Nafterv4.0.0is tagged (such a tag would conceptually be behind the GA tag and confuses downstream tooling).grep -l "SNAPSHOT" .github/workflows/Likely culprits:
snapshot.yml, release workflows. Add a guard condition to skip when a non-SNAPSHOT version tag is present on HEAD.Post-GA smoke tests
gh release view v4.0.0— confirm the Release is published and discoverable.gh pr list --milestone 4.0— any PRs labeled for 4.0 should be closed.docs/wheels-vs-frameworks.mdfrom "April 2026" to "Wheels 4.0 (YYYY-MM-DD)".#announcements(Slack / Discord / wheels.dev blog). See the blog post skeletons task for drafted themes.box install wheels@4.0.0.Context / related work
These artifacts are the source material for the GA release and should be referenced when writing the Release body:
[Unreleased]section — full Keep-a-Changelog layout ready to rename to[4.0.0](docs(release): expand Unreleased section with full 4.0 changelog #2124)🤖 Generated with Claude Code