Configure 0.x graduation guard and fix tag format - #9
Merged
Conversation
The previous .releaserc.json used tagFormat "v${version}" but the existing
release history uses "cli-v${version}" (cli-v0.1.0, cli-v0.1.1). With no
matching prior tag, semantic-release treated the package as first-release
and minted v1.0.0 from history — an unintended jump that prematurely claims
a stable public API.
This re-anchors to the existing tag scheme and adds a 0.x graduation guard
so BREAKING CHANGE bumps the minor (0.1.x -> 0.2.0) instead of the major
while the project is still pre-1.0. Going to 1.0.0 now requires a deliberate
manual version bump and removal of the breaking-rule override.
- .releaserc.json: tagFormat "v${version}" -> "cli-v${version}"
- .releaserc.json: add { "breaking": true, "release": "minor" } guard
- packages/cli/package.json: 1.0.0 -> 0.1.1 (rolled back)
- CHANGELOG.md: removed (semantic-release will regenerate from cli-v0.1.1)
- RELEASING.md: document 0.x policy and tag-format requirement
Manual cleanup still required after this merges:
- delete remote tag v1.0.0 (git push origin :refs/tags/v1.0.0)
- delete GitHub Release v1.0.0
- npm deprecate @decoperations/owasp-wtf@1.0.0 on GitHub Packages
|
The latest updates on your projects. Learn more about Vercel for GitHub.
|
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
Reconfigure semantic-release to support a 0.x graduation phase where breaking changes bump the minor version instead of major, with explicit documentation of the versioning strategy and tag format requirements.
Changes
RELEASING.md:
0.xvspost-1.0releases0.1.x→0.2.0) during 0.x phase, major after 1.0.0cli-v${version}scheme to prevent incorrect tag discovery.releaserc.json:
tagFormatfromv${version}tocli-v${version}to match historical tag scheme{ "breaking": true, "release": "minor" }rule to enforce minor bumps for breaking changes during 0.xpackages/cli/package.json:
1.0.0to0.1.1to reflect pre-1.0 statusCHANGELOG.md: Removed (will be regenerated by semantic-release)
Implementation Details
The graduation guard allows the project to iterate on the CLI surface, config schema, JSON/SARIF output, exit codes, and plugin interface without committing to semantic versioning's major version semantics. Once these are stable, a manual bump to
1.0.0(with removal of the breaking→minor rule) will mark the API as stable.The tag format change ensures semantic-release correctly discovers historical releases and doesn't compute an incorrect first-release jump.
https://claude.ai/code/session_01JD2ZC6w3rWKodHFv4333Fu