Skip to content

changeset: unlink @x402r/{core,sdk,helpers} for independent versioning#176

Merged
vraspar merged 1 commit into
mainfrom
vraspar/unlink-packages
May 23, 2026
Merged

changeset: unlink @x402r/{core,sdk,helpers} for independent versioning#176
vraspar merged 1 commit into
mainfrom
vraspar/unlink-packages

Conversation

@vraspar
Copy link
Copy Markdown
Contributor

@vraspar vraspar commented May 23, 2026

Summary

Set linked to [] in .changeset/config.json. Each @x402r/* package versions independently.

Why

@x402r/sdk and @x402r/helpers don't import from each other. Their dep graphs share @x402r/core only:

  • @x402r/sdk@x402r/core, @x402r/erc8004, viem
  • @x402r/helpers@x402r/core, @x402r/evm

The previous linked group [[core, sdk, helpers]] enforced lockstep version bumps for no technical reason. It was added on Mar 9 (commit a60bd32) with the stated reason "version bumps stay in sync across packages" — a UX preference, not a correctness constraint.

Industry standard for TS monorepo SDKs is unlinked. Verified against wagmi, viem, vercel/ai, TanStack/query — all four use linked: [].

Effect

After this lands:

  • @x402r/core can ship a patch fix without bumping sdk/helpers.
  • @x402r/sdk can ship a feature without bumping core/helpers.
  • @x402r/helpers can ship a fix without bumping sdk.

Compatibility between packages is conveyed via "@x402r/core": "workspace:^" in sdk and helpers, resolved at publish time — same pattern peers use.

No effect on pending Version PR #175

Every existing changeset under .changeset/sdk-authcapture-*.md explicitly names its affected packages in front-matter, so the linked grouping doesn't change the bump plan for the current alpha cycle. After #175 merges and 0.3.0-alpha.0 ships, future releases benefit from the unlinked configuration.

Test plan

  • Pre-commit hook (biome + build + typecheck) passed locally.
  • After merge, the next changeset version run recomputes bumps with linked: []. Existing pending changesets explicitly name each affected package, so behavior should be unchanged for the alpha cycle.

🤖 Generated with Claude Code

Switch .changeset/config.json `linked` from [["@x402r/core",
"@x402r/helpers", "@x402r/sdk"]] to []. Each package versions on its
own merits.

Why:
- @x402r/sdk and @x402r/helpers don't import from each other.
  Dep graphs share @x402r/core only (sdk → core, erc8004, viem;
  helpers → core, evm). Linking them forced matched versions for
  no technical reason.
- The linked grouping was added Mar 9 (a60bd32) with stated reason
  "version bumps stay in sync across packages" — a UX preference,
  not a correctness constraint.
- Industry standard for TS monorepo SDKs is unlinked: verified
  against wagmi, viem, vercel/ai, TanStack/query — all use
  linked: [].

Effect: @x402r/core can ship a patch without bumping sdk/helpers,
@x402r/sdk can ship a feature without bumping core/helpers,
@x402r/helpers can ship a fix without bumping sdk. Compatibility
between packages is conveyed via "@x402r/core": "workspace:^" in
sdk/helpers, resolved at publish time — same pattern peers use.

No effect on pending Version PR #175: every existing changeset
explicitly names its affected packages in front-matter, so the bump
plan is identical with or without linking for the current alpha cycle.

Co-Authored-By: Claude Opus 4.7 (1M context) <[email protected]>
@vraspar vraspar requested a review from A1igator as a code owner May 23, 2026 03:02
@vraspar vraspar enabled auto-merge (squash) May 23, 2026 03:03
@codecov
Copy link
Copy Markdown

codecov Bot commented May 23, 2026

Codecov Report

✅ All modified and coverable lines are covered by tests.

📢 Thoughts on this report? Let us know!

@vraspar vraspar merged commit 26eb869 into main May 23, 2026
9 checks passed
@vraspar vraspar deleted the vraspar/unlink-packages branch May 23, 2026 03:20
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants