Commit 60110bb
docs(releases): v17 页补齐 rc.0 → rc.1 窗口(元数据/协议变更 + 平台功能) (#4418)
* docs(releases): v17 page carries the rc.0 → rc.1 window — backend half
The v17 release page stopped at the rc.0 cut. 334 changesets have landed on
main since (40 major-class), plus five objectui pin moves, and none of it was
in the layer-3 curated page the releases-maintenance playbook makes mandatory
for a major.
Adds a "Landed since 17.0.0-rc.0" section written for the two audiences the
release actually strands:
1. **Metadata-app developers** — what changed in the metadata they author and
the protocol they call: the actions route's HTTP contract, list queries
that apply-or-fail, the one alias fold across every engine method,
`query.having` becoming real, flow-node config enforcement and the ADR-0087
alias graduations, blank hook targets, stored-metadata conversion replay,
Studio forms that saved nothing, view-filter operator parity, the temporal
storage/bounds campaign, and ADR-0111 sharing authority.
2. **System administrators** — what changes about operating the platform:
honest 501s naming the package to install (the fabricated-session auth mock
and the RLS-free analytics shim are deleted), `HonoServerPlugin` reduced to
a transport adapter, memory-driver persistence back to opt-in, `os migrate`
writing nothing before confirmation and refusing a busy database, boot-log
visibility, platform-objects infrastructure, cron jobs that finally fire,
and the four fail-opens closed this window.
The largest post-rc.0 landings (ADR-0110/0104-D2/0113/0114, the #4001
strictness clicks, the seven protocol-17 retirements, the #4212 family, the
#3896 sweep) are already documented in place in the sections above — this
section names them and points there rather than duplicating, then covers the
rest of the window.
Also extends the upgrade checklist with the new consumer-facing actions and
the References list with this window's ADRs and PRs.
Console (objectui) half follows in the next commit.
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01MevuZ96T3E9yivS8QvghcR
* docs(releases): v17 page carries the rc.0 → rc.1 window — Console half
The five objectui pin moves since rc.0 (`4a4829d0ef39 → 7d9734d5e321`, 79
commits, released as objectui 17.1.0) had no entry on the curated page. Sourced
from the five `console-*` changesets `scripts/bump-objectui.sh` writes on every
bump.
Leads with the release-critical one: the rc.0 pin predates the ADR-0110 D1
client fix, so the Console it builds still posts `action.target` to the actions
route — against a v17 server, which resolves the declaration by `name` and
refuses an unresolvable one, every target-bound script action would 404 from
the shipped Console. Then the rest grouped by what a user of the Console
actually feels: action feedback that stops lying, filters/sorting/export
agreeing with the server, safer edits (If-Match + 409 surfacing), per-record
bulk actions, approvals and notification surfaces, the Studio designers, types
that stop forking the spec, and the resilience fixes.
Also scopes the existing Console section to the rc.0 window it documents, so
`4a4829d0ef39` no longer reads as the shipping pin.
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01MevuZ96T3E9yivS8QvghcR
* docs(releases): fold the four post-merge changesets into the rc.1 window
main advanced while this branch was being written. Three of the four new
changesets are consumer-facing and belong on the page:
- #4363's second half — the background walks seek instead of counting. The
page already carried the single-read half; the walk half is the one with
teeth, because `rebuildApproverIndex` deleted index rows for requests its
offset-paged scan skipped, and `scanValueShapes` could open the value-shape
migration gate on evidence it never fully read. Both land beside the paged-
read entry they complete.
- `SqlDriver.findOne(object, id)` removal + `bypassTenantAudit` becoming a
declared `DriverOptions` member, with the limit the declaration states.
- react page props joining the reference-integrity suite, so `os lint` /
`os compile` stop passing metadata `os validate` rejects — noted where the
authoring lints are described, with the CI consequence called out.
The fourth (`driver-conformance-gate`) is a CI gate that releases nothing
consumer-visible and is deliberately left off.
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01MevuZ96T3E9yivS8QvghcR
* docs(releases): declare the changeset, and backfill the 27 objectui fixes the bump missed
Two things the `Check Changeset` gate and a verification pass turned up.
**This PR declares itself.** An empty-frontmatter changeset — the sanctioned
"releases nothing" declaration the gate documents — for the docs-only v17 page
work.
**The Console window was under-enumerated, and the page would have inherited
that.** Cross-checking the five `console-*` changesets against objectui's own
history found `console-bebaebd39ace.md` covers only the tail of its range: 94
first-parent commits, 40 enumerated, oldest entry #3026. The other four ranges
reconcile exactly. Everything that merged earlier inside that one range is in
neither the release history nor the curated page — the same failure
`console-c6cfdf1288b6-backfill.md` records, now for the second time.
Adds the backfill (patch; all 27 are `fix`, none `feat`, so the bump script's
own typing rule applies) declaring no SHA move. Several are data-loss fixes an
upgrading Console user feels on contact: a tabbed modal or split form silently
dropping the values of every pane but the active one, a `defaultValues` change
discarding what the user was typing, no unload guard on a dirty modal, and a
flow or action that failed under HTTP 200 still reporting success.
Also fixes the `check:role-word` failure this branch introduced — the ADR-0090
D3 vocabulary is permission sets and positions, so the upgrade-checklist entry
now says which permission sets carry `manage_sharing` rather than "roles".
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01MevuZ96T3E9yivS8QvghcR
* docs(releases): fold the backfilled Console fixes into the v17 page
The backfill changeset records the 27 unenumerated objectui fixes in
`@objectstack/console`'s changelog (the detail layer). The curated page is the
layer that has to tell an upgrading user what they will feel, so the
user-visible half lands here too rather than being left to a changelog nobody
reads before upgrading.
Two additions: a "forms stop losing what you typed" group — the tabbed-modal
and split-form value loss, `defaultValues` discarding in-progress input, the
missing unload guard, the stale record after a `recordId` swap — and a
"spec values render instead of failing three different ways" group covering
the three spec-parity tiers, the FilterBuilder operator table, the chart
series/category fixes, the empty-KPI analytics case, legacy string row
actions, and the HTTP-200 failure reporting as success.
The section header now states the real window size (143 commits) and names the
backfill, so the 79-PR enumeration is not mistaken for the whole of it.
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01MevuZ96T3E9yivS8QvghcR
---------
Co-authored-by: Claude <noreply@anthropic.com>1 parent 8db4587 commit 60110bb
3 files changed
Lines changed: 693 additions & 2 deletions
File tree
- .changeset
- content/docs/releases
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
| 1 | + | |
| 2 | + | |
| 3 | + | |
| 4 | + | |
| 5 | + | |
| 6 | + | |
| 7 | + | |
| 8 | + | |
| 9 | + | |
| 10 | + | |
| 11 | + | |
| 12 | + | |
| 13 | + | |
| 14 | + | |
| 15 | + | |
| 16 | + | |
| 17 | + | |
| 18 | + | |
| 19 | + | |
| 20 | + | |
| 21 | + | |
| 22 | + | |
| 23 | + | |
| 24 | + | |
| 25 | + | |
| 26 | + | |
| 27 | + | |
| 28 | + | |
| 29 | + | |
| 30 | + | |
| 31 | + | |
| 32 | + | |
| 33 | + | |
| 34 | + | |
| 35 | + | |
| 36 | + | |
| 37 | + | |
| 38 | + | |
| 39 | + | |
| 40 | + | |
| 41 | + | |
| 42 | + | |
| 43 | + | |
| 44 | + | |
| 45 | + | |
| 46 | + | |
| 47 | + | |
| 48 | + | |
| 49 | + | |
| 50 | + | |
| 51 | + | |
| 52 | + | |
| 53 | + | |
| 54 | + | |
| 55 | + | |
| 56 | + | |
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
| 1 | + | |
| 2 | + | |
| 3 | + | |
| 4 | + | |
| 5 | + | |
| 6 | + | |
| 7 | + | |
| 8 | + | |
| 9 | + | |
| 10 | + | |
| 11 | + | |
| 12 | + | |
| 13 | + | |
| 14 | + | |
| 15 | + | |
| 16 | + | |
| 17 | + | |
| 18 | + | |
| 19 | + | |
| 20 | + | |
| 21 | + | |
| 22 | + | |
| 23 | + | |
| 24 | + | |
| 25 | + | |
| 26 | + | |
| 27 | + | |
| 28 | + | |
| 29 | + | |
| 30 | + | |
| 31 | + | |
0 commit comments