Reset package versions for clean 5.0.0-beta.0 release#1648
Conversation
The previous pre-release versions (4.x.y-beta.N) caused two issues:
- semver.inc('4.0.0-beta.N', 'major') returns 4.0.0, not 5.0.0
- Pre-release numbers carried over (beta.61 -> beta.62 instead of beta.0)
Setting all versions to 4.0.0 (non-pre-release) ensures a clean major
bump to 5.0.0-beta.0. Also removes @workflow/swc-playground-wasm from
the changeset and pre.json since it is a private package.
|
The latest updates on your projects. Learn more about Vercel for GitHub.
|
|
| Name | Type |
|---|---|
| @workflow/ai | Major |
| @workflow/astro | Major |
| @workflow/builders | Major |
| @workflow/cli | Major |
| @workflow/core | Major |
| @workflow/errors | Major |
| @workflow/nest | Major |
| @workflow/next | Major |
| @workflow/nitro | Major |
| @workflow/nuxt | Major |
| @workflow/rollup | Major |
| @workflow/serde | Major |
| @workflow/sveltekit | Major |
| @workflow/swc-plugin | Major |
| @workflow/tsconfig | Major |
| @workflow/typescript-plugin | Major |
| @workflow/utils | Major |
| @workflow/vite | Major |
| @workflow/vitest | Major |
| @workflow/web | Major |
| @workflow/web-shared | Major |
| workflow | Major |
| @workflow/world | Major |
| @workflow/world-local | Major |
| @workflow/world-postgres | Major |
| @workflow/world-testing | Major |
| @workflow/world-vercel | Major |
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
📊 Benchmark Results
workflow with no steps💻 Local Development
▲ Production (Vercel)
🔍 Observability: Express | Next.js (Turbopack) | Nitro workflow with 1 step💻 Local Development
▲ Production (Vercel)
🔍 Observability: Nitro | Next.js (Turbopack) | Express workflow with 10 sequential steps💻 Local Development
▲ Production (Vercel)
🔍 Observability: Nitro | Express | Next.js (Turbopack) workflow with 25 sequential steps💻 Local Development
▲ Production (Vercel)
🔍 Observability: Nitro | Express | Next.js (Turbopack) workflow with 50 sequential steps💻 Local Development
▲ Production (Vercel)
🔍 Observability: Express | Nitro | Next.js (Turbopack) Promise.all with 10 concurrent steps💻 Local Development
▲ Production (Vercel)
🔍 Observability: Express | Nitro | Next.js (Turbopack) Promise.all with 25 concurrent steps💻 Local Development
▲ Production (Vercel)
🔍 Observability: Nitro | Express | Next.js (Turbopack) Promise.all with 50 concurrent steps💻 Local Development
▲ Production (Vercel)
🔍 Observability: Express | Next.js (Turbopack) | Nitro Promise.race with 10 concurrent steps💻 Local Development
▲ Production (Vercel)
🔍 Observability: Express | Nitro | Next.js (Turbopack) Promise.race with 25 concurrent steps💻 Local Development
▲ Production (Vercel)
🔍 Observability: Express | Nitro | Next.js (Turbopack) Promise.race with 50 concurrent steps💻 Local Development
▲ Production (Vercel)
🔍 Observability: Nitro | Next.js (Turbopack) | Express workflow with 10 sequential data payload steps (10KB)💻 Local Development
▲ Production (Vercel)
🔍 Observability: Express | Next.js (Turbopack) | Nitro workflow with 25 sequential data payload steps (10KB)💻 Local Development
▲ Production (Vercel)
🔍 Observability: Nitro | Express | Next.js (Turbopack) workflow with 50 sequential data payload steps (10KB)💻 Local Development
▲ Production (Vercel)
🔍 Observability: Nitro | Next.js (Turbopack) | Express workflow with 10 concurrent data payload steps (10KB)💻 Local Development
▲ Production (Vercel)
🔍 Observability: Nitro | Next.js (Turbopack) | Express workflow with 25 concurrent data payload steps (10KB)💻 Local Development
▲ Production (Vercel)
🔍 Observability: Express | Nitro | Next.js (Turbopack) workflow with 50 concurrent data payload steps (10KB)💻 Local Development
▲ Production (Vercel)
🔍 Observability: Express | Nitro | Next.js (Turbopack) Stream Benchmarks (includes TTFB metrics)workflow with stream💻 Local Development
▲ Production (Vercel)
🔍 Observability: Express | Next.js (Turbopack) | Nitro stream pipeline with 5 transform steps (1MB)💻 Local Development
▲ Production (Vercel)
🔍 Observability: Next.js (Turbopack) | Express | Nitro 10 parallel streams (1MB each)💻 Local Development
▲ Production (Vercel)
🔍 Observability: Express | Next.js (Turbopack) | Nitro fan-out fan-in 10 streams (1MB each)💻 Local Development
▲ Production (Vercel)
🔍 Observability: Nitro | Express | Next.js (Turbopack) SummaryFastest Framework by WorldWinner determined by most benchmark wins
Fastest World by FrameworkWinner determined by most benchmark wins
Column Definitions
Worlds:
|
🧪 E2E Test Results❌ Some tests failed Summary
❌ Failed Tests▲ Vercel Production (11 failed)astro (1 failed):
example (1 failed):
express (1 failed):
fastify (1 failed):
hono (1 failed):
nextjs-turbopack (2 failed):
nitro (1 failed):
nuxt (1 failed):
sveltekit (1 failed):
vite (1 failed):
🌍 Community Worlds (61 failed)mongodb-dev (1 failed):
redis-dev (1 failed):
turso-dev (1 failed):
turso (58 failed):
Details by Category❌ ▲ Vercel Production
✅ 💻 Local Development
✅ 📦 Local Production
✅ 🐘 Local Postgres
✅ 🪟 Windows
❌ 🌍 Community Worlds
✅ 📋 Other
❌ Some E2E test jobs failed:
Check the workflow run for details. |
There was a problem hiding this comment.
Pull request overview
This PR adjusts Changesets/version metadata to enable a clean coordinated 5.0.0-beta.0 prerelease across the monorepo by resetting package base versions and removing a private package from the prerelease set.
Changes:
- Reset many
packages/*/package.jsonversions to4.0.0(non-prerelease) to avoid semver prerelease-major edge cases and beta counter carry-over. - Update
.changeset/pre.jsoninitialVersionsto4.0.0across the prerelease set. - Remove
@workflow/swc-playground-wasmfrom the “Initial v5 beta release” changeset.
Reviewed changes
Copilot reviewed 29 out of 29 changed files in this pull request and generated 2 comments.
Show a summary per file
| File | Description |
|---|---|
| packages/world/package.json | Reset package version to 4.0.0 to establish a clean base for prerelease bumping. |
| packages/world-vercel/package.json | Reset package version to 4.0.0 to establish a clean base for prerelease bumping. |
| packages/world-testing/package.json | Reset package version to 4.0.0 to establish a clean base for prerelease bumping. |
| packages/world-postgres/package.json | Reset package version to 4.0.0 to establish a clean base for prerelease bumping. |
| packages/world-local/package.json | Reset package version to 4.0.0 to establish a clean base for prerelease bumping. |
| packages/workflow/package.json | Reset package version to 4.0.0 to establish a clean base for prerelease bumping. |
| packages/web/package.json | Reset package version to 4.0.0 to establish a clean base for prerelease bumping. |
| packages/web-shared/package.json | Reset package version to 4.0.0 to establish a clean base for prerelease bumping. |
| packages/vitest/package.json | Reset package version to 4.0.0 to establish a clean base for prerelease bumping. |
| packages/vite/package.json | Reset package version to 4.0.0 to establish a clean base for prerelease bumping. |
| packages/utils/package.json | Reset package version to 4.0.0 to establish a clean base for prerelease bumping. |
| packages/typescript-plugin/package.json | Reset package version to 4.0.0 to establish a clean base for prerelease bumping. |
| packages/tsconfig/package.json | Reset package version to 4.0.0 to establish a clean base for prerelease bumping. |
| packages/swc-plugin-workflow/package.json | Reset package version to 4.0.0 to establish a clean base for prerelease bumping. |
| packages/sveltekit/package.json | Reset package version to 4.0.0 to establish a clean base for prerelease bumping. |
| packages/serde/package.json | Reset package version to 4.0.0 to establish a clean base for prerelease bumping. |
| packages/rollup/package.json | Reset package version to 4.0.0 to establish a clean base for prerelease bumping. |
| packages/nuxt/package.json | Reset package version to 4.0.0 to establish a clean base for prerelease bumping. |
| packages/nitro/package.json | Reset package version to 4.0.0 to establish a clean base for prerelease bumping. |
| packages/next/package.json | Reset package version to 4.0.0 to establish a clean base for prerelease bumping. |
| packages/nest/package.json | Reset package version to 4.0.0 to establish a clean base for prerelease bumping. |
| packages/errors/package.json | Reset package version to 4.0.0 to establish a clean base for prerelease bumping. |
| packages/core/package.json | Reset package version to 4.0.0 to establish a clean base for prerelease bumping. |
| packages/cli/package.json | Reset package version to 4.0.0 to establish a clean base for prerelease bumping. |
| packages/builders/package.json | Reset package version to 4.0.0 to establish a clean base for prerelease bumping. |
| packages/astro/package.json | Reset package version to 4.0.0 to establish a clean base for prerelease bumping. |
| packages/ai/package.json | Reset package version to 4.0.0 to establish a clean base for prerelease bumping. |
| .changeset/pre.json | Reset prerelease initialVersions to 4.0.0 and remove @workflow/swc-playground-wasm from the pre-state. |
| .changeset/old-towns-make.md | Remove the private @workflow/swc-playground-wasm from the major bump changeset. |
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
| "@workflow/docs-typecheck": "4.0.0", | ||
| "@workflow/serde": "4.0.0", | ||
| "@workflow/nest": "4.0.0", | ||
| "@workflow/example-nest": "4.0.0", | ||
| "workflow-sdk-compiler-playground": "4.0.0", | ||
| "@workflow/example-nitro": "4.0.0", | ||
| "@workflow/vitest": "4.0.0", | ||
| "@workflow/vitest-workbench": "4.0.0" |
There was a problem hiding this comment.
.changeset/pre.json sets initialVersions for several ignored/private workbench packages to 4.0.0, but their package.json versions are still 0.x (e.g. workflow-sdk-compiler-playground is 0.1.0, @workflow/docs-typecheck is 0.0.1-beta.12, @workflow/vitest-workbench is 0.0.1). This makes the pre-release state internally inconsistent and could cause unexpected behavior when exiting pre-mode or if the ignore list changes. Consider either removing ignored packages from initialVersions or setting these entries to match the actual package versions.
| "@workflow/docs-typecheck": "4.0.0", | |
| "@workflow/serde": "4.0.0", | |
| "@workflow/nest": "4.0.0", | |
| "@workflow/example-nest": "4.0.0", | |
| "workflow-sdk-compiler-playground": "4.0.0", | |
| "@workflow/example-nitro": "4.0.0", | |
| "@workflow/vitest": "4.0.0", | |
| "@workflow/vitest-workbench": "4.0.0" | |
| "@workflow/docs-typecheck": "0.0.1-beta.12", | |
| "@workflow/serde": "4.0.0", | |
| "@workflow/nest": "4.0.0", | |
| "@workflow/example-nest": "4.0.0", | |
| "workflow-sdk-compiler-playground": "0.1.0", | |
| "@workflow/example-nitro": "4.0.0", | |
| "@workflow/vitest": "4.0.0", | |
| "@workflow/vitest-workbench": "0.0.1" |
| "@workflow/rollup": major | ||
| "@workflow/serde": major | ||
| "@workflow/sveltekit": major | ||
| "@workflow/swc-playground-wasm": major | ||
| "@workflow/swc-plugin": major | ||
| "@workflow/tsconfig": major | ||
| "@workflow/typescript-plugin": major |
There was a problem hiding this comment.
Removing @workflow/swc-playground-wasm from this changeset/pre-state makes sense since it’s private, but Changesets automation may reintroduce it in future version PRs unless it’s also added to .changeset/config.json ignore list. Consider adding @workflow/swc-playground-wasm to ignore to prevent it from being included again.
Summary
4.0.0(non-pre-release) so thatchangeset versionproduces5.0.0-beta.0for all packages@workflow/swc-playground-wasmfrom the changeset andpre.jsonsince it is a private packageProblem
The auto-generated Version Packages PR (#1635) was producing incorrect versions due to two issues:
semver pre-release major bump semantics:
semver.inc('4.0.0-beta.52', 'major')returns4.0.0(not5.0.0), because semver treats a major bump on anX.0.0pre-release as just stripping the pre-release tag. This affected@workflow/astro,@workflow/rollup,@workflow/vite,@workflow/sveltekit, and@workflow/nest.Pre-release number carry-over: Changesets increments the existing pre-release number (
beta.61→beta.62), so even packages where the base version was correct never started atbeta.0.Fix
Setting all versions to
4.0.0ensures:semver.inc('4.0.0', 'major')=5.0.0(correct base version)beta.0)Verified locally that
changeset versionnow produces5.0.0-beta.0for all packages.