Uh oh!
There was an error while loading. Please reload this page.
chore(deps): raise the @objectstack/* pin from ^17.0.0-rc.6 to 17.0.0 GA - #4639
Draft
yinlianghui wants to merge 1 commit into
Draft
chore(deps): raise the @objectstack/* pin from ^17.0.0-rc.6 to 17.0.0 GA#4639yinlianghui wants to merge 1 commit into
yinlianghui wants to merge 1 commit into
Conversation
…0 (GA) Raise the dependency floor so the lockfile resolves @objectstack/spec@17.0.0 (the `latest` dist-tag) across the workspace, replacing 17.0.0-rc.6. @objectstack/client, /formula and /lint are raised in the same step: each exact-pins its own @objectstack/spec, so raising spec alone left a nested @objectstack/spec@17.0.0-rc.6 in the tree beside the workspace's 17.0.0. With all four raised the tree resolves a single 17.0.0. This commit is dependency ranges + lockfile only. The rc.6 -> GA delta turns out to be large and the adaptations it forces exceed this card's stated scope ceiling, so no green-keeping adaptations are folded in here; they are reported on the issue for the PM to sequence. Part of #4636 Co-Authored-By: Claude Fable 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01RnQd8iMMUwXQEV1crFmQiQ
The latest updates on your projects. Learn more about Vercel for GitHub. |
Contributor
✅ Console Performance Budget
📦 Bundle Size Report
Size Limits
|
This was referenced Aug 14, 2026
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.
Part of #4636
Raises the
@objectstack/*dependency floor from^17.0.0-rc.6to^17.0.0so thelockfile resolves the GA spec across the workspace.
This PR is deliberately incomplete and must not be merged on its own. It carries the
bump and nothing else. The rc.6 to GA delta turned out to be large, and the adaptations it
forces exceed this card's stated scope ceiling ("the bump + the minimal adaptations required
to keep the full farm green"). Per the card's own instruction to stop and report if that
happened, no adaptations are folded in here. The full adaptation surface is enumerated on
issue #4636 for sequencing.
Lockfile resolution evidence
All 30 workspace importers resolve GA:
A single copy of every
@objectstack/*package in the tree:Installed check:
require('@objectstack/spec/package.json').versionis17.0.0.Why
client/formula/lintare in the same commitEach of them exact-pins its own
@objectstack/spec— measured from npm:@objectstack/client"@objectstack/spec": "17.0.0-rc.6""@objectstack/spec": "17.0.0"@objectstack/formula"@objectstack/spec": "17.0.0-rc.6""@objectstack/spec": "17.0.0"@objectstack/lint"@objectstack/spec": "17.0.0-rc.6""@objectstack/spec": "17.0.0"A spec-only bump was tried first and measured: it produced two copies of the schema
package —
@objectstack/spec@17.0.0for the workspace importers plus a nested@objectstack/spec@17.0.0-rc.6dragged in by those exact pins. Raising all four is whatyields the single GA resolution this card asks for, so it is part of the bump rather than a
separate change.
global_navACTION_LOCATIONS retirement (objectstack#6888) — answer for the downstream cardYes, 17.0.0 contains the retirement.
ACTION_LOCATIONSin the installed GA package issix values with
global_navabsent:Authoring it now fails with a dedicated error (
GLOBAL_NAV_RETIRED).Worth flagging for whoever is waiting on this: the retirement was already present in
17.0.0-rc.6 — it is not part of the rc.6 to GA delta. Any card gated purely on "the
installed spec has the
global_navretirement" was therefore already unblocked before thisbump, and did not need to wait on it.
The rc.6 to GA delta is not small
Measured by unpacking
@objectstack/spec@17.0.0-rc.6and diffing it against the installedGA package, normalising the
$id/x-spec-versionversion strings that otherwise makeevery one of the 1571 JSON-schema files differ:
src/data/external-lookup.zod.ts,src/system/message-queue.zod.tsThe removals are clear of this repo —
ExternalLookup,ExternalDataSource,ExternalFieldMapping,MessageQueueConfig,MessageQueueProvider,TopicConfig,ConsumerConfigandDeadLetterQueuehave zero references in objectui. The additionsand the retirements are what cost.
Verification of this branch
Run at
48b0fde(the pushed HEAD; working tree clean):check-changeset-presencecheck-changeset-fixedcheck-changeset-no-majorcheck-phantom-dependenciescheck-control-bytescheck-spec-symbol-derivationturbo run buildturbo run type-checkvitest run)What is still red, and why none of it is fixed here
Everything below is caused by this bump. None of it is folded in, for two stated reasons:
it exceeds the scope ceiling, and part of it lands inside file regions declared by
in-flight sibling cards.
1. New GA authoring surfaces (the large one)
GA adds authorable props schemas the repo-wide parity test auto-discovers, so four new
blocks entered the judged set and objectui publishes none of their keys:
object-gridalone reports 34 unpublished top-level keys (label,title,fields,defaultFilters,sort,defaultSort,pagination,pageSize,showPagination,searchableFields,showSearch, …).page:header,page:tabsandrecord:detailsgainedkeys too. Building those registry
inputssurfaces is new-feature work consuming GAsurfaces, which the card lists as explicitly out.
2.
striped/bordered/virtualScrollretirement (objectstack#7176)GA converts these three to
retiredKey()tombstones that actively reject. objectui importsthem into
ListViewSchemafrom the spec shape, so parsing now fails and one type errorfalls out:
The spec's own note names the reader chain this has to be unwound along — react
spec-bridge, then plugin-list, then plugin-view and app-shell. That chain terminates at
packages/app-shell/src/views/ObjectView.tsx:1766-1838, which is inside a region declaredby in-flight card #8500, so it is not mine to edit in this batch.
3. Six spec-named symbol collisions (
check:spec-symbols, exit 1)The new GA exports collide with local declarations:
SECRET_MASKpackages/app-shell/src/views/metadata-admin/widgets.tsx:1852ObjectCalendarPropspackages/plugin-calendar/src/ObjectCalendar.tsx:64ObjectFormPropspackages/plugin-form/src/ObjectForm.tsx:48ObjectGridPropspackages/plugin-grid/src/ObjectGrid.tsx:351ObjectKanbanPropspackages/plugin-kanban/src/ObjectKanban.tsx:106SECRET_MASKis also inside in-flight card #8500's declared region.4. Remaining failing test files
packages/plugin-form/src/sectionFields.spec-parity.test.ts— a new specFormFieldSchemakey needs a behavioral row or a reasoned exemption
packages/components/src/__tests__/record-picker-inputs-spec-parity.test.ts— publishfilterpackages/components/src/__tests__/text-input-inputs-spec-parity.test.ts— publishdefaultValuepackages/plugin-detail/src/__tests__/recordHighlightsInputs.spec-parity.test.ts— a top-levelreadonlyis now stripped, so it must stop being publishedpackages/plugin-detail/src/__tests__/recordDetailsInputs.spec-parity.test.ts— a sectionmember key the spec now strips
packages/fields/src/widgets/__tests__/FilterConditionField.operators.test.ts— GA accepts$likeand$ilike, which no builder operator can authorEach of these is a contract decision about what objectui publishes as an authoring surface,
not a mechanical rename.
Accounting note, stated plainly: the full farm reported 9 failing files / 17 failing
tests. Re-running the 193 spec-importing test files in isolation reproduces 8 files / 15
tests consistently. One file and two tests are therefore unaccounted for — they are
outside the spec-importing set, and I did not identify them. They may be load-dependent
flakes (this repo documents that failure mode) but I have not shown that, so it is recorded
as unknown rather than dismissed.
Changeset
Included,
patch, covering the 20 published packages whosedependenciesorpeerDependenciesranges change. Nomajoris declared, per the version-alignment rule.check-changeset-presencereports none is strictly owed — the gate keys onsrc/and nosrc/changed here — but the published dependency range of 20 released packages does change,which a consumer sees on install, so it is declared rather than skipped. The
skip-changesetconvention was not applied because this diff is not tooling-only.Generated by Claude Code