Repository navigation
chore(release): 3.0.0 - #1242
Merged
Merged
Conversation
Consume the 292 pending changesets and cut the first release since v2.2.2
(2026-07-20). The bump is a major on one recorded change: owner is now a
single field and reassigning it really transfers the record
(.changeset/ownership-owner-id-548.md), which changes access behaviour for
every existing install.
Version sources aligned per docs/RELEASE_STRATEGY.md §Version Sources —
package.json, objectstack.config.ts, CHANGELOG.md — plus the surfaces the
docs-drift guard binds to the manifest: the version tables in
docs/RELEASE_STRATEGY.md and docs/ARCHITECTURE.md, the transcript in
docs/STATUS.md, the README badge, and the latest-release heading in
content/docs/whats-new.{mdx,zh-Hans.mdx,zh-Hant.mdx}.
Gates: validate, typecheck, lint, lint:i18n-gate, hygiene, hygiene:tokens and
build all green; 2798 tests pass. test/source-token-ratchet.test.ts and
test/case-sla-matrix.test.ts fail identically with and without this change on
this machine (11 failed either way), pass in isolation, and are green in CI —
pre-existing and environmental, not release state.
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
|
The latest updates on your projects. Learn more about Vercel for GitHub. |
package-lock.json records package.json's version, so the bump left it stale and `check-stackblitz-lock` failed the release PR. It is a fifth version source, guarded by CI rather than by the docs-drift test — worth adding to docs/RELEASE_STRATEGY.md §Version Sources so the next releaser finds it before CI does. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
…lready wrote, and tell 2.x upgraders what changed
Two halves of the same gap: 3.0.0 carries a breaking change to Owner
semantics, and neither surface an installer reads was going to mention it.
**Marketplace listing.** `publish-marketplace.mjs` sent
`release_notes: mp.releaseNotes`, and `objectstack.manifest.json` has never
declared that key — so every publish to date pushed `undefined` and the listing
carried no notes, while the notes the changesets had already written sat in
CHANGELOG.md unread. The script now reads the section for the version being
published. The whole section is the wrong payload (3.0.0's is 649 KB, 292
changesets deep), so it prefers `### Major Changes` — the part that changes the
reader's deployment — falls back to the head of the section for releases
without one, caps at 8 KB, and still yields to `mp.releaseNotes` if a release
ever wants hand-written notes. Measured on this release: 3,938 chars, the
owner-unification entry including its backfill instructions.
**Docs.** `content/docs/whats-new.{mdx,zh-Hans.mdx,zh-Hant.mdx}` gain an
"Upgrading from 2.x" section: what the two-owner split was, that reassignment
is now its own permission, and that `pnpm backfill:owner` reconciles a
deployment where somebody reassigned an Owner under 2.x. The page deliberately
keeps no version history — that is CHANGELOG.md's job, and a hand-copy of it is
how this section once advertised a "v5.0" that never existed — so this is an
upgrade note attached to the current release, not a new release table.
The app artifact is unchanged: no metadata or manifest edit, only the publish
script and three doc pages.
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
…rom the version
CodeQL flagged the previous line high (js/incomplete-sanitization): it built
`new RegExp(\`^## ${version.replace(/\\./g, '\\\\.')}\`)` — hand-escaping one
metacharacter and leaving the rest, which is the incomplete-sanitization shape
whether or not today's input happens to be a semver.
Headings are now found with one static pattern and the version is compared as
a string, so no part of the input is ever treated as a pattern and nothing
needs escaping. Same output: 3,938 chars on this release.
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Merged
This was referenced Oct 10, 2026
Merged
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.
Cuts 3.0.0, the first release since
v2.2.2(2026-07-20) — 388 commits and 292 changesets of unreleased work, including the 17.1.0 platform upgrade.Why major
One recorded
majorchangeset,ownership-owner-id-548.md:That changes access behaviour for every existing install, so it takes the major. The version is
changeset version's arithmetic, not a hand-picked number.What is in the commit
CHANGELOG.mdgenerated.docs/RELEASE_STRATEGY.md§Version Sources:package.json,objectstack.config.ts,CHANGELOG.md.docs/RELEASE_STRATEGY.mdanddocs/ARCHITECTURE.md, the transcript indocs/STATUS.md, the README badge, and the latest-release heading incontent/docs/whats-new.{mdx,zh-Hans.mdx,zh-Hant.mdx}.No source or metadata changes — this is the release commit only.
Verification
pnpm validatepnpm typecheckpnpm lintpnpm lint:i18n-gatepnpm hygienepnpm hygiene:tokenspnpm buildpnpm testDRY_RUN=1 pnpm publish:marketplacereachesPOST /api/v1/cloud/packages/:id/versionswithversion: 3.0.0.test/source-token-ratchet.test.tsandtest/case-sla-matrix.test.tsfail on the author's machine identically with and without this change (11 failed either way, on cleanorigin/maintoo), pass when run in isolation, and are green in CI — pre-existing and environmental, not release state.After merge
v3.0.0tag →release.yml→ GitHub Release → staging publish (cloud.objectos.app), then a manualpublish-production.ymldispatch once staging is verified.Noted separately, not fixed here
scripts/publish-marketplace.mjs:176sendsrelease_notes: mp.releaseNotes, andobjectstack.manifest.jsondeclares noreleaseNotesfield — so every publish so far has pushedundefinedand the marketplace listing carries no notes.CHANGELOG.mdnow holds the 3.0.0 section that belongs there. Filed as a follow-up rather than changed mid-release.🤖 Generated with Claude Code