From e1c321b3f682e5c876fe92ee8695d81b30c9eb82 Mon Sep 17 00:00:00 2001 From: "copilot-swe-agent[bot]" <198982749+Copilot@users.noreply.github.com> Date: Sat, 28 Feb 2026 06:23:03 +0000 Subject: [PATCH 1/2] Initial plan From e3df788912cf31fb59a7c5b20bbd7cae1ac27932 Mon Sep 17 00:00:00 2001 From: "copilot-swe-agent[bot]" <198982749+Copilot@users.noreply.github.com> Date: Sat, 28 Feb 2026 06:30:46 +0000 Subject: [PATCH 2/2] fix: prevent minor version bump from escalating to major in fixed group Root cause: changesets' `onlyUpdatePeerDependentsWhenOutOfRange` defaults to false, which means ANY non-patch peer dependency bump triggers a major version bump for dependents. Combined with `workspace:*` (resolved to exact version), this caused minor bumps to escalate to major across the entire fixed group. Fix: 1. Add `onlyUpdatePeerDependentsWhenOutOfRange: true` to changeset config 2. Change internal peerDependencies from `workspace:*` to `workspace:^` so minor bumps stay within the semver-compatible range Co-authored-by: hotlong <50353452+hotlong@users.noreply.github.com> --- .changeset/config.json | 5 ++++- ROADMAP.md | 6 ++++-- packages/adapters/express/package.json | 2 +- packages/adapters/fastify/package.json | 2 +- packages/adapters/hono/package.json | 2 +- packages/adapters/nestjs/package.json | 2 +- packages/adapters/nextjs/package.json | 2 +- packages/adapters/nuxt/package.json | 2 +- packages/adapters/sveltekit/package.json | 2 +- packages/cli/package.json | 2 +- packages/plugins/plugin-dev/package.json | 14 +++++++------- packages/plugins/plugin-msw/package.json | 2 +- 12 files changed, 24 insertions(+), 19 deletions(-) diff --git a/.changeset/config.json b/.changeset/config.json index 04dcc5689..932feda75 100644 --- a/.changeset/config.json +++ b/.changeset/config.json @@ -45,5 +45,8 @@ "access": "public", "baseBranch": "main", "updateInternalDependencies": "patch", - "ignore": [] + "ignore": [], + "___experimentalUnsafeOptions_WILL_CHANGE_IN_PATCH": { + "onlyUpdatePeerDependentsWhenOutOfRange": true + } } diff --git a/ROADMAP.md b/ROADMAP.md index 20b9c8f17..2e4a20f6e 100644 --- a/ROADMAP.md +++ b/ROADMAP.md @@ -1,7 +1,7 @@ # ObjectStack Protocol — Road Map -> **Last Updated:** 2026-02-25 -> **Current Version:** v3.0.8 +> **Last Updated:** 2026-02-28 +> **Current Version:** v3.0.11 > **Status:** Protocol Specification Complete · Runtime Implementation In Progress --- @@ -903,6 +903,8 @@ Final polish and advanced features. ## Versioning Plan +> **Release Process Note (2026-02-28):** Fixed a bug where `workspace:*` peer dependencies combined with changesets' default `onlyUpdatePeerDependentsWhenOutOfRange: false` caused minor version bumps to escalate to major bumps across the fixed group. Internal peer dependencies now use `workspace:^` and the changeset config enables `onlyUpdatePeerDependentsWhenOutOfRange`. + | Version | Target | Focus | |:---|:---|:---| | **v3.0** | ✅ Shipped | Protocol specification complete, core runtime stable | diff --git a/packages/adapters/express/package.json b/packages/adapters/express/package.json index b18810041..68a0495d4 100644 --- a/packages/adapters/express/package.json +++ b/packages/adapters/express/package.json @@ -17,7 +17,7 @@ "test:watch": "vitest" }, "peerDependencies": { - "@objectstack/runtime": "workspace:*", + "@objectstack/runtime": "workspace:^", "express": "^5.1.0" }, "devDependencies": { diff --git a/packages/adapters/fastify/package.json b/packages/adapters/fastify/package.json index b9d325df1..8e4e5ef11 100644 --- a/packages/adapters/fastify/package.json +++ b/packages/adapters/fastify/package.json @@ -17,7 +17,7 @@ "test:watch": "vitest" }, "peerDependencies": { - "@objectstack/runtime": "workspace:*", + "@objectstack/runtime": "workspace:^", "fastify": "^5.7.2" }, "devDependencies": { diff --git a/packages/adapters/hono/package.json b/packages/adapters/hono/package.json index 3016adc8c..63848a1dd 100644 --- a/packages/adapters/hono/package.json +++ b/packages/adapters/hono/package.json @@ -17,7 +17,7 @@ "test:watch": "vitest" }, "peerDependencies": { - "@objectstack/runtime": "workspace:*", + "@objectstack/runtime": "workspace:^", "hono": "^4.12.2" }, "devDependencies": { diff --git a/packages/adapters/nestjs/package.json b/packages/adapters/nestjs/package.json index 815ef7085..288057172 100644 --- a/packages/adapters/nestjs/package.json +++ b/packages/adapters/nestjs/package.json @@ -12,7 +12,7 @@ "peerDependencies": { "@nestjs/common": "^11.1.14", "@nestjs/core": "^11.1.14", - "@objectstack/runtime": "workspace:*" + "@objectstack/runtime": "workspace:^" }, "devDependencies": { "@nestjs/common": "^11.1.14", diff --git a/packages/adapters/nextjs/package.json b/packages/adapters/nextjs/package.json index 46a248cbd..ff175f789 100644 --- a/packages/adapters/nextjs/package.json +++ b/packages/adapters/nextjs/package.json @@ -10,7 +10,7 @@ "test:watch": "vitest" }, "peerDependencies": { - "@objectstack/runtime": "workspace:*", + "@objectstack/runtime": "workspace:^", "next": "^16.1.6", "react": "^19.2.4", "react-dom": "^19.2.4" diff --git a/packages/adapters/nuxt/package.json b/packages/adapters/nuxt/package.json index 99dd355fb..d58b33010 100644 --- a/packages/adapters/nuxt/package.json +++ b/packages/adapters/nuxt/package.json @@ -17,7 +17,7 @@ "test:watch": "vitest" }, "peerDependencies": { - "@objectstack/runtime": "workspace:*", + "@objectstack/runtime": "workspace:^", "h3": "^1.15.5" }, "devDependencies": { diff --git a/packages/adapters/sveltekit/package.json b/packages/adapters/sveltekit/package.json index eb4ffe90d..8bb777a13 100644 --- a/packages/adapters/sveltekit/package.json +++ b/packages/adapters/sveltekit/package.json @@ -17,7 +17,7 @@ "test:watch": "vitest" }, "peerDependencies": { - "@objectstack/runtime": "workspace:*", + "@objectstack/runtime": "workspace:^", "@sveltejs/kit": "^2.53.1" }, "devDependencies": { diff --git a/packages/cli/package.json b/packages/cli/package.json index 055a33c69..15f5e47f3 100644 --- a/packages/cli/package.json +++ b/packages/cli/package.json @@ -53,7 +53,7 @@ "zod": "^4.3.6" }, "peerDependencies": { - "@objectstack/core": "workspace:*" + "@objectstack/core": "workspace:^" }, "devDependencies": { "@oclif/plugin-help": "^6.2.37", diff --git a/packages/plugins/plugin-dev/package.json b/packages/plugins/plugin-dev/package.json index 67f124bfa..d623b890d 100644 --- a/packages/plugins/plugin-dev/package.json +++ b/packages/plugins/plugin-dev/package.json @@ -21,13 +21,13 @@ "@objectstack/spec": "workspace:*" }, "peerDependencies": { - "@objectstack/driver-memory": "workspace:*", - "@objectstack/objectql": "workspace:*", - "@objectstack/runtime": "workspace:*", - "@objectstack/plugin-auth": "workspace:*", - "@objectstack/plugin-hono-server": "workspace:*", - "@objectstack/plugin-security": "workspace:*", - "@objectstack/rest": "workspace:*" + "@objectstack/driver-memory": "workspace:^", + "@objectstack/objectql": "workspace:^", + "@objectstack/runtime": "workspace:^", + "@objectstack/plugin-auth": "workspace:^", + "@objectstack/plugin-hono-server": "workspace:^", + "@objectstack/plugin-security": "workspace:^", + "@objectstack/rest": "workspace:^" }, "peerDependenciesMeta": { "@objectstack/driver-memory": { diff --git a/packages/plugins/plugin-msw/package.json b/packages/plugins/plugin-msw/package.json index d3fb3bbfb..112aad7b4 100644 --- a/packages/plugins/plugin-msw/package.json +++ b/packages/plugins/plugin-msw/package.json @@ -17,7 +17,7 @@ "test": "vitest run" }, "peerDependencies": { - "@objectstack/runtime": "workspace:*" + "@objectstack/runtime": "workspace:^" }, "dependencies": { "@objectstack/core": "workspace:*",