← ClaudeAtlas

releaselisted

Bump the isopod workspace version and tag a release correctly. Use whenever a change touches crates/, Cargo.toml, Cargo.lock, vendor/ or scripts/ — CI's Version guard requires a bump for any of those — or when asked to cut, tag or release a version. Also use to diagnose a failing "Version guard" job.
me1iissa/isopod · ★ 3 · AI & Automation · score 69
Install: claude install-skill me1iissa/isopod
# Cutting a release CI's Version guard fails any push that changes `CODE_PATHS` without a version bump. `CODE_PATHS` is `crates/ Cargo.toml Cargo.lock vendor/ scripts/`. Everything else — `.github/`, `docs/`, `README.md`, `CHANGELOG.md`, `CONTRIBUTING.md` — is exempt and needs no bump. **Never run a bare `git tag -a vX.Y.Z`.** It tags whatever HEAD happens to be, which across git worktrees is frequently a different branch. That is how v0.13.1 landed on v0.13.0's commit: the release shipped `.deb` and `.rpm` packages declaring the previous version, and CI then failed four times with a message about a bump that had already been made. Use the script; it passes an explicit sha and verifies where the tag landed. ## The sequence ```sh scripts/bump-version.py patch # or minor / major # add a `## [<new>] — <date>` section to CHANGELOG.md git add -A && git commit # bump + changelog + the change, one commit scripts/bump-version.py --tag # tags HEAD, refuses if HEAD is not the bump git push origin main --follow-tags ``` `--tag` refuses unless HEAD's own `Cargo.toml` declares the version being tagged, then re-reads the tag to confirm it landed where intended. ## Choosing the level Pre-1.0 semantics, per `CONTRIBUTING.md`: | Level | When | |---|---| | `major` | not used before 1.0 | | `minor` | features, new report fields, new modules, anything breaking | | `patch` | fixes, performance, dependency upgrades, test-only changes | A dependency upgrade that closes