Skip to content

fix(release): stop fixed-group major cascade from internal peerDependencies#1524

Merged
xuyushun441-sys merged 1 commit into
mainfrom
fix/changeset-fixed-group-peer-major
Jun 2, 2026
Merged

fix(release): stop fixed-group major cascade from internal peerDependencies#1524
xuyushun441-sys merged 1 commit into
mainfrom
fix/changeset-fixed-group-peer-major

Conversation

@xuyushun441-sys

Copy link
Copy Markdown
Contributor

What

Fixes the fixed-group major cascade: every minor changeset was escalating the whole 69-package suite to 8.0.0 instead of 7.6.0.

Root cause (verified)

Several packages in the changesets fixed group declared internal @objectstack/* peerDependencies (adapters→runtime, clicore, plugin-mswruntime; optional: plugin-dev, service-datasource, service-ai). Inside a fixed group, changesets rewrites those peer ranges on every release and treats a peer-range change as breaking → major, which cascades to all 69 packages. onlyUpdatePeerDependentsWhenOutOfRange does not prevent this within a fixed group.

Proven by bisection: removing any one changeset still left 69-major; a lone minor on a peer-free package (observability) still produced 8.0.0; and converting the internal peers dropped it to 0 major.

Fix

  • Required internal peers → dependencies (they're lockstep-versioned anyway).
  • Optional internal peers → devDependencies (still available for in-workspace tests; no longer a published peer edge that cascades).

Verification

changeset status before: 69 packages → major (8.0.0). After: 0 major, next release bumps correctly (patch/minor → 7.6.0). pnpm install clean (no cycles).

Unrelated to ADR-0032 — pre-existing release-config debt that any minor changeset triggered.

🤖 Generated with Claude Code

…encies

Internal @objectstack/* peerDependencies on packages in the changesets `fixed`
group caused every minor changeset to escalate the whole 69-package group to a
major (8.0.0): in a fixed group changesets rewrites peer ranges each release and
treats a peer-range change as breaking. Required internal peers → dependencies;
optional internal peers → devDependencies (still available for workspace tests,
no longer a published peer edge). Verified: `changeset status` drops from 69
major (8.0.0) to 0 major (next release is correctly 7.6.0).

Affected: cli, express, sveltekit, hono, nuxt, nextjs, nestjs, fastify,
plugin-msw (peer→dep); plugin-dev, service-datasource, service-ai (optional
peer→devDep).

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
@vercel

vercel Bot commented Jun 2, 2026

Copy link
Copy Markdown

The latest updates on your projects. Learn more about Vercel for GitHub.

Project Deployment Actions Updated (UTC)
spec Building Building Preview, Comment Jun 2, 2026 5:59am

Request Review

@github-actions github-actions Bot added documentation Improvements or additions to documentation dependencies Pull requests that update a dependency file tooling labels Jun 2, 2026
@xuyushun441-sys xuyushun441-sys merged commit 3377e38 into main Jun 2, 2026
8 of 9 checks passed
@github-actions github-actions Bot added the size/m label Jun 2, 2026
@xuyushun441-sys xuyushun441-sys deleted the fix/changeset-fixed-group-peer-major branch June 2, 2026 06:00
xuyushun441-sys added a commit that referenced this pull request Jun 2, 2026
…n from #1524) (#1525)

#1524 moved optional internal @objectstack peerDependencies off `peer`; tsup then
bundled the lazily await-import()'d driver packages and hit their optional native
deps (mysql/oracledb via knex) → build failure for service-datasource & plugin-dev.

- service-datasource: tsup `external: [/^@objectstack\/driver-/]` (drivers stay
  devDeps for tests, never bundled).
- plugin-dev: framework packages devDeps → dependencies (tsup auto-externalizes
  deps; dev-only plugin, force-install is fine).

Verified: full `pnpm build` 71/71 green; `changeset status` still 0 major (7.6.0).

Co-authored-by: Jack Zhuang <277994282+os-zhuang@users.noreply.github.com>
Co-authored-by: Claude Opus 4.8 <noreply@anthropic.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

dependencies Pull requests that update a dependency file documentation Improvements or additions to documentation size/m tooling

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants