Skip to content

Commit a641d10

Browse files
claudeos-zhuang
authored andcommitted
docs(releases): curate the v17 platform release page and wire it into the nav
Layer 3 of the release history (docs/releases-maintenance.md) is a hand-curated page per major, and v17 had none. The train carries 302 pending changesets — 45 of them marked breaking — so the page that third parties actually read to plan an upgrade was the one artifact the release could not generate. Adds content/docs/releases/v17.mdx, sourced from the pending changesets for the backend and from the four bundled @objectstack/console refresh entries for the frontend. It leads with breaking changes + migration (Node 22 floor, the opt-in export axis, the ApiMethod shrink and its reporter codemod, user-less flow runs refused, the three retired authorable aliases, agent.tools[], approval-request participant visibility, sharing full/group, membership grade, better-auth 1.7 account identity, the deleted SDK surface, the GraphQL removal, the ObjectStackProtocol alias, datasource fail-fast, per-tenant unique, the i18n contract fixes and the dead-spec-cluster prune), then new capabilities (ADR-0104 files-as-records, dynamic approver routing, the reconciled SDK surface, write observability, analytics correctness), a Console (Studio) section, an upgrade checklist and a reference index. Wires "v17" into content/docs/releases/meta.json so the page is navigable, and adds its entry to the releases index — the two things check-release-notes will demand the moment 17.0.0 lands in the spec CHANGELOG. Also corrects the plugin manifest compatibility example in content/docs/protocol/kernel/plugin-spec.mdx: it showed keys PluginManifest does not declare (objectstack / node rather than minObjectStackVersion / maxObjectStackVersion / nodeVersion) alongside a >=18.0.0 Node floor and a >=2.0.0 <3.0.0 platform range, so the one copy-pasteable manifest example in the protocol docs taught a shape the parser strips. #3825 restated the Node prerequisite in ten user-facing places and missed this one. The release page's two remaining uses of the reserved word "role" are the literal sys_member.role column the ADR-0108 section is about; ratcheted into scripts/role-word-baseline.json accordingly. Verified: pnpm docs:build passes (411 doc routes, /en/docs/releases/v17 among them), and check:release-notes, check:doc-authoring, check:role-word, check:org-identifier, check:nul-bytes, check:node-version are green. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01LXvaYR7TiJBCxYwjn51owH
1 parent fc156fa commit a641d10

6 files changed

Lines changed: 861 additions & 2 deletions

File tree

.changeset/v17-release-page.md

Lines changed: 25 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,25 @@
1+
---
2+
---
3+
4+
Docs-only: curate the v17 platform release page (`content/docs/releases/v17.mdx`)
5+
and wire it into the releases nav — the layer-3 "big picture" the
6+
releases-maintenance playbook requires for every major, sourced from the pending
7+
changesets (backend) and the four bundled `@objectstack/console` refresh entries
8+
(frontend).
9+
10+
Leads with breaking changes + migration (Node 22 floor, the opt-in export axis,
11+
the `ApiMethod` shrink, user-less flow runs refused, the three retired authorable
12+
aliases, `agent.tools[]`, approval-request visibility, sharing `full`/`group`,
13+
membership grade, better-auth 1.7 account identity, the deleted SDK surface, the
14+
GraphQL removal, the `ObjectStackProtocol` alias, datasource fail-fast, per-tenant
15+
`unique`, the i18n contract fixes and the dead-spec-cluster prune), then the new
16+
capabilities (ADR-0104 files-as-records, dynamic approver routing, the reconciled
17+
SDK surface, write observability, analytics correctness), a Console section, and
18+
an upgrade checklist.
19+
20+
Also corrects the plugin manifest `compatibility` example in
21+
`content/docs/protocol/kernel/plugin-spec.mdx`, which showed keys the schema does
22+
not declare (`objectstack` / `node` instead of `minObjectStackVersion` /
23+
`maxObjectStackVersion` / `nodeVersion`) and a Node 18 floor that #3825 retired.
24+
25+
Releases nothing.

content/docs/protocol/kernel/plugin-spec.mdx

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -160,8 +160,9 @@ export default definePlugin({
160160

161161
// Compatibility
162162
compatibility: {
163-
objectstack: '>=2.0.0 <3.0.0',
164-
node: '>=18.0.0',
163+
minObjectStackVersion: '17.0.0',
164+
maxObjectStackVersion: '18.0.0',
165+
nodeVersion: '>=22.0.0',
165166
},
166167
},
167168
});

content/docs/releases/index.mdx

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -18,6 +18,7 @@ migration steps, then covers new capabilities and notable fixes.
1818

1919
## Versions
2020

21+
- [v17.0.0](/docs/releases/v17) — Files become owned `sys_file` records with server-enforced `accept`/`maxSize` and a governed download path, bulk export becomes its own opt-in privilege, the SDK is reconciled against the routes the server actually mounts (21 dead methods out, 40+ real ones in), approval nodes route approvers dynamically via CEL expressions and decision outputs, a datasource that cannot connect fails the boot, and Node 22 becomes the supported floor (current series: 17.0.0-rc.N, pre-release).
2122
- [v16.0.0](/docs/releases/v16) — One org identifier (`organizationId`) across hooks and actions, quorum + per-group sign-off (会签) approvals with metadata-declared decision actions, time-relative automations, filtered roll-ups, strict dashboard widgets, an identity-scoped MCP stdio transport, and a platform-wide enforce-or-remove sweep that makes dead metadata loud (current series: 16.0.0-rc.0).
2223
- [v15.0.0](/docs/releases/v15) — Explain record access layer by layer, a docked AI workspace in the Console, project-ready Gantt charts, and phone sign-in; 15.1 adds permission-following attachments, no-code third-party connectors, dashboard-wide filters, pinyin search, and whole-record inline editing — with materially safer multi-tenant and write-path defaults (final release: 15.1.1).
2324
- [v14.0.0](/docs/releases/v14) — ADR-0090 vocabulary convergence completed, object `enable.*` flags become real gates, admin user management, phone/SMS auth, book-audience enforcement, data-lifecycle contract, and effective-dated grants (final release: 14.8.0).

content/docs/releases/meta.json

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,7 @@
22
"title": "Releases",
33
"pages": [
44
"index",
5+
"v17",
56
"v16",
67
"v15",
78
"v14",

0 commit comments

Comments
 (0)