Skip to content

Commit 071be25

Browse files
committed
chore(cutover): the @object-ui packages join the Changesets fixed group, 4a's text byte for byte (bill item 39, objectstack#25803)
The fixed group gains the public @object-ui packages and the VS Code extension `object-ui` (111 public packages in all, plus `object-ui`); `ignore` becomes the example, site, runner and test-support packages. The lockstep-count prose moves 73 -> 111 in its three places (backward-compatibility.mdx twice, publish-smoke-pack.mjs's header). All three files are taken byte for byte from 4a (objectstack#25745 head 9a776c6), so the two PRs carry identical hunks and 4a's collapse once the cutover lands. 4a's rewrites of scripts/check-changeset-fixed.mjs and scripts/check-lockstep-package-count.mjs are not carried. Measured on the merged tree with main's scripts: - check-changeset-fixed: before exit 1 (38 public @object-ui packages missing); after exit 1, `object-ui` "no longer exists in the workspace": its manifest is private, and main's script counts public packages only. 4a's script accepts it through PRIVATE_FIXED_MEMBERS. - check:lockstep-package-count: after exit 1, truth 112 (fixed[0].length) vs 111 in the three occurrences. 4a's script subtracts PRIVATE_FIXED_MEMBERS from the length. - Probe, not committed: the same config without `object-ui` exits 0 on both, at 111. Co-Authored-By: Claude <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01CUXv64KLMfYv3ia2sWi6te
1 parent ca943b8 commit 071be25

3 files changed

Lines changed: 46 additions & 6 deletions

File tree

‎.changeset/config.json‎

Lines changed: 41 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -80,13 +80,52 @@
8080
"@objectstack/account",
8181
"create-objectstack",
8282
"@objectstack/connector-openapi",
83-
"@objectstack/verify"
83+
"@objectstack/verify",
84+
"@object-ui/app-shell",
85+
"@object-ui/auth",
86+
"@object-ui/cli",
87+
"@object-ui/collaboration",
88+
"@object-ui/components",
89+
"@object-ui/console",
90+
"@object-ui/core",
91+
"@object-ui/create-plugin",
92+
"@object-ui/data-objectstack",
93+
"@object-ui/fields",
94+
"@object-ui/i18n",
95+
"@object-ui/layout",
96+
"@object-ui/mobile",
97+
"@object-ui/permissions",
98+
"@object-ui/plugin-ai",
99+
"@object-ui/plugin-calendar",
100+
"@object-ui/plugin-charts",
101+
"@object-ui/plugin-chatbot",
102+
"@object-ui/plugin-dashboard",
103+
"@object-ui/plugin-designer",
104+
"@object-ui/plugin-detail",
105+
"@object-ui/plugin-editor",
106+
"@object-ui/plugin-form",
107+
"@object-ui/plugin-gantt",
108+
"@object-ui/plugin-grid",
109+
"@object-ui/plugin-kanban",
110+
"@object-ui/plugin-list",
111+
"@object-ui/plugin-map",
112+
"@object-ui/plugin-markdown",
113+
"@object-ui/plugin-report",
114+
"@object-ui/plugin-timeline",
115+
"@object-ui/plugin-tree",
116+
"@object-ui/plugin-view",
117+
"@object-ui/providers",
118+
"@object-ui/react",
119+
"@object-ui/react-runtime",
120+
"@object-ui/sdui-parser",
121+
"@object-ui/types",
122+
"object-ui"
84123
]
85124
],
86125
"linked": [],
87126
"access": "public",
88127
"baseBranch": "main",
89128
"updateInternalDependencies": "patch",
90-
"ignore": [],
129+
"ignore": ["@object-ui/example-*", "@object-ui/site", "@object-ui/runner", "@object-ui/test-support"],
91130
"privatePackages": { "version": true, "tag": false }
92131
}

‎content/docs/protocol/backward-compatibility.mdx‎

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -116,7 +116,7 @@ Read the **Breaking?** column, not the version number: in the 17.x minors every
116116
1. **RFC (Request for Comments)** — Breaking changes are proposed as GitHub issues with the `protocol:breaking` label.
117117
2. **Deprecation** — The old behavior is deprecated in a MINOR release (see timeline above).
118118
3. **Migration Guide** — A detailed migration guide is published before the removal lands, in the release notes for the version that carries it.
119-
4. **Release** — In the 17.x minors the breaking change shipped in the next **MINOR** version, carrying a changeset entry marked `**BREAKING**`, and `scripts/check-changeset-no-major.mjs` failed a pull request that declared a `major` bump, because under lockstep one `major` would promote all 73 published packages. During the v18 prerelease it shipped in the next `18.0.0-next.N`, because the guard stood aside in pre mode and a pull request could declare a major bump. Changesets has exited pre mode, so the guard fails a `major` bump again. See [how a breaking stage lands on the v18 line](/docs/releases/v18#how-a-breaking-stage-lands-on-this-line).
119+
4. **Release** — In the 17.x minors the breaking change shipped in the next **MINOR** version, carrying a changeset entry marked `**BREAKING**`, and `scripts/check-changeset-no-major.mjs` failed a pull request that declared a `major` bump, because under lockstep one `major` would promote all 111 published packages. During the v18 prerelease it shipped in the next `18.0.0-next.N`, because the guard stood aside in pre mode and a pull request could declare a major bump. Changesets has exited pre mode, so the guard fails a `major` bump again. See [how a breaking stage lands on the v18 line](/docs/releases/v18#how-a-breaking-stage-lands-on-this-line).
120120

121121
---
122122

@@ -196,7 +196,7 @@ The `@objectstack/spec` package provides additional stability guarantees:
196196

197197
### Which surfaces this covers
198198

199-
**All of them.** It was not scoped to an experimental corner or a pre-release channel: all **73** packages published from this repository belong to a single Changesets `fixed` group, so they share one version number and one policy. No published surface was exempt.
199+
**All of them.** It was not scoped to an experimental corner or a pre-release channel: all **111** packages published from this repository belong to a single Changesets `fixed` group, so they share one version number and one policy. No published surface was exempt.
200200

201201
The convention was enforced rather than informal — `scripts/check-changeset-no-major.mjs` failed a pull request that introduced a `major` bump, because under lockstep a single `major` on one package would promote the entire stack. During the v18 prerelease Changesets was in pre mode with the tag `next` and the guard stood aside, so a pull request on the v18 line could declare a major bump. Changesets has exited pre mode, and the guard fails a `major` bump again.
202202

‎scripts/publish-smoke-pack.mjs‎

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -33,10 +33,11 @@
3333
* a future exclusion cannot re-open the hole silently.
3434
*
3535
* Source of truth: the workspace itself. The Changesets `fixed` group in
36-
* .changeset/config.json enumerates the same 73 names, but it is a DERIVED
36+
* .changeset/config.json enumerates the same 111 names, but it is a DERIVED
3737
* declaration validated against the workspace by scripts/check-changeset-fixed.mjs
3838
* (which reddens both when a public package is missing from the group and
39-
* when a group name no longer exists) — deriving from the group would mean
39+
* when a group name no longer exists), and it also holds the private members
40+
* that gate declares, which are never packed here — deriving from the group would mean
4041
* reading a copy that a gate keeps honest, rather than the thing itself.
4142
*/
4243

0 commit comments

Comments
 (0)