Uh oh!
There was an error while loading. Please reload this page.
docs(releases): record the 17.0.0 GA cut on the v17 release page - #8888
Merged
Conversation
The page was compiled FOR the 17.0.0 cut (#8642) and never updated after it, so a third-party developer was told the train had not shipped. GA published to `latest` on 2026-08-14T08:00-08:02Z, `prerelease: false`, and `.changeset/ pre.json` is gone from `main`. Five stale surfaces, not the three the report listed: 1. The release-status blockquote — rewritten as shipped. The `^16.x` caret paragraph is kept verbatim; the "section headings say 17.0.0 for brevity" sentence is dropped, since it explained a pre-mode convention that no longer exists. 2. The `Landed since 17.0.0-rc.6` opener — closed against what GA actually released, in the shape #8642 used to close the rc.5 window. 3. `index.mdx`'s v17 entry — no longer a pre-release. 4. The `New in Console` subsection of the rc.6 window still said the three pin moves were "not yet released". 5. The Console pin chain in the rc.0 window ended "under *rc.5*, which is still open" — a window this same page now records as released by rc.6. The window count is measured, not inherited. The drafted "374 pending — 11 major-class, 99 minor, 264 patch" was counted at 98eec7e; one more changeset (#8620) landed at 01a7337 before the cut, so GA released 375 — 11 major-class, 99 minor, 265 patch, none that release nothing. 2079 is the whole train's total, not this window's: pre-mode accumulates changesets and consumes them all at `pre exit`. The counting method reproduces the rc.6 window's published numbers exactly (425 / 36 / 123 / 266) and rc.5's (10 / 2 / 4 / 4). #8620 was documented nowhere on the page, so it gains a bullet, as #8642 did for its own post-draft landings. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_013gLCsJ1sDoJZZruDKMsHH3
The latest updates on your projects. Learn more about Vercel for GitHub. 1 Skipped Deployment
|
os-zhuang
marked this pull request as ready for review
August 15, 2026 14:31
Uh oh!
There was an error while loading. Please reload this page.
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 freeto 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.
Fixes#8882
content/docs/releases/v17.mdxwas compiled for the 17.0.0 cut (#8642) and never updated after it, so the published page told a third-party developer that v17 had not shipped. GA published tolateston 2026-08-14T08:00-08:02Z withprerelease: false, and.changeset/pre.jsonis gone frommain— both re-verified here, not assumed.Docs-only,
skip-changeset. Scope held to the two sanctioned files.Five stale surfaces, not three
The issue listed three. A sweep for tense the GA cut falsified ("will", "is preparing to", "still open", "pending", "until the cut", "rolls into", plus a second pass over every
rc./pre-mode/ dist-tag mention) found two more.v17.mdxrelease-status blockquotev17.mdxLanded since 17.0.0-rc.6openerindex.mdxv17 entry(current series: 17.0.0-rc.N, pre-release)(current series: 17.0.0, released 2026-08-14)v17.mdxrc.6 window, New in Consolev17.mdxrc.0 window, Console pin chain0cf8f0f70d10under rc.5, which is still open"rc.6)"Surface 5 is inside a section the dispatch froze (
Landed since rc.0…rc.5stay as-is). Flagging it rather than burying it: the clause is not a record of what a cut released — it is a forward-looking pointer at a different window, and this same page (rewritten by #8642) now records that window as released by rc.6 cut 2026-08-10, so the page contradicted itself. The repair is the one-token parenthetical every other item in that same sentence already uses —(released as rc.1),(rc.2),(rc.4),(rc.5)— so it adds no new tense and no new narration. I deliberately did not extend the chain forward to the GA pin moves, which would have been rewriting the section. Drop this hunk if you read the freeze more strictly; nothing else depends on it.The window count is measured, not inherited
The drafted 374 pending — 11 major-class, 99 minor, 264 patch was a pre-cut estimate. What GA actually released:
375 changesets — 11
major-class, 99minor, 265patch, and none that release nothing.The delta is pinned to a specific commit, not hand-waved:
98eec7e24(chore: bump objectui to 665661ab0932)01a7337fc(#8620,fix(objectql): a tenant's rename beats a package extension's scalar)259f211f0(#8642, the docs compile)24c1b91e4(the GA version commit)2079 is the train's total, not the window's: pre-mode accumulates changesets across every rc and consumes them all at
pre exit. 1704 changesets stood at the rc.6 cut, 1704 + 375 = 2079.Counting method, and how it was validated. The window is the changesets added between two version commits, classified by highest bump. Run against windows the page has already published, that method reproduces them exactly:
The issue suggested counting "across the
## 17.0.0sections of the package changelogs". I implemented that too and it does not reproduce the page: for the rc.6 window it returns 164 where the page publishes 425, because the changelog bullet prefix is the sha of the commit that added the changeset and many changesets share one. So the file-based count is what the page's own numbers are made of, and the GA opener follows #8642's phrasing rather than claiming the changelog method.#8620 gains a bullet
The one landing between the draft and the cut was documented nowhere on the page — grep for
8620and8460both came back empty. #8642 handled the identical situation for rc.5 by adding bullets covering what landed after its draft, so this follows that precedent: one bullet under Metadata, packages & authoring gates, next to the existing overlay-layering entry it is a sibling of, and the opener now points at it.Where I diverged from the suggested route
The dispatch suggested
index.mdxmatch the shipped siblings'(final release: 15.1.1)/(final release: 14.8.0). The tree disagrees and I followed the tree. Those two forms are not "the house style for a shipped major" — they mark a series that has ended, and both match their series' last tag. v17 shipped its first release nine days ago;(final release: 17.0.0)would tell a developer the v17 line is closed and would be falsified by 17.0.1. That swaps one false claim for another, which is the failure this card exists to fix.(current series: 17.0.0, released 2026-08-14)keeps the accurate form and drops the pre-release tail.One consequence worth naming: v16's entry still reads
(current series: 16.0.0-rc.0), so the list now shows two "current series" rows. That contradiction is pre-existing — both rows already said "current series" before this PR — and v16 is stale independently of the GA cut (16.0.0 and 16.1.0 both shipped, 16.1.0 on 2026-07-22,prerelease: false). It needsv16.mdxtoo, which is outside this card's scope ceiling, so it is filed as #8886 rather than half-fixed here.Also dropped
The blockquote's "Section headings say 17.0.0 for brevity" sentence. It existed because headings said 17.0.0 while the published artifacts were
rc.N; with GA out, the headings are simply correct and the sentence explains a convention that no longer exists.Not touched
The ~400 lines of substance under
Landed since rc.6(verified, correct — only the framing was stale), the historicalrc.0…rc.5window sections apart from surface 5 above, and every packageCHANGELOG.md(changesets-generated).Gates
Run from the tree after the final commit, at HEAD
447c6d917:Gate set re-derived against the actual diff with
node scripts/pm/dispatch-gates.mjs content/docs/releases/v17.mdx content/docs/releases/index.mdx— it names exactly the three from the dispatch;check:nul-bytesis the any-edit family added on top.check:role-wordhas a shrink-only baseline that bit this page during #8642, and it ratchets in both directions. v17.mdx is baselined at 2 and index.mdx at 1; both occurrences in v17.mdx are the field namesys_member.role, which this diff neither adds to nor removes, so the count stays flat and the baseline is untouched.Generated by Claude Code