Skip to content

Commit c72cb68

Browse files
committed
chore(docs): record that pre-1.0, adding surface is still a patch
The bump guidance covered "is the thing you changed actually released", and not "does this package promise an API at all". So the same section that stopped one wrong bump was consistent with arguing the opposite wrong bump a day later. On 2026-09-06 the pending 0.11.1 held 18 changesets, all patch, including a new `taskless demo` command and four new export paths: 0.11.0 published `.` and `./prompts`, main published those plus `./layout`, `./schemas`, `./node/runtimes` and `./reference.json`. Added functionality is a minor after 1.0, and I read it that way. Semver puts 0.y.z outside the stability guarantee, so there is no promised API for an addition to extend, and all 18 were already correct. Placed first in the section, because it settles most cases before the released-surface check is needed at all.
1 parent 905dc3d commit c72cb68

1 file changed

Lines changed: 4 additions & 0 deletions

File tree

‎CLAUDE.md‎

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -122,6 +122,10 @@ The placement rules are unchanged, because they are about review quality rather
122122

123123
### Choosing the bump: a release note describes what a consumer crosses
124124

125+
**While the package is `0.y.z`, adding surface is still `patch`.** Ask this first, because it settles most of the question before any of the reasoning below applies. Semver puts major version zero outside the stability guarantee: _"Major version zero (0.y.z) is for initial development. Anything MAY change at any time. The public API SHOULD NOT be considered stable."_ There is no promised API for an addition to extend, so a new command, a new export path, or a new error code does not earn a `minor` here the way it would after 1.0.
126+
127+
This is not hypothetical either. On 2026-09-06 the pending `0.11.1` held 18 changesets, every one `patch`, among them a new `taskless demo` command and four new export paths: `0.11.0` published `.` and `./prompts`, while `main` published `.`, `./prompts`, `./layout`, `./schemas`, `./node/runtimes` and `./reference.json`. That is added functionality, which is textbook `minor` after 1.0, and it was argued as one. It is not, before 1.0, and all 18 were already correct. Reserve anything above `patch` for a change a consumer must react to, and say in the changeset body what they must do.
128+
125129
**A bump describes what a consumer experiences across a release boundary, not how large the diff is.** Before writing `minor` or `major`, verify the affected surface exists in a RELEASED version:
126130

127131
```bash

0 commit comments

Comments
 (0)