Skip to content
Merged
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
22 changes: 15 additions & 7 deletions content/docs/releases/index.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -45,13 +45,21 @@ These pages are curated summaries. For exhaustive, per-package detail:

## Versioning policy

ObjectStack follows [Semantic Versioning](https://semver.org), with one
override that is in force today: **while the launch window is open, a breaking
change ships as a minor release.** All `@objectstack/*` packages version in
lockstep, so a single major bump would promote the whole platform; instead a
breaking change lands in a **minor** alongside a changeset entry marked
`**BREAKING**`, and `scripts/check-changeset-no-major.mjs` fails any pull
request that declares a major bump.
ObjectStack follows [Semantic Versioning](https://semver.org). All
`@objectstack/*` packages version in lockstep, so a single major bump promotes
the whole platform, and which version a breaking change ships in depends on
the line.

**The 17.x minors ran under a launch-window override: a breaking change
shipped as a minor release.** It landed in a **minor** alongside a changeset
entry marked `**BREAKING**`, and `scripts/check-changeset-no-major.mjs`
failed a pull request that declared a major bump.

**The v18 line is a major in prerelease.** Changesets is in pre mode with the
tag `next`, and `check-changeset-no-major.mjs` stands aside in pre mode, so a
pull request may declare a major bump. Every release cut from `main` is the
next `18.0.0-next.N` on npm's `next` tag, while `latest` stays on 17.x. See
[how a breaking stage lands on the v18 line](/docs/releases/v18#how-a-breaking-stage-lands-on-this-line).

What that means when you read a version number:

Expand Down
Loading