Skip to content

Version Packages (beta)#3028

Merged
VaguelySerious merged 1 commit into
mainfrom
changeset-release/main
Jul 22, 2026
Merged

Version Packages (beta)#3028
VaguelySerious merged 1 commit into
mainfrom
changeset-release/main

Conversation

@github-actions

@github-actions github-actions Bot commented Jul 21, 2026

Copy link
Copy Markdown
Contributor

This PR was opened by the Changesets release GitHub action. When you're ready to do a release, you can merge this and the packages will be published to npm automatically. If you're not ready to do a release yet, that's fine, whenever you add more changesets to main, this PR will be updated.

⚠️⚠️⚠️⚠️⚠️⚠️

main is currently in pre mode so this branch has prereleases rather than normal releases. If you want to exit prereleases, run changeset pre exit on main.

⚠️⚠️⚠️⚠️⚠️⚠️

Releases

@workflow/nest@5.0.0-beta.36

Major Changes

  • #2988 542138d Thanks @VaguelySerious! - Add workflow-nest build --vercel command for emitting a Vercel Build Output API directory, enabling deployment of NestJS apps on Vercel. Breaking: NestLocalBuilder moved from the package root to the @workflow/nest/builder (workflow/nest/builder) subpath so importing WorkflowModule no longer pulls the build toolchain into the runtime bundle; the new NestVercelBuilder lives at @workflow/nest/vercel-builder (workflow/nest/vercel-builder).

Patch Changes

  • Updated dependencies [927b61a]:
    • @workflow/builders@5.0.0-beta.36

@workflow/core@5.0.0-beta.36

Minor Changes

  • #2865 a5e6f11 Thanks @NathanColosimo! - Add experimental_minRetention for keeping a Hook token unavailable after its run ends, and require supporting Worlds to advertise the hookRetention capability.

  • #2946 eb8fdb9 Thanks @VaguelySerious! - The WORKFLOW_PRECONDITION_GUARD event-creation guard is now on by default; opt out with WORKFLOW_PRECONDITION_GUARD=0.

Patch Changes

  • #2993 6d1d700 Thanks @NathanColosimo! - Avoid resolving run data before background step execution.

  • #2996 d8071bb Thanks @joeyhotz! - Cache self-hosted step port discovery per process.

  • #2986 fe12b84 Thanks @shalabhc! - Enforce a server-supplied per-run event limit (default 25K)

  • #2970 bb773e9 Thanks @VaguelySerious! - Keep the inline event-log delta fast path active with open hooks when WORKFLOW_PRECONDITION_GUARD=1 and the World declares capabilities.preconditionGuard. The lazy inline step_started claim now carries the guard snapshot so a stale replay's claim is fenced (412 → fresh replay), and guard-enforced batches with an open hook take the await-then-run path so a fenced claim never executes the step body.

  • #2980 268fede Thanks @NathanColosimo! - Prepare encrypted replay payloads concurrently and cache the decrypted, decompressed representation for reuse across inline replay iterations.

  • #3035 9177ba8 Thanks @VaguelySerious! - Enforce maxRetries for inline and backgrounded steps that time out

  • #2995 6353c8c Thanks @VaguelySerious! - Fix stream writes never batching: flushablePipe awaited each writer.write() and the WritableStream sink serialized chunks one at a time, so the server writable's buffer never held more than one chunk and its writeMulti batching path never engaged — every chunk became its own server round trip. The server writable now exposes a durable batch write that flushablePipe uses to coalesce chunks arriving while a previous write is in flight into a single writeMulti, while preserving the existing durability guarantees. Coalesced batches are split at chunk-count and byte wire limits (WORKFLOW_STREAM_MAX_CHUNKS_PER_BATCH, WORKFLOW_STREAM_MAX_BYTES_PER_BATCH), independent of the read-ahead backpressure bound (WORKFLOW_STREAM_MAX_INFLIGHT_CHUNKS).

  • Updated dependencies [7d29bab, fe12b84, 6f032d7, a5e6f11, 850777a, 457e671, eb8fdb9, 9078126, 59c1369, bb773e9, 4ecbe7e]:

    • @workflow/world@5.0.0-beta.22
    • @workflow/world-local@5.0.0-beta.30
    • @workflow/world-vercel@5.0.0-beta.32
    • @workflow/errors@5.0.0-beta.12

@workflow/web-shared@5.0.0-beta.36

Minor Changes

  • #2985 621b04e Thanks @mitul-s! - Trace viewer: holding Alt with a span selected now measures the time delta between the selected span and any hovered span, Figma-style; the no-selection Alt gap overlay is restyled to the same measurement-line design.

Patch Changes

workflow@5.0.0-beta.36

Minor Changes

  • #2946 eb8fdb9 Thanks @VaguelySerious! - The WORKFLOW_PRECONDITION_GUARD event-creation guard is now on by default; opt out with WORKFLOW_PRECONDITION_GUARD=0.

Patch Changes

  • #2980 268fede Thanks @NathanColosimo! - Prepare encrypted replay payloads concurrently and cache the decrypted, decompressed representation for reuse across inline replay iterations.

  • Updated dependencies [6d1d700, d8071bb, fe12b84, a5e6f11, bb773e9, 542138d, 268fede, eb8fdb9, 9177ba8, 6353c8c]:

    • @workflow/core@5.0.0-beta.36
    • @workflow/errors@5.0.0-beta.12
    • @workflow/nest@5.0.0-beta.36
    • @workflow/cli@5.0.0-beta.36
    • @workflow/next@5.0.0-beta.36
    • @workflow/nitro@5.0.0-beta.36
    • @workflow/typescript-plugin@5.0.0-beta.5
    • @workflow/astro@5.0.0-beta.36
    • @workflow/nuxt@5.0.0-beta.36
    • @workflow/rollup@5.0.0-beta.36
    • @workflow/sveltekit@5.0.0-beta.36

@workflow/world@5.0.0-beta.22

Minor Changes

  • #2915 7d29bab Thanks @joeyhotz! - Add runs.getMany() for retrieving ordered workflow run snapshots in one storage operation.

  • #2865 a5e6f11 Thanks @NathanColosimo! - Add experimental_minRetention for keeping a Hook token unavailable after its run ends, and require supporting Worlds to advertise the hookRetention capability.

  • #2970 bb773e9 Thanks @VaguelySerious! - Add an optional capabilities?: WorldCapabilities field to the World interface so implementations can declare backend feature support (preconditionGuard, maxConcurrency) instead of the runtime inferring it from environment variables; the Vercel World declares both.

Patch Changes

  • #2986 fe12b84 Thanks @shalabhc! - Enforce a server-supplied per-run event limit (default 25K)

  • #2946 eb8fdb9 Thanks @VaguelySerious! - The WORKFLOW_PRECONDITION_GUARD event-creation guard is now on by default; opt out with WORKFLOW_PRECONDITION_GUARD=0.

@workflow/world-local@5.0.0-beta.30

Minor Changes

  • #2915 7d29bab Thanks @joeyhotz! - Add runs.getMany() for retrieving ordered workflow run snapshots in one storage operation.

Patch Changes

  • #2987 850777a Thanks @VaguelySerious! - Reject hook_received on terminal runs, including when the termination commits concurrently (cross-process) and for legacy (pre-event-sourcing) runs.

  • Updated dependencies [7d29bab, fe12b84, a5e6f11, eb8fdb9, bb773e9]:

    • @workflow/world@5.0.0-beta.22
    • @workflow/errors@5.0.0-beta.12

@workflow/world-postgres@5.0.0-beta.28

Minor Changes

  • #2915 7d29bab Thanks @joeyhotz! - Add runs.getMany() for retrieving ordered workflow run snapshots in one storage operation.

Patch Changes

  • #2987 850777a Thanks @VaguelySerious! - Reject hook_received on terminal runs, including when the termination commits concurrently (cross-process) and for legacy (pre-event-sourcing) runs.

  • #2983 3ddf42e Thanks @joeyhotz! - Throw EntityConflictError when a run_created event targets a run that already exists, instead of resolving with no run. This matches world-local and world-vercel, and stops start() from throwing Missing 'run' in server response for 'run_created' event when the resilient start path wins the race.

  • Updated dependencies [7d29bab, fe12b84, a5e6f11, 850777a, eb8fdb9, bb773e9]:

    • @workflow/world@5.0.0-beta.22
    • @workflow/world-local@5.0.0-beta.30
    • @workflow/errors@5.0.0-beta.12

@workflow/world-vercel@5.0.0-beta.32

Minor Changes

  • #2915 7d29bab Thanks @joeyhotz! - Add runs.getMany() for retrieving ordered workflow run snapshots in one storage operation.

  • #2865 a5e6f11 Thanks @NathanColosimo! - Add experimental_minRetention for keeping a Hook token unavailable after its run ends, and require supporting Worlds to advertise the hookRetention capability.

Patch Changes

  • #2986 fe12b84 Thanks @shalabhc! - Enforce a server-supplied per-run event limit (default 25K)

  • #2951 6f032d7 Thanks @karthikscale3! - Decode stable-line CBOR structured errors when reading v4 workflow events while preserving current serialized error payloads.

  • #2959 457e671 Thanks @alangenfeld! - Log the underlying queue handler error before retrying a failed delivery.

  • #3013 9078126 Thanks @NathanColosimo! - Retry transient connection timeouts so Eve can resume existing workflow runs after brief network failures.

  • #3038 59c1369 Thanks @karthikscale3! - Retry stream close on retriable 5xx. Close is idempotent on the server (unlike chunk appends, which keep their no-5xx retry policy), and the server may return retriable 503s expecting the writer to close again.

  • #2970 bb773e9 Thanks @VaguelySerious! - Add an optional capabilities?: WorldCapabilities field to the World interface so implementations can declare backend feature support (preconditionGuard, maxConcurrency) instead of the runtime inferring it from environment variables; the Vercel World declares both.

  • #2998 4ecbe7e Thanks @ruiconti! - Append caller-provided user-agent tokens to the world-vercel user-agent instead of discarding them.

  • Updated dependencies [7d29bab, fe12b84, a5e6f11, eb8fdb9, bb773e9]:

    • @workflow/world@5.0.0-beta.22
    • @workflow/errors@5.0.0-beta.12

@workflow/astro@5.0.0-beta.36

Patch Changes

  • Updated dependencies [927b61a]:
    • @workflow/builders@5.0.0-beta.36
    • @workflow/rollup@5.0.0-beta.36
    • @workflow/vite@5.0.0-beta.36

@workflow/builders@5.0.0-beta.36

Patch Changes

@workflow/cli@5.0.0-beta.36

Patch Changes

@workflow/errors@5.0.0-beta.12

Patch Changes

  • #2986 fe12b84 Thanks @shalabhc! - Enforce a server-supplied per-run event limit (default 25K)

  • #2946 eb8fdb9 Thanks @VaguelySerious! - The WORKFLOW_PRECONDITION_GUARD event-creation guard is now on by default; opt out with WORKFLOW_PRECONDITION_GUARD=0.

@workflow/next@5.0.0-beta.36

Patch Changes

@workflow/nitro@5.0.0-beta.36

Patch Changes

@workflow/nuxt@5.0.0-beta.36

Patch Changes

  • Updated dependencies [927b61a]:
    • @workflow/builders@5.0.0-beta.36
    • @workflow/nitro@5.0.0-beta.36

@workflow/rollup@5.0.0-beta.36

Patch Changes

  • Updated dependencies [927b61a]:
    • @workflow/builders@5.0.0-beta.36

@workflow/sveltekit@5.0.0-beta.36

Patch Changes

  • Updated dependencies [927b61a]:
    • @workflow/builders@5.0.0-beta.36
    • @workflow/rollup@5.0.0-beta.36
    • @workflow/vite@5.0.0-beta.36

@workflow/vite@5.0.0-beta.36

Patch Changes

  • Updated dependencies [927b61a]:
    • @workflow/builders@5.0.0-beta.36

@workflow/vitest@5.0.0-beta.36

Patch Changes

@workflow/web@5.0.0-beta.36

Patch Changes

  • Updated dependencies [7d29bab, 850777a]:
    • @workflow/world-local@5.0.0-beta.30

@workflow/world-testing@5.0.0-beta.36

Patch Changes

@github-actions
github-actions Bot requested review from a team and ijjk as code owners July 21, 2026 11:22
@vercel

vercel Bot commented Jul 21, 2026

Copy link
Copy Markdown
Contributor

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

Project Deployment Actions Updated (UTC)
example-nextjs-workflow-turbopack Ready Ready Preview, Comment Jul 22, 2026 12:27am
example-nextjs-workflow-webpack Ready Ready Preview, Comment Jul 22, 2026 12:27am
example-workflow Ready Ready Preview, Comment Jul 22, 2026 12:27am
workbench-astro-workflow Ready Ready Preview, Comment Jul 22, 2026 12:27am
workbench-express-workflow Ready Ready Preview, Comment Jul 22, 2026 12:27am
workbench-fastify-workflow Ready Ready Preview, Comment Jul 22, 2026 12:27am
workbench-hono-workflow Ready Ready Preview, Comment Jul 22, 2026 12:27am
workbench-nestjs-workflow Ready Ready Preview, Comment Jul 22, 2026 12:27am
workbench-nitro-workflow Ready Ready Preview, Comment Jul 22, 2026 12:27am
workbench-nuxt-workflow Ready Ready Preview, Comment Jul 22, 2026 12:27am
workbench-sveltekit-workflow Ready Ready Preview, Comment Jul 22, 2026 12:27am
workbench-tanstack-start-workflow Ready Ready Preview, Comment Jul 22, 2026 12:27am
workbench-vite-workflow Ready Ready Preview, Comment Jul 22, 2026 12:27am
workflow-docs Ready Ready Preview, Comment, Open in v0 Jul 22, 2026 12:27am
workflow-swc-playground Ready Ready Preview, Comment Jul 22, 2026 12:27am
workflow-tarballs Ready Ready Preview, Comment Jul 22, 2026 12:27am
workflow-web Ready Ready Preview, Comment Jul 22, 2026 12:27am

@github-actions github-actions Bot closed this Jul 21, 2026
@github-actions
github-actions Bot force-pushed the changeset-release/main branch from d4cd9d4 to eb8fdb9 Compare July 21, 2026 17:20
@github-actions github-actions Bot reopened this Jul 21, 2026
@github-actions github-actions Bot closed this Jul 21, 2026
@github-actions
github-actions Bot force-pushed the changeset-release/main branch from bd02acd to 850777a Compare July 21, 2026 21:37
@github-actions github-actions Bot reopened this Jul 21, 2026
@github-actions

github-actions Bot commented Jul 22, 2026

Copy link
Copy Markdown
Contributor Author

📊 Workflow Benchmarks

commit b300451 · Wed, 22 Jul 2026 03:53:53 GMT · run logs

Backend: vercel · app: nextjs-turbopack

Metric Scenario Best (ms) P75 (ms) P90 (ms) P99 (ms) Samples
TTFS step 150 (+23%) 🔻 328 🔴 (+37%) 🔻 443 🔴 (+36%) 🔻 3242 🔴 (+652%) 🔻 30
TTFS stream 169 (+9.0%) 347 🔴 (+2.4%) 537 🔴 (+46%) 🔻 2663 🔴 (+475%) 🔻 30
TTFS hook + stream 272 (-12%) 588 🔴 (+27%) 🔻 853 🔴 (+68%) 🔻 2668 🔴 (+330%) 🔻 30
STSO 1020 steps (1-20) 191 (+0.5%) 331 🔴 (+13%) 594 🔴 (+76%) 🔻 731 🔴 (+109%) 🔻 19
STSO 1020 steps (101-120) 270 (+21%) 🔻 352 🔴 (+9.7%) 434 🔴 (-10%) 579 🔴 (+16%) 🔻 19
STSO 1020 steps (1001-1020) 688 (+14%) 871 🔴 (+11%) 1021 🔴 (+17%) 🔻 1040 🔴 (-5.9%) 19
WO 1020 steps 637563 (+21%) 🔻 637563 (+21%) 🔻 637563 (+21%) 🔻 637563 (+21%) 🔻 1
SL stream latency 83 (-7.8%) 169 🔴 (+13%) 186 🔴 (+2.8%) 361 🔴 (+58%) 🔻 30

Best/P75/P90/P99 deltas compare against the most recent benchmark run on main at the time of this run. 🔻 flags a delta worse than +15%, 💚 one better than −15%.

Metrics — TTFS: time to first step body (in-deployment start() → first step body, deployment clocks) · STSO: step-to-step overhead (gap between consecutive step bodies) · WO: workflow overhead (whole-run time outside step bodies, in-deployment anchored) · SL: stream latency (in-deployment write → read propagation, readAt - writtenAt)

Scenarios — step: one trivial no-op step, no stream; no hooks, so the run stays in turbo mode (in-process fast path) · stream: one streaming step; no hooks, so the run stays in turbo mode (in-process fast path) · hook + stream: registers a hook before one step, which exits turbo mode (dispatch path) · 1020 steps: 1020 trivial sequential steps; STSO is measured between consecutive steps in the given step ranges, and WO is the whole-run overhead outside step bodies · stream latency: parallel reader/writer steps on a dedicated stream; SL is the in-deployment write->read propagation (readAt - writtenAt)

🔴 marks a percentile over its target (within target is left unmarked). Targets (p75/p90/p99, ms) — TTFS 200/300/600 · SL 50/60/125 · STSO (1-20) 20/30/60 · STSO (101-120) 30/45/90 · STSO (1001-1020) 40/60/120

All metrics are measured from deployment-side timestamps only. Runs are triggered by an in-deployment route that stamps the anchor (clientStart) right before start(), so the CI runner’s request and its path through api.vercel.com sit outside every measured window. TTFS = in-deployment start() → first step body (turbo uses the in-process fast path, non-turbo the dispatch path), and includes the VQS dispatch hop plus any /flow cold start. STSO/WO are measured between step bodies on the deployment. SL is measured inside the workflow (parallel reader/writer steps), so it no longer includes the api.vercel.com read path.

Cold starts are kept in the numbers on purpose — they are part of real bursty-workload latency. The workbench deployment cold-starts the /flow invocation for a large fraction of runs, inflating P75+; the Best column shows the fastest (warm-start) sample for comparison.

@github-actions

github-actions Bot commented Jul 22, 2026

Copy link
Copy Markdown
Contributor Author

🧪 E2E Test Results

Some tests failed

Summary

Passed Failed Skipped Total
❌ ▲ Vercel Production 1448 7 239 1694
❌ 💻 Local Development 1620 1 227 1848
✅ 📦 Local Production 1621 0 227 1848
✅ 🐘 Local Postgres 1621 0 227 1848
✅ 🪟 Windows 154 0 0 154
✅ 📋 Other 1020 0 212 1232
✅ vercel-multi-region 27 0 0 27
Total 7511 8 1132 8651

❌ Failed Tests

▲ Vercel Production (7 failed)

hono (3 failed):

nitro (4 failed):

💻 Local Development (1 failed)

nuxt-stable (1 failed):

  • concurrent hook token conflict - two workflows cannot use the same hook token simultaneously | wrun_41KY3YT4VV0GQEZZ0JMMF97Y1W

Details by Category

❌ ▲ Vercel Production
App Passed Failed Skipped
✅ astro 126 0 28
✅ example 126 0 28
✅ express 126 0 28
✅ fastify 126 0 28
❌ hono 123 3 28
✅ nextjs-turbopack 151 0 3
✅ nextjs-webpack 151 0 3
❌ nitro 122 4 28
✅ nuxt 126 0 28
✅ sveltekit 145 0 9
✅ vite 126 0 28
❌ 💻 Local Development
App Passed Failed Skipped
✅ astro-stable 128 0 26
✅ express-stable 128 0 26
✅ fastify-stable 128 0 26
✅ hono-stable 128 0 26
✅ nextjs-turbopack-canary 135 0 19
✅ nextjs-turbopack-stable 154 0 0
✅ nextjs-webpack-canary 135 0 19
✅ nextjs-webpack-stable 154 0 0
✅ nitro-stable 128 0 26
❌ nuxt-stable 127 1 26
✅ sveltekit-stable 147 0 7
✅ vite-stable 128 0 26
✅ 📦 Local Production
App Passed Failed Skipped
✅ astro-stable 128 0 26
✅ express-stable 128 0 26
✅ fastify-stable 128 0 26
✅ hono-stable 128 0 26
✅ nextjs-turbopack-canary 135 0 19
✅ nextjs-turbopack-stable 154 0 0
✅ nextjs-webpack-canary 135 0 19
✅ nextjs-webpack-stable 154 0 0
✅ nitro-stable 128 0 26
✅ nuxt-stable 128 0 26
✅ sveltekit-stable 147 0 7
✅ vite-stable 128 0 26
✅ 🐘 Local Postgres
App Passed Failed Skipped
✅ astro-stable 128 0 26
✅ express-stable 128 0 26
✅ fastify-stable 128 0 26
✅ hono-stable 128 0 26
✅ nextjs-turbopack-canary 135 0 19
✅ nextjs-turbopack-stable 154 0 0
✅ nextjs-webpack-canary 135 0 19
✅ nextjs-webpack-stable 154 0 0
✅ nitro-stable 128 0 26
✅ nuxt-stable 128 0 26
✅ sveltekit-stable 147 0 7
✅ vite-stable 128 0 26
✅ 🪟 Windows
App Passed Failed Skipped
✅ nextjs-turbopack 154 0 0
✅ 📋 Other
App Passed Failed Skipped
✅ e2e-local-dev-nest-stable 128 0 26
✅ e2e-local-dev-tanstack-start- 128 0 26
✅ e2e-local-postgres-nest-stable 128 0 26
✅ e2e-local-postgres-tanstack-start- 128 0 26
✅ e2e-local-prod-nest-stable 128 0 26
✅ e2e-local-prod-tanstack-start- 128 0 26
✅ e2e-vercel-prod-nest 126 0 28
✅ e2e-vercel-prod-tanstack-start 126 0 28
✅ vercel-multi-region
App Passed Failed Skipped
✅ nextjs-turbopack 27 0 0

📋 View full workflow run


Some E2E test jobs failed:

  • Vercel Prod: failure
  • Local Dev: failure
  • Local Prod: success
  • Local Postgres: success
  • Windows: success

Check the workflow run for details.

@github-actions

Copy link
Copy Markdown
Contributor Author

No backport to stable for 1225258 (AI decision).

This is a changesets "Version Packages (beta)" release commit that only bumps pre-release versions and updates CHANGELOGs/.changeset/pre.json. Version bump commits and similar release plumbing are explicitly excluded from backporting; stable has its own independent release/versioning flow.

To override, re-run the Backport to stable workflow manually via workflow_dispatch and paste this commit SHA into the ref input:

1225258b5da66be40749c17d12c4e24d32197aa2

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.

1 participant