From 83a041d35da035c2663b1c304633f9d054dcc9c7 Mon Sep 17 00:00:00 2001 From: Claude Date: Mon, 12 Oct 2026 05:27:04 +0000 Subject: [PATCH] docs(releases): the versioning policy states the 17.x launch-window rule and the v18 prerelease regime The releases index said a launch-window override was "in force today" and that check-changeset-no-major.mjs fails any pull request declaring a major. On main, .changeset/pre.json reads "mode": "pre" with the tag "next", and the guard's judge() returns its exempt verdict for any introduced major in pre mode. The section now records the override as the regime the 17.x minors ran under, and the v18 line as a major in prerelease publishing 18.0.0-next.N on next while latest stays on 17.x, linking the v18 page rather than restating it. Claude-Session: https://claude.ai/code/session_012yK1ddAdAqfzwigRHZq3r2 Co-authored-by: Claude --- content/docs/releases/index.mdx | 22 +++++++++++++++------- 1 file changed, 15 insertions(+), 7 deletions(-) diff --git a/content/docs/releases/index.mdx b/content/docs/releases/index.mdx index b2aafde501b..b2df87d2a34 100644 --- a/content/docs/releases/index.mdx +++ b/content/docs/releases/index.mdx @@ -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: