This document defines the canonical patch-release flow for git-cas.
- Branch from
main. - Bump the in-flight version in
package.jsonandjsr.json. - Add a new unreleased section to
CHANGELOG.md. - Run
pnpm release:verify. - Open a pull request and wait for review.
- Merge to
main. - Sync local
maintoorigin/main. - Run
pnpm release:verifyagain onmain. - Finalize release-facing docs:
- mark the changelog entry released
- update the lead README “What’s new” section
- update
STATUS.mdandROADMAP.md
- Create and push the tag (
vX.Y.Z).
pnpm release:verify is the maintainer-facing verification entrypoint for
release prep. It runs the repository release gates in order and prints a
Markdown summary that can be pasted into release notes or changelog prep. Pass
--json when you need the same report in machine-readable form for CI or
release automation.
Current release verification includes:
pnpm run lintpnpm testdocker compose run --build --rm test-bun bunx vitest run test/unitdocker compose run --build --rm test-deno deno run -A npm:vitest run test/unitpnpm run test:integration:nodepnpm run test:integration:bunpnpm run test:integration:denonpm pack --dry-runnpx jsr publish --dry-run --allow-dirty
The helper is intentionally read-only with respect to release notes. It does
not edit CHANGELOG.md; it only prints a summary block for maintainers.
- Treat release tags as immutable.
- Do not tag until the merged
mainbranch passes release verification. - If any runtime fails, fix the underlying problem before tagging.