Skip to content

docs+build(releases): whole-platform 12.0→14.x history + a maintenance model that includes the frontend - #2827

Merged
os-zhuang merged 5 commits into
mainfrom
claude/14-3-release-notes-0e8yqk
Jul 11, 2026
Merged

docs+build(releases): whole-platform 12.0→14.x history + a maintenance model that includes the frontend#2827
os-zhuang merged 5 commits into
mainfrom
claude/14-3-release-notes-0e8yqk

Conversation

@os-zhuang

@os-zhuangos-zhuang commented Jul 11, 2026

Copy link
Copy Markdown
Contributor

Summary

Two things: (1) fill in the missing 12.0 → 14.x developer-facing release notes, and (2) fix the underlying reason they went missing — the release history was maintained by hand and had no path for frontend (objectui) changes to show up. Now it's a three-layer, mostly-automated model, and the curated pages cover backend and Console per platform version.

The maintenance model (docs/releases-maintenance.md)

The platform is one version-locked train (changesets fixed group), so the @objectstack/spec major is the platform version. History is maintained in three layers, each with a single owner:

  • Atomic — a .changeset/*.md per PR (written at change time).
  • Detail — per-package CHANGELOG.md, generated by changesets. Never hand-edited.
  • Platform narrative — curated content/docs/releases/vN.mdx, one per major, backend + Console.

Fixes that make it hold

  • Frontend enters the changeset pipelinescripts/bump-objectui.sh now emits a @objectstack/console changeset summarizing the objectui OLD_SHA..NEW_SHA range on every pin bump (auto minor if the range has a feat, else patch). Previously a frontend bump was a bare SHA change with zero changelog trace. Verified end-to-end against a scratch objectui repo.
  • Drift guardscripts/check-release-notes.mjs (CI: pnpm check:release-notes, in the Lint job) fails when a released spec major has no navigable content/docs/releases/v<major>.mdx. This is what would have caught the v10–v14 gap; v10/v11 are documented exceptions.
  • Retire the drifted aggregates — canonical-source banners on root CHANGELOG.md and RELEASE_NOTES.md redirect to the three layers; their historical content is preserved (some prose there is unique).

Release notes (backend + Console)

  • v12.mdx — requireAuth default flip (ADR-0056 D2), adaptive record surfaces, package-shipped permission sets, protocol handshake (ADR-0087), import mappings, build-gating lints; Console: adaptive surfaces, related-list model, nav filter chips, dependent picklists.
  • v13.mdx — Permission Model v2 (ADR-0090): Roles/Profiles → Positions (full migration table), private-by-default OWD, explain engine, delegated admin, MCP OAuth; Console alignment noted as spanning v13–v14.
  • v14.mdx — ADR-0090 vocabulary convergence, real enable.* gates, admin user management + phone/SMS auth, book-audience enforcement, data-lifecycle (ADR-0057), effective-dated grants (ADR-0091); Console: position panels, Record Attachments, Permission Model v2 surfaces.
  • index.mdx / meta.json — Versions list + nav updated; v10/v11 gap noted.

Notes / scope

  • Docs + build tooling only; no product code or schema touched. New guards pass locally (check:release-notes, check:role-word, check:doc-authoring); the Vercel docs preview builds green.
  • Console sections are sourced from the companion-objectui notes embedded in the framework changesets (verifiable in-repo) and link out to the objectui CHANGELOG for per-commit detail — objectui itself isn't in this session's repo scope.

🤖 Generated with Claude Code

https://claude.ai/code/session_01SXFPRKA2ixrZmRFwK7Cxh6

The docs-site release notes (content/docs/releases) stopped at v9, but the
protocol/spec has since shipped majors 12, 13, and 14. Add curated,
developer-facing release pages covering every change since 12.0, matching the
existing v9.mdx template (breaking changes + migration first, then new
capabilities and notable fixes), sourced from the per-package changesets.
- v12: anonymous data access denied by default (ADR-0056 D2), adaptive record
surfaces, the enforced protocol-version handshake, and build-gating lints.
- v13: Permission Model v2 (ADR-0090) — Roles/Profiles converge on Positions,
private-by-default OWD, explain engine, delegated administration, MCP OAuth.
- v14: ADR-0090 vocabulary convergence completed, real enable.* gates, admin
user management, phone/SMS auth, book-audience enforcement, data-lifecycle
contract (ADR-0057), and effective-dated grants (ADR-0091). Current: 14.4.0.
Also update the releases index Versions list and meta.json page ordering, and
note that curated v10/v11 pages are not yet written.
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01SXFPRKA2ixrZmRFwK7Cxh6
@vercel

vercelBot commented Jul 11, 2026

Copy link
Copy Markdown

The latest updates on your projects. Learn more about Vercel for GitHub.

ProjectDeploymentActionsUpdated (UTC)
specReadyReadyPreview, CommentJul 11, 2026 4:20am

Request Review

@github-actionsgithub-actionsBot added documentation Improvements or additions to documentation size/l labels Jul 11, 2026
The v13/v14 release pages document the Role → Position migration, so they
necessarily name the old `role`/`sys_role*`/`current_user.roles` identifiers
and the retained better-auth `type: 'role'` membership-tier approver — the
"quoted history" case the check-role-word ratchet exists for. Add the three
new pages to scripts/role-word-baseline.json (index 1, v13 15, v14 7); no
other file's count changed.
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01SXFPRKA2ixrZmRFwK7Cxh6
hotlongand others added 2 commits July 11, 2026 04:01
… drift
Establish a sustainable, whole-platform release-history model (docs/releases-
maintenance.md) and wire the two mechanisms that make it hold:
- bump-objectui.sh now emits a @objectstack/console changeset summarizing the
objectui OLD_SHA..NEW_SHA range on every pin bump (auto minor if the range
has a feat, else patch). Frontend deltas — previously invisible, a bare SHA
bump with no changelog trace — now flow through the same changesets pipeline
as the backend and roll up into the platform version.
- check-release-notes.mjs (CI: pnpm check:release-notes, in the lint job) fails
when a released @objectstack/spec major has no curated, navigable
content/docs/releases/v<major>.mdx. Prevents the v10–v14 gap from recurring;
v10/v11 are documented exceptions.
Add canonical-source banners to the drifted aggregate files (root CHANGELOG.md,
RELEASE_NOTES.md) pointing at the three-layer model (per-package changelogs for
detail, release pages for narrative); their historical content is preserved.
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01SXFPRKA2ixrZmRFwK7Cxh6
Add per-version Console (Studio) sections so each release page covers the
frontend bundled into @objectstack/console, not just the backend — the
whole-platform picture the version-locked train describes:
- v12: adaptive record surfaces, the related-list model (primary tab, per-FK
lists, self-referential child lists, unified highlightFields columns),
parameterized nav filter chips, dependent picklists.
- v13: brief cross-line pointer — Permission Model v2 Console surfaces roll out
across v13–v14.
- v14: position assignment panels, Record Attachments, and the Permission Model
v2 surfaces (Roles→Positions relabel, xRef picker, Explain / Access Matrix /
Delegated Administration pages).
Each section links to the objectui CHANGELOG for per-commit frontend detail.
Re-baseline the two migration/relabel "role" references the new copy adds
(v13 15→17, v14 7→9); no other file changed.
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01SXFPRKA2ixrZmRFwK7Cxh6
@github-actionsgithub-actionsBot added ci/cd dependencies Pull requests that update a dependency file labels Jul 11, 2026
@os-zhuangos-zhuang changed the title docs(releases): summarize the 12.0 → 14.x release traindocs+build(releases): whole-platform 12.0→14.x history + a maintenance model that includes the frontendJul 11, 2026
…n range
The aggregation helper docs/releases-maintenance.md describes: given two
framework revs (or explicit objectui SHAs), resolve the pinned .objectui-sha at
each and print objectui's feat/fix commits for that range, grouped by type with
the largest touched areas — ready to paste into a release page's Console
section. Supports --json/--from/--to/--all and degrades to printing just the SHA
range when no ../objectui checkout is present. Verified end-to-end against
scratch repos; the maintenance doc now points at the script.
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01SXFPRKA2ixrZmRFwK7Cxh6
@os-zhuang
os-zhuang marked this pull request as ready for review July 11, 2026 05:00
@os-zhuang
os-zhuang merged commit ac46e52 into mainJul 11, 2026
16 checks passed
@os-zhuang
os-zhuang deleted the claude/14-3-release-notes-0e8yqk branch July 11, 2026 05:00
Sign up for freeto join this conversation on GitHub. Already have an account? Sign in to comment

Labels

ci/cddependenciesPull requests that update a dependency filedocumentationImprovements or additions to documentationsize/xl

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants

@os-zhuang@hotlong