Skip to content

Commit 16ca320

Browse files
docs(releases): the 18.2.0 release notes page and its upgrade checklist (#26494)
<!-- claude-projects-attribution: {"github_login":"os-steve"} --> _Requested by **Steve** · [project thread](https://claude.ai/code/project/chan_01FdL1XeUyvVNxLreh3F4Qi9?thread=cmsg_01FdL1XeUyvVNxLreh3F4Qi9Va7qPMfMa72DB4ApTSiCEi)_ Fixes #26429 Clause-②: no Metadata-protocol: none ## 维护者速读 - 改了什么:新增 18.2.0 发布说明页 `content/docs/releases/v18/18-2.mdx`(1025 行,照 18-1 骨架),`meta.json` 在 `index` 后加 `18-2`,`v18/index.mdx` 加一行链接;`handwritten-docs.json` 按门禁要求登记新页。 - 为什么改:18.2.0 要有这页。版本提交 `27f38ada49`(#25640)消费的 231 条 changeset 全部按发布脚本的五节分组列出,一条不丢;每条需手动处理的条目写明读者要做什么。 - 风险与回滚:纯文档,不发包(skip-changeset)。回滚就是 revert 这个 PR。 - 先看:页首「How this page was compiled」与五节标题、`## Release facts, as measured` 表(版本提交 `27f38ada49`、发布日期 2026-10-27 已填)、`## Upgrade checklist`。 - 两分钟验证:五节条目数 52 / 7 / 41 / 3 / 128,与 `classifyReleaseBullet` 对版本提交所消费 changeset 的分组逐条一致;版本提交写出的 111 份 CHANGELOG 里 231 条去重条目,用同一函数分组,与页面 0 条不一致。 - 需要你做的:无。版本 PR 开着期间合入的 4 条 changeset(含导航分组默认展开 #26427)不在 18.2.0 里,留给下个版本。 ## What changes - **`content/docs/releases/v18/18-2.mdx` (new).** The 18.2.0 page on the 18-1 skeleton: the compile callout with the counts, Highlights, Release facts (version commit `27f38ada49`, published 2026-10-27), the version-level table, the five sections under the headings and order `scripts/release-github-releases.mjs` uses (需手动处理 / 自动迁移 / 新增能力 / 语义变化 / 其他修复), a Console (Studio) section on the objectui import (#25752, PR #25825), the `.objectui-sha` retirement and `pnpm console:build`, and an 18.1.0 → 18.2.0 upgrade checklist marked as compiled, not walked. - Every one of the 231 changesets the version commit consumed is cited once, as `` (`sha7`, #PR) ``, under the section the script places it in. - Every 需手动处理 entry ends with what the reader does. Every 自动迁移 entry names its ADR-0087 ids and says what `os migrate meta` does and what is left. - **`content/docs/releases/v18/meta.json`.** `18-2` after `index`. - **`content/docs/releases/v18/index.mdx`.** One Per-release notes line for 18.2.0, above 18.1.0. - **`scripts/docs-audit/handwritten-docs.json`.** One line, written by `node scripts/docs-audit/check-audit-scope.mjs --write`: `check:docs-audit-scope` refuses a hand-written page the list does not hold. Not named by the claim; declared as a deviation in the report. Nothing else is touched: no other release page, no changeset, no CHANGELOG, no GitHub Release body, nothing under `ui/`. ## Why #26429: the 18.2.0 cut needs its curated page (docs/releases-maintenance.md §3), grouped the way the GitHub Release body groups the same entries, so that a reader of this page alone can upgrade. ## Verification - **Counts, at the version commit.** `27f38ada49` (#25640) deletes 231 changesets from `.changeset/`. All 231 were added after `@objectstack/cli@18.1.0`, and each was classified with the script's own `classifyReleaseBullet`: 需手动处理 52, 自动迁移 7, 新增能力 41, 语义变化 3, 其他修复 128. 59 are breaking (15 graded `minor`, 44 `patch`); none is `major`. Four changesets merged to `main` while the version pull request was open, and are not in 18.2.0: `26370-nav-group-expanded-default-open` (#26427, which earlier heads of this PR listed under 自动迁移), `25235-missed-scheduled-run` (#26485), `26425-import-row-every-cell-error` (#26454) and `26329-copy-button-focus-reveal` (#26487). The page names them as pending and lists none of them. - **The page against the script.** A counter reads the citations inside each of the five sections and compares them, as a multiset of `sha7#PR`, with the classification: `manual 52/52, migrated 7/7, added 41/41, semantic 3/3, other 128/128`, nothing missing and nothing extra. Before the citations were complete it went red, naming each missing entry. - **The real CHANGELOGs.** The version commit wrote an `## 18.2.0` section into 111 CHANGELOGs (110 published packages and the private VS Code extension). Their distinct entries are the 231 changesets plus the `Updated dependencies` family, and the script's functions (`getChangelogEntry`, `splitChangelogEntry`, `classifyReleaseBullet`) place them 52 / 7 / 41 / 3 / 128, the page's counts. Before the cut, a rehearsed `pnpm run version` in a throwaway clone had matched the page the same way. - **Drift guard.** Every inline-code name and `/api/v1/…` route on the page was looked up in `packages/`, `ui/`, `apps/`, `examples/`, `scripts/` and `skills/` on HEAD (release pages, CHANGELOGs and `.changeset/` excluded): 456 names, 5 not found, each on purpose: four retired names the page lists as removed (`DeclaredDependencyCheck.deliveredIds`, `PASSWORD_TOO_LONG`, `notNullRefusalSite`, `relabelNotNullRefusal`) and the objectui commit `b41ed7f68956`. Every ADR-0087 and lint rule id the page names was found in `packages/`. - **Gates.** On head `4d57c59923`, `node scripts/pm/dispatch-gates.mjs --commands` derived 60 commands. Each ran with its exit code captured before any pipe: 60 exit 0, and `--ran` reconciled 60 derived, 60 run, 0 NOT-MEASURED (a derived zero). Earlier heads: `f2f5a1711e` 60 of 60 exit 0, `a4c9a49572` 62 of 62. Reds met on the way: `check:role-word` (the page used the reserved word five times; reworded, no baseline change) and `check:docs-audit-scope` (the hand-written list did not hold the page; written by its `--write`). Gates that first exited 3, or read a stale schema after the merge, passed once `formula`, `lint`, `spec`, `client` and `client-react` were built and the spec schema regenerated. - **Docs build.** `pnpm --filter docs build` exited 0. The built `releases/v18/18-2.html` carries the five section ids, `console` and `upgrade-checklist`, and the v18 index page links `/docs/releases/v18/18-2` and its `#upgrade-checklist`. `check:doc-anchors` is green. The page links no external URL; lychee was not run. ## Human Minimum - [x] 1. Schemas start as Zod; `packages/spec` holds no runtime logic. (Not touched.) - [x] 2. Every name I added uses the casing for its kind. (No code names added.) - [x] 3. No formatter ran; `pnpm lint` passes. - [x] 4. One issue, one branch off an up-to-date `main`, one pull request. - [x] 5. A change that publishes carries a changeset, and both declaration lines are filled in here and in the changeset. (Publishes nothing: `skip-changeset`.) - [x] 6. `packages/spec` touched: its generated artifacts are regenerated and committed. (Not touched.) - [ ] 7. No hand edits to `content/docs/releases/`. Not ticked: writing the curated `v18/18-2.mdx` page and its two navigation lines is what #26429 asks for, and docs/releases-maintenance.md §3 names that page as the hand-curated layer. No generated file under it is edited. - [x] 8. Title, body and comments are in English. (Except the 维护者速读 block the dispatch order asks for.) - [x] The *Before Submitting* list in CONTRIBUTING.md is done. --- _Generated by [Claude Code](https://claude.ai/code/session_01ADHkmNukkSDNQzLfynSUVv)_ --------- Co-authored-by: Claude <noreply@anthropic.com>
1 parent f515124 commit 16ca320

4 files changed

Lines changed: 1033 additions & 0 deletions

File tree

0 commit comments

Comments
 (0)