chore(deps): 升级 @objectstack/* 到 17.0.0-rc.5 - #1056
Merged
Merged
Conversation
Bump every @objectstack/* dependency to 17.0.0-rc.5 and move the protocol range in objectstack.config.ts and objectstack.manifest.json to match, so the three files #728 pairs keep stating one version. No app metadata had to change. rc.5's three breaking changes all land outside what this app authors: the `system-data` bucket dropping CSV `import` from its defaults touches platform objects HotCRM does not declare and its admin docs never point at, the cross-datasource transaction refusal is unreachable on a single-datasource install, and `subscribeMetadata`'s narrowed type belongs to a client package HotCRM does not depend on. `os migrate summary-nulls` is likewise a no-op here — the app has no master_detail roll-ups, only hook-written number fields. Docs follow package.json where the drift guards require it: the three whats-new locales and docs/STATUS.md now state rc.5. MAINTENANCE.md §3.2 records why summary-nulls does not apply and what would change that. Verified on rc.5: pnpm verify green (1886 tests, including the parent-derived-reach pins rc.4 established), and demo:reset + boot seeds all 17 objects with 342 rows and 242 audit rows on a clean server start. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01TuU3HbdGQz3sm8mmNmZBJP
|
The latest updates on your projects. Learn more about Vercel for GitHub. |
The repo carries package-lock.json for one reason — the StackBlitz demo installs with npm, not pnpm (scripts/check-stackblitz-lock.mjs) — and the rc.5 bump refreshed pnpm-lock.yaml only, so CI's staleness guard caught the npm lockfile still resolving the whole @objectstack/* tree at rc.4. A stale lock does not break the app, it makes the demo fall back to a full re-resolve on every boot. Regenerated with the recipe the guard prints. 356 rc.5 entries, no rc.4 left. pnpm verify still exits 0 (1886 tests). Co-Authored-By: Claude Opus 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01TuU3HbdGQz3sm8mmNmZBJP
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 free
to 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.
Description
Upgrades every
@objectstack/*dependency from17.0.0-rc.4to17.0.0-rc.5and moves the declared protocol range to match.No app metadata had to change to absorb it — that is the finding of this PR, not a gap in it. rc.5 ships three breaking changes and all three land outside what HotCRM authors. Each was checked against the repo rather than assumed:
system-databucket no longer defaults to CSVimport(spec, upstream #4671)system-dataobject, and no page of its admin docs points an administrator at CSV for the user↔position / user↔permission-set / position↔permission-set bindings. The authorization boundary is unchanged either way —importis an affordance, and CSV-written rows already went through the same delegated-admin, RLS and permission-set adjudication as hand-typed ones.Tenancy: singleand oneSqlDriver(better-sqlite3). Confirmed live: 242sys_audit_logrows landed alongside the seed.subscribeMetadatanarrowed itstypetoMetadataEventSubject(client, upstream #4627)@objectstack/clientnor@objectstack/client-react.Also new in rc.5 and also inapplicable:
os migrate summary-nulls, which backfills roll-upcount/sumcolumns leftNULLby pre-fix inserts. HotCRM has no platform roll-ups — its line items and campaign members reach parents throughlookup, notmaster_detail, and the aggregates it displays are plain number fields written by its own hooks.Type of Change
Related Issues
Follows the platform upgrade checklist in
docs/MAINTENANCE.md§3. Upstream release: ObjectStack17.0.0-rc.5.Changes Made
@objectstack/*pins (11 deps +@objectstack/formuladev dep) to17.0.0-rc.5; refreshedpnpm-lock.yaml.^17.0.0-rc.5in bothobjectstack.config.ts(engines.protocol) andobjectstack.manifest.json(specVersion+engines.protocol), keeping the three declarations [17.0-rc2验收] objectstack.config.ts 的 engines.protocol 仍是 ^17.0.0-rc.1,与 objectstack.manifest.json(rc.2)及 build 产物不一致 #728 pairs in agreement.content/docs/whats-new*.mdxlocales and the runtime-requirements row indocs/STATUS.mdto state the installed version — both are enforced bytest/docs-drift.test.ts, which failed on rc.5 until they followedpackage.json.docs/MAINTENANCE.md§3.2 whyos migrate summary-nullsdoes not apply here, and what would change that answer (a future line-item lookup converted tomaster_detail— the lint rulerelationship/line-item-should-be-master-detailsuggests exactly that on four fields today).Testing
pnpm test: 1886 passed, 1 skipped, 81 files. Includestest/parent-derived-reach.test.ts, so the Controlled-by-Parent reach rc.4 established still holds on rc.5.pnpm lintclean (116 warnings / 14 suggestions, all pre-existing).pnpm build: 17 objects, 344 fields, 24 flows, 1920.1 KB artifact.pnpm demo:resetthen a real server boot on rc.5: console returns 200, 38 plugins load, 24 flows bind, and the seed lands all 17 CRM objects (342 rows) plus 242 audit rows.Full gate (
pnpm verify= validate && typecheck && lint && hygiene && build && test) exits 0.Checklist
.changeset/objectstack-17-0-0-rc-5.mdAdditional Notes
Historical version references were deliberately left alone. The repo carries a number of
MEASURED on 17.0.0-rc.4comments andThis changed in platform 17.0.0-rc.4doc paragraphs. Those state when a behaviour changed or was measured, which rc.5 does not alter — rewriting them to rc.5 would turn accurate history into a false claim. Only the current-version pins moved. The measurements themselves are re-verified on every run bytest/parent-derived-reach.test.ts, which is green on rc.5.Per
docs/MAINTENANCE.md§3.2,demo:resetstarts from an empty database and therefore says nothing about an in-place upgrade of an existing deployment. Operators upgrading in place should still run the 17.0 data gates (os migrate files-to-references,os migrate value-shapes) as dry runs first;summary-nullscan be skipped for the reason documented above.Generated by Claude Code