chore(deps): upgrade ObjectStack 9.9.1 → 9.11 (1.2.0)#403
Merged
Conversation
Promotes the in-tree 9.9.1 work to the latest 9.11 line. Bumps all @objectstack/* to ^9.11.0 (manifest specVersion ^9.11.0, app 1.2.0). Full pipeline green (validate + typecheck + build + 17 tests) and the seed loads clean at boot with no runtime errors. - Lifecycle freeze hooks (opportunity_lifecycle, quote_workflow) now exempt framework-managed columns (owner_id, updated_at, created_by, …) from the "closed record" field-freeze. 9.x re-stamps ownership/timestamps via beforeUpdate (post-seed ownership assignment), which the old guard rejected with `Attempted: owner_id, updated_at` on every closed/accepted record. Business-field edits on closed records stay blocked (verified: amount write on a closed-won opp → 400, next_step → 200). - smoke.test.ts flow-count assertion relaxed to >= 16 (a pre-existing drift: the task reminder/recurrence flows pushed the total to 17 without updating the literal). Keeps green as flows are added. Note: the namespace-prefixed profiles, removed field display-props, dropped monthsBetween() validation, and case seed resolution/escalation_reason were already landed on main (#399/#400, 9.8 upgrade, 88e9b91); this change is the 9.11 delta on top. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
xuyushun441-sys
force-pushed
the
chore/objectstack-9.11-upgrade
branch
from
June 20, 2026 15:31
185a647 to
cdb0dec
Compare
driver-sql 9.11 pulls in kysely@0.29, which declares engines.node >=22. With engine-strict=true, `pnpm install --frozen-lockfile` fails on the Node 20 CI matrix. Bumps ci.yml, code-quality.yml, release.yml, .nvmrc, and package.json engines.node to 22 (the publish workflows already used 22). Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
CHANGELOG version footers point at /releases/tag/vX, which 404 until each release is published (v1.0.0 was never cut) — they shouldn't gate CI. Adds `releases` to the markdown-link-check ignore pattern and the [1.2.0] footer. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
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.
Summary
Promotes the in-tree 9.9.1 work to the latest 9.11 line. Bumps all
@objectstack/*to^9.11.0, manifestspecVersion^9.11.0, app1.2.0.pnpm verify(validate + typecheck + build + 17 tests) exits 0, and the seed loads clean at boot with no runtime errors.Changes
owner_id/timestamps viabeforeUpdate(post-seed ownership assignment runs at boot).opportunity_lifecycleandquote_workflownow skipowner_id/updated_at/created_by/… in their "closed record" field-freeze, so system writes pass while business-field edits stay blocked — verified:amounton a closed-won opp →400,next_step→200. Without this, every closed/accepted record threwAttempted: owner_id, updated_atduring seed.smoke.test.tsflow-count relaxed to>= 16(pre-existing drift — reminder/recurrence flows pushed the total to 17 without updating the literal).Verification
Validate + typecheck + build + 17 unit tests green; clean seed boot; earlier full browser walkthrough on identical hook code (login, exec/service dashboards, cases (38) + opportunities (25) lists, record detail, freeze-hook positive/negative via the authenticated REST API).
🤖 Generated with Claude Code