Skip to content

Commit 3c080a6

Browse files
docs(changeset): mark the 11 changesets 18.0.0-next.2 shipped without a CHANGELOG entry (#23835)
Part of #23818 Clause-②: no ## What this PR does This PR gives each of the 11 changesets that 18.0.0-next.2 shipped without a CHANGELOG entry one lead line: `**Shipped in 18.0.0-next.2**, whose CHANGELOG missed this entry (#23818); listed here one prerelease late.` Each line goes right after the changeset's frontmatter. The frontmatter (package names and bump types) is byte-unchanged, and no other sentence is touched. The basis is the maintainer's ruling, recorded on #23818 as comment 6209999534, verbatim: > 那 11 条怎么补记, 怎么简单怎么处理 This is the changeset half of #23818, split out of #23833 by the seat's decision. The other half is #23833, the merge-queue guard. That PR edits a workflow, so it is Tier H and waits for an authorised approval. This half is not governed (0 of 11 paths hit the register). It can land first, so the next.3 Version Packages PR can be refreshed without waiting for the guard. The commit is a cherry-pick of `15f51d126` from #23833, and its `git patch-id --stable` is identical (`36811cbc07`). #23818 stays open after this lands: the guard in #23833 is its other half. ## The 11 changesets `23528-exposure-refusal-code`, `23609-legacy-org-read-seam`, `23610-page-isdefault-template-slots`, `23634-stack-datasource-default-refused`, `23712-draft-save-d99-address`, `23714-unique-violation-arm-relay`, `23723-sandbox-unreadable-rejection`, `23732-attachment-readable-ids`, `23735-reference-deleted-when`, `23740-form-section-columns-no-default`, `console-daeb77fc84dd`. The card's premises were checked in a full-history clone: - each one's add commit is an ancestor of the next.2 version commit `e5136ff10f`; - none is consumed at that commit; - no `## 18.0.0-next.2` CHANGELOG section names any of them. ## How it renders I ran `changeset version` in a throwaway full-history clone that was never pushed. The next.3 sections carry the lead line as the first line of 19 entries across 12 packages: spec 5, runtime 3, metadata-protocol 2, and one each in cli, console, driver-sql, metadata-core, metadata, objectql, platform-objects, plugin-hono-server and service-storage. Each entry keeps its original commit hash. `packages/spec`: ```text - a69a40a: **Shipped in 18.0.0-next.2**, whose CHANGELOG missed this entry (#23818); listed here one prerelease late. feat(spec)!: a page declares nothing the console does not honour — `isDefault: true` is refused off a record page bound to an object, ... ``` **Why 11 lead lines and not one shared changeset.** A shared note would render as a separate entry, and only for the packages its frontmatter names. A reader who greps `full-width` lands on the #23610 entry and would never see it. The lead line travels with each entry, so it is the simplest form that marks every one as shipped in next.2 at the place the reader lands. **The breaking classification is unchanged.** `check-adr-0087-registration`'s `breakingDeclaration` returns the same verdict for all 11 before and after. The four breaking ones (23610, 23634, 23712, 23740) lose only the `bang` signal, because their summary line moved down one line. Each keeps `**BREAKING` and/or its `Clause-②` narrowing arm. ## Check Changeset will be red, and should stay red The foreign-changeset rule (`check-empty-changeset.mjs --base`) refuses the 11 `M` rows. This is its DELIBERATE CORRECTION class, whose documented path is "say so on the PR, naming the note and what changed under it, and get it confirmed". In writing: - **The notes:** the 11 listed above. - **What changed:** one added lead line each. No sentence was removed or reworded. - **The confirmation:** the maintainer's ruling above (comment 6209999534 on #23818). `skip-changeset` must not be applied: this PR edits pending release notes, which is a release. `Check Changeset` is not a required context. ## After this lands: #23825 (next.3) #23825 as cut is behind main by two changesets (#23814, #23817). It also renders these 11 without the lead line. Once this PR lands, it will conflict: it moves the 11 files into `.changeset/pre/`, and this PR edits them in place. Refresh it once, after this lands: dispatch `release.yml` with `refresh_version_pr: true` alone, the fleet relay's refresh stroke. That re-cuts next.3 from the then-current main, so it consumes the 11 with their lead lines plus everything since. Until #23833 lands, no check refuses a stale queue build. So queue it only with no changeset-bearing PR ahead of it. ## Local gates (head `af52476f3`, base `43567a8fc`) `node scripts/pm/dispatch-gates.mjs --commands --repo objectstack-ai/objectstack` derived 20 families. Each was run with its exit code captured before any pipe. - **19 exit 0.** These include `check-adr-0087-registration --base`, `check-changeset-no-major --base`, `check:nul-bytes`, `check:published-files` and `check:changeset-gate-self-tests`. - **1 exits 1, as expected:** `check-empty-changeset.mjs --base origin/main`, which refuses the 11 `M` rows (the section above). - **Reconciliation:** `--ran` reports 20 derived, 20 run, 0 NOT-MEASURED. - **Governance:** `check-governed-merges --branch` reports 0 of 11 paths governed, 22 changed lines (+22 / -0). --- _Generated by [Claude Code](https://claude.ai/code/session_016PVjjuVPte5XEJvaQx1E4t)_ Co-authored-by: Claude <noreply@anthropic.com>
1 parent df2c551 commit 3c080a6

11 files changed

Lines changed: 22 additions & 0 deletions

‎.changeset/23528-exposure-refusal-code.md‎

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,8 @@
22
'@objectstack/runtime': patch
33
---
44

5+
**Shipped in 18.0.0-next.2**, whose CHANGELOG missed this entry (#23818); listed here one prerelease late.
6+
57
fix(runtime): `callData`'s exposure refusal for the object a request addresses carries the data door's code, `OBJECT_API_DISABLED` (404) or `OBJECT_API_METHOD_NOT_ALLOWED` (405), on the dispatcher's `/data` routes, the `/mcp` data tools and declared endpoints (#23528)
68

79
Clause-②: no

‎.changeset/23609-legacy-org-read-seam.md‎

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,8 @@
55
'@objectstack/spec': patch
66
---
77

8+
**Shipped in 18.0.0-next.2**, whose CHANGELOG missed this entry (#23818); listed here one prerelease late.
9+
810
fix(metadata-protocol,metadata): on a database the organization-ownership ceremony has not migrated, the paged family reads, `DatabaseLoader`'s count and the package rollback agree with the environment-only reads; the ceremony's apply is named with `--plan-file` (ADR-0131 D6/D7)
911

1012
Clause-②: no

‎.changeset/23610-page-isdefault-template-slots.md‎

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,8 @@
33
'@objectstack/objectql': patch
44
---
55

6+
**Shipped in 18.0.0-next.2**, whose CHANGELOG missed this entry (#23818); listed here one prerelease late.
7+
68
feat(spec)!: a page declares nothing the console does not honour — `isDefault: true` is refused off a record page bound to an object, `template` closes to the registered layouts, and a region the template does not place is refused
79

810
Clause-②: yes (narrowing)

‎.changeset/23634-stack-datasource-default-refused.md‎

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,8 @@
22
'@objectstack/spec': minor
33
---
44

5+
**Shipped in 18.0.0-next.2**, whose CHANGELOG missed this entry (#23818); listed here one prerelease late.
6+
57
feat(spec)!: a stack's `datasources` collection refuses a datasource named `default`, the name the host reserves for its primary datasource
68

79
Clause-②: no (narrowing)

‎.changeset/23712-draft-save-d99-address.md‎

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,8 @@
22
'@objectstack/metadata-protocol': minor
33
---
44

5+
**Shipped in 18.0.0-next.2**, whose CHANGELOG missed this entry (#23818); listed here one prerelease late.
6+
57
fix(metadata-protocol)!: a draft save naming no package of an object its package-less definition owns is refused when its draft address is a package's draft, with a way out to the package-less draft (ADR-0029 D9.9)
68

79
Clause-②: no (narrowing)

‎.changeset/23714-unique-violation-arm-relay.md‎

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,8 @@
33
'@objectstack/runtime': patch
44
---
55

6+
**Shipped in 18.0.0-next.2**, whose CHANGELOG missed this entry (#23818); listed here one prerelease late.
7+
68
refactor(plugin-hono-server,runtime): the Hono doors and the HTTP dispatcher read the duplicate-record wire code off the shared error classification instead of spelling it themselves (#23714)
79

810
**No behaviour change.** A repeated unique value still answers `409 UNIQUE_VIOLATION` at both Hono doors (a `HonoHttpServer` route or raw mount, and `createHonoApp`'s catch arms through `declaredEnvelopeForThrow`) and at the dispatcher's doors (`HttpDispatcher`'s thrown-error envelope), with the same `message`, the same `details` (`developerMessage`, `object`, and `field` when the driver named the column) and the same envelope keys. The answers were compared byte for byte at those doors before and after. A client or an app author has nothing to change.

‎.changeset/23723-sandbox-unreadable-rejection.md‎

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,8 @@
22
'@objectstack/runtime': patch
33
---
44

5+
**Shipped in 18.0.0-next.2**, whose CHANGELOG missed this entry (#23818); listed here one prerelease late.
6+
57
fix(runtime): a sandboxed body that throws a value no read can flatten (`throw ''`, a null-prototype object, an object whose `message` getter throws) now ends its run at once with the sentence `the script threw a value that could not be read`, instead of waiting for the wall-clock ceiling (#23723)
68

79
**Latency and answer change, for these values only.** The QuickJS runner's reject handler records a body's rejection as a flattened string, and the run ends only once that string is non-empty. For these values the read threw or gave `''`, so nothing was recorded: the run waited for the sandbox's wall-clock ceiling (30 s by default) and ended as a budget error with no business message, which the doors answer as a crash. The handler now records the fixed sentence above for any value it cannot read, and the run ends on the same path as any other rejection. The sentence names nothing the value carried and no stack.

‎.changeset/23732-attachment-readable-ids.md‎

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,8 @@
22
'@objectstack/service-storage': minor
33
---
44

5+
**Shipped in 18.0.0-next.2**, whose CHANGELOG missed this entry (#23818); listed here one prerelease late.
6+
57
feat(service-storage): the `sys_attachment` read gate writes one `ReadableIds` leaf per parent object and does no pre-scan, so a broad read is judged over every row, not a 2,000-row window (ADR-0139 D4, D5)
68

79
Clause-②: yes

‎.changeset/23735-reference-deleted-when.md‎

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,8 @@
55
'@objectstack/platform-objects': patch
66
---
77

8+
**Shipped in 18.0.0-next.2**, whose CHANGELOG missed this entry (#23818); listed here one prerelease late.
9+
810
feat(spec): `referenceDeletedWhen` beside `referenceVia` marks a polymorphic pointer's target as platform-deleted
911

1012
Clause-②: yes

‎.changeset/23740-form-section-columns-no-default.md‎

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,8 @@
22
"@objectstack/spec": minor
33
---
44

5+
**Shipped in 18.0.0-next.2**, whose CHANGELOG missed this entry (#23818); listed here one prerelease late.
6+
57
feat(spec)!: a form section's `columns` has no default — undeclared, the density is the renderer's (by available width); declared, it is the author's ceiling
68

79
Clause-②: no

0 commit comments

Comments
 (0)