Skip to content

fix: prevent changesets from bumping 0.x to 1.0.0#483

Merged
ascorbic merged 2 commits intomainfrom
fix/changeset-major-bump
Apr 12, 2026
Merged

fix: prevent changesets from bumping 0.x to 1.0.0#483
ascorbic merged 2 commits intomainfrom
fix/changeset-major-bump

Conversation

@ascorbic
Copy link
Copy Markdown
Collaborator

What does this PR do?

The changesets release PR was bumping all packages from 0.1.1 to 1.0.0 instead of 0.2.0. This was caused by changesets' peer dependency logic: when emdash gets a minor bump, every plugin that peer-depends on it with workspace:* (which resolves to the exact old version) triggers shouldBumpMajor, and the fixed group propagates that major bump to all packages.

Three changes to fix:

  1. Remove plugins from the fixed group — they peer-depend on emdash, which triggers the major escalation. Core packages remain fixed together.
  2. Enable onlyUpdatePeerDependentsWhenOutOfRange — by default changesets always escalates peer dep bumps to major without checking the range. This flag makes it actually check.
  3. Change plugin peer deps from workspace:* to workspace:>=0.1.0workspace:* resolves to the exact old version (e.g. 0.1.1), which any bump falls outside of. >=0.1.0 satisfies any 0.x version, preventing the escalation.

Verified with changeset status: core packages bump to minor, plugins to patch, no majors.

Type of change

  • Chore (dependencies, CI, tooling)

Checklist

  • I have read CONTRIBUTING.md
  • pnpm typecheck passes
  • pnpm lint passes
  • pnpm format has been run
  • I have added/updated tests for my changes (if applicable)
  • I have added a changeset (if this PR changes a published package)

AI-generated code disclosure

  • This PR includes AI-generated code

Changesets' peer dependency logic was escalating minor bumps to major
for all packages in the fixed group. Three changes:

- Remove plugins from the fixed group (they peer-depend on emdash,
  triggering shouldBumpMajor on any minor release)
- Enable onlyUpdatePeerDependentsWhenOutOfRange so the version range
  is actually checked before escalating
- Change plugin peer deps from workspace:* (resolves to exact version)
  to workspace:>=0.1.0 (satisfies any 0.x bump)
Copilot AI review requested due to automatic review settings April 12, 2026 13:57
@changeset-bot
Copy link
Copy Markdown

changeset-bot bot commented Apr 12, 2026

⚠️ No Changeset found

Latest commit: ef28a18

Merging this PR will not cause a version bump for any packages. If these changes should not result in a new version, you're good to go. If these changes should result in a version bump, you need to add a changeset.

This PR includes no changesets

When changesets are added to this PR, you'll see the packages that this PR includes changesets for and the associated semver types

Click here to learn what changesets are, and how to add one.

Click here if you're a maintainer who wants to add a changeset to this PR

@cloudflare-workers-and-pages
Copy link
Copy Markdown

cloudflare-workers-and-pages bot commented Apr 12, 2026

Deploying with  Cloudflare Workers  Cloudflare Workers

The latest updates on your project. Learn more about integrating Git with Workers.

Status Name Latest Commit Updated (UTC)
✅ Deployment successful!
View logs
emdash-playground ef28a18 Apr 12 2026, 02:03 PM

@pkg-pr-new
Copy link
Copy Markdown

pkg-pr-new bot commented Apr 12, 2026

Open in StackBlitz

@emdash-cms/admin

npm i https://pkg.pr.new/@emdash-cms/admin@483

@emdash-cms/auth

npm i https://pkg.pr.new/@emdash-cms/auth@483

@emdash-cms/blocks

npm i https://pkg.pr.new/@emdash-cms/blocks@483

@emdash-cms/cloudflare

npm i https://pkg.pr.new/@emdash-cms/cloudflare@483

emdash

npm i https://pkg.pr.new/emdash@483

create-emdash

npm i https://pkg.pr.new/create-emdash@483

@emdash-cms/gutenberg-to-portable-text

npm i https://pkg.pr.new/@emdash-cms/gutenberg-to-portable-text@483

@emdash-cms/x402

npm i https://pkg.pr.new/@emdash-cms/x402@483

@emdash-cms/plugin-ai-moderation

npm i https://pkg.pr.new/@emdash-cms/plugin-ai-moderation@483

@emdash-cms/plugin-atproto

npm i https://pkg.pr.new/@emdash-cms/plugin-atproto@483

@emdash-cms/plugin-audit-log

npm i https://pkg.pr.new/@emdash-cms/plugin-audit-log@483

@emdash-cms/plugin-color

npm i https://pkg.pr.new/@emdash-cms/plugin-color@483

@emdash-cms/plugin-embeds

npm i https://pkg.pr.new/@emdash-cms/plugin-embeds@483

@emdash-cms/plugin-forms

npm i https://pkg.pr.new/@emdash-cms/plugin-forms@483

@emdash-cms/plugin-webhook-notifier

npm i https://pkg.pr.new/@emdash-cms/plugin-webhook-notifier@483

commit: ef28a18

@ascorbic ascorbic enabled auto-merge (squash) April 12, 2026 13:59
@ascorbic ascorbic disabled auto-merge April 12, 2026 14:00
Copy link
Copy Markdown
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Adjusts Changesets and workspace dependency metadata so releases from the current 0.x series don’t get incorrectly escalated to 1.0.0 due to peer dependency bump rules and fixed-group propagation.

Changes:

  • Removes plugin packages from the Changesets fixed group so plugin bumps don’t propagate as majors across the whole workspace.
  • Enables Changesets’ onlyUpdatePeerDependentsWhenOutOfRange experimental option to avoid unnecessary peer-dependent major bumps.
  • Updates plugin emdash peer dependency specifiers from workspace:* to a ranged workspace: protocol, and updates pnpm-lock.yaml accordingly.

Reviewed changes

Copilot reviewed 9 out of 10 changed files in this pull request and generated 8 comments.

Show a summary per file
File Description
pnpm-lock.yaml Updates workspace specifiers for emdash in plugin importers to match new ranged workspace protocol usage.
packages/plugins/webhook-notifier/package.json Switches emdash peer dependency off workspace:* to a ranged workspace protocol.
packages/plugins/forms/package.json Switches emdash peer dependency off workspace:* to a ranged workspace protocol.
packages/plugins/embeds/package.json Switches emdash peer dependency off workspace:* to a ranged workspace protocol.
packages/plugins/color/package.json Switches emdash peer dependency off workspace:* to a ranged workspace protocol.
packages/plugins/audit-log/package.json Switches emdash peer dependency off workspace:* to a ranged workspace protocol.
packages/plugins/atproto/package.json Switches emdash peer dependency off workspace:* to a ranged workspace protocol.
packages/plugins/api-test/package.json Switches emdash peer dependency off workspace:* to a ranged workspace protocol.
packages/plugins/ai-moderation/package.json Switches emdash peer dependency off workspace:* to a ranged workspace protocol.
.changeset/config.json Removes plugins from the fixed group and enables onlyUpdatePeerDependentsWhenOutOfRange.
Files not reviewed (1)
  • pnpm-lock.yaml: Language not supported

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

"license": "MIT",
"peerDependencies": {
"emdash": "workspace:*"
"emdash": "workspace:>=0.1.0"
"peerDependencies": {
"astro": ">=6.0.0-beta.0",
"emdash": "workspace:*",
"emdash": "workspace:>=0.1.0",
"peerDependencies": {
"astro": ">=6.0.0-beta.0",
"emdash": "workspace:*"
"emdash": "workspace:>=0.1.0"
"license": "MIT",
"peerDependencies": {
"emdash": "workspace:*",
"emdash": "workspace:>=0.1.0",
"license": "MIT",
"peerDependencies": {
"emdash": "workspace:*"
"emdash": "workspace:>=0.1.0"
"license": "MIT",
"peerDependencies": {
"emdash": "workspace:*"
"emdash": "workspace:>=0.1.0"
"license": "MIT",
"peerDependencies": {
"emdash": "workspace:*",
"emdash": "workspace:>=0.1.0",
"license": "MIT",
"peerDependencies": {
"emdash": "workspace:*",
"emdash": "workspace:>=0.1.0",
Adds a check before changeset versioning that fails if any package
would get a major bump. Safety net while in 0.x pre-release.
@ascorbic ascorbic merged commit 99129f1 into main Apr 12, 2026
29 checks passed
@ascorbic ascorbic deleted the fix/changeset-major-bump branch April 12, 2026 14:25
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants