Version Packages (beta) - #3919
Conversation
e5ac337 to
3c08778
Compare
ba693bc to
5c4eef0
Compare
e989344 to
144b6d7
Compare
6b9acf0 to
4a18b01
Compare
be22f81 to
31dabce
Compare
a025f25 to
9ffd37d
Compare
b95ad88 to
aba7c8d
Compare
54352f3 to
fbfb9fe
Compare
7a1776f to
1280163
Compare
a9fa677 to
63143e5
Compare
a1db784 to
fe2fd8c
Compare
🧪 E2E Test Results✅ All tests passed
|
| Passed | Failed | Skipped | Total | |
|---|---|---|---|---|
| ✅ ▲ Vercel Production | 3636 | 0 | 684 | 4320 |
| ✅ 💻 Local Development | 3922 | 0 | 558 | 4480 |
| ✅ 📦 Local Production | 3922 | 0 | 558 | 4480 |
| ✅ 🐘 Local Postgres | 3922 | 0 | 558 | 4480 |
| ✅ 🪟 Windows | 320 | 0 | 0 | 320 |
| ✅ 🌐 Cross-language Conformance | 68 | 0 | 73 | 141 |
| ✅ vercel-http-transport | 817 | 0 | 143 | 960 |
| ✅ vercel-multi-region | 27 | 0 | 0 | 27 |
| ✅ vercel-ws-transport | 553 | 0 | 87 | 640 |
| Total | 17187 | 0 | 2661 | 19848 |
Details by Category
✅ ▲ Vercel Production
| App | Passed | Failed | Skipped |
|---|---|---|---|
| ✅ astro-node | 132 | 0 | 28 |
| ✅ astro-quickjs | 132 | 0 | 28 |
| ✅ example-node | 132 | 0 | 28 |
| ✅ example-quickjs | 132 | 0 | 28 |
| ✅ express-node | 132 | 0 | 28 |
| ✅ express-quickjs | 132 | 0 | 28 |
| ✅ fastify-node | 132 | 0 | 28 |
| ✅ fastify-quickjs | 132 | 0 | 28 |
| ✅ hono-node | 132 | 0 | 28 |
| ✅ hono-quickjs | 132 | 0 | 28 |
| ✅ nest-node | 132 | 0 | 28 |
| ✅ nest-quickjs | 132 | 0 | 28 |
| ✅ nextjs-turbopack-node | 157 | 0 | 3 |
| ✅ nextjs-turbopack-quickjs | 157 | 0 | 3 |
| ✅ nextjs-webpack-node | 157 | 0 | 3 |
| ✅ nextjs-webpack-quickjs | 157 | 0 | 3 |
| ✅ nitro-node | 132 | 0 | 28 |
| ✅ nitro-quickjs | 132 | 0 | 28 |
| ✅ nuxt-node | 132 | 0 | 28 |
| ✅ nuxt-quickjs | 132 | 0 | 28 |
| ✅ python-node | 66 | 0 | 94 |
| ✅ sveltekit-node | 151 | 0 | 9 |
| ✅ sveltekit-quickjs | 151 | 0 | 9 |
| ✅ tanstack-start-node | 132 | 0 | 28 |
| ✅ tanstack-start-quickjs | 132 | 0 | 28 |
| ✅ vite-node | 132 | 0 | 28 |
| ✅ vite-quickjs | 132 | 0 | 28 |
✅ 💻 Local Development
| App | Passed | Failed | Skipped |
|---|---|---|---|
| ✅ astro-stable-node | 134 | 0 | 26 |
| ✅ astro-stable-quickjs | 134 | 0 | 26 |
| ✅ express-stable-node | 134 | 0 | 26 |
| ✅ express-stable-quickjs | 134 | 0 | 26 |
| ✅ fastify-stable-node | 134 | 0 | 26 |
| ✅ fastify-stable-quickjs | 134 | 0 | 26 |
| ✅ hono-stable-node | 134 | 0 | 26 |
| ✅ hono-stable-quickjs | 134 | 0 | 26 |
| ✅ nest-stable-node | 134 | 0 | 26 |
| ✅ nest-stable-quickjs | 134 | 0 | 26 |
| ✅ nextjs-turbopack-canary-node | 141 | 0 | 19 |
| ✅ nextjs-turbopack-canary-quickjs | 141 | 0 | 19 |
| ✅ nextjs-turbopack-stable-node | 160 | 0 | 0 |
| ✅ nextjs-turbopack-stable-quickjs | 160 | 0 | 0 |
| ✅ nextjs-webpack-canary-node | 141 | 0 | 19 |
| ✅ nextjs-webpack-canary-quickjs | 141 | 0 | 19 |
| ✅ nextjs-webpack-stable-node | 160 | 0 | 0 |
| ✅ nextjs-webpack-stable-quickjs | 160 | 0 | 0 |
| ✅ nitro-stable-node | 134 | 0 | 26 |
| ✅ nitro-stable-quickjs | 134 | 0 | 26 |
| ✅ nuxt-stable-node | 134 | 0 | 26 |
| ✅ nuxt-stable-quickjs | 134 | 0 | 26 |
| ✅ sveltekit-stable-node | 153 | 0 | 7 |
| ✅ sveltekit-stable-quickjs | 153 | 0 | 7 |
| ✅ tanstack-start-node | 134 | 0 | 26 |
| ✅ tanstack-start-quickjs | 134 | 0 | 26 |
| ✅ vite-stable-node | 134 | 0 | 26 |
| ✅ vite-stable-quickjs | 134 | 0 | 26 |
✅ 📦 Local Production
| App | Passed | Failed | Skipped |
|---|---|---|---|
| ✅ astro-stable-node | 134 | 0 | 26 |
| ✅ astro-stable-quickjs | 134 | 0 | 26 |
| ✅ express-stable-node | 134 | 0 | 26 |
| ✅ express-stable-quickjs | 134 | 0 | 26 |
| ✅ fastify-stable-node | 134 | 0 | 26 |
| ✅ fastify-stable-quickjs | 134 | 0 | 26 |
| ✅ hono-stable-node | 134 | 0 | 26 |
| ✅ hono-stable-quickjs | 134 | 0 | 26 |
| ✅ nest-stable-node | 134 | 0 | 26 |
| ✅ nest-stable-quickjs | 134 | 0 | 26 |
| ✅ nextjs-turbopack-canary-node | 141 | 0 | 19 |
| ✅ nextjs-turbopack-canary-quickjs | 141 | 0 | 19 |
| ✅ nextjs-turbopack-stable-node | 160 | 0 | 0 |
| ✅ nextjs-turbopack-stable-quickjs | 160 | 0 | 0 |
| ✅ nextjs-webpack-canary-node | 141 | 0 | 19 |
| ✅ nextjs-webpack-canary-quickjs | 141 | 0 | 19 |
| ✅ nextjs-webpack-stable-node | 160 | 0 | 0 |
| ✅ nextjs-webpack-stable-quickjs | 160 | 0 | 0 |
| ✅ nitro-stable-node | 134 | 0 | 26 |
| ✅ nitro-stable-quickjs | 134 | 0 | 26 |
| ✅ nuxt-stable-node | 134 | 0 | 26 |
| ✅ nuxt-stable-quickjs | 134 | 0 | 26 |
| ✅ sveltekit-stable-node | 153 | 0 | 7 |
| ✅ sveltekit-stable-quickjs | 153 | 0 | 7 |
| ✅ tanstack-start-node | 134 | 0 | 26 |
| ✅ tanstack-start-quickjs | 134 | 0 | 26 |
| ✅ vite-stable-node | 134 | 0 | 26 |
| ✅ vite-stable-quickjs | 134 | 0 | 26 |
✅ 🐘 Local Postgres
| App | Passed | Failed | Skipped |
|---|---|---|---|
| ✅ astro-stable-node | 134 | 0 | 26 |
| ✅ astro-stable-quickjs | 134 | 0 | 26 |
| ✅ express-stable-node | 134 | 0 | 26 |
| ✅ express-stable-quickjs | 134 | 0 | 26 |
| ✅ fastify-stable-node | 134 | 0 | 26 |
| ✅ fastify-stable-quickjs | 134 | 0 | 26 |
| ✅ hono-stable-node | 134 | 0 | 26 |
| ✅ hono-stable-quickjs | 134 | 0 | 26 |
| ✅ nest-stable-node | 134 | 0 | 26 |
| ✅ nest-stable-quickjs | 134 | 0 | 26 |
| ✅ nextjs-turbopack-canary-node | 141 | 0 | 19 |
| ✅ nextjs-turbopack-canary-quickjs | 141 | 0 | 19 |
| ✅ nextjs-turbopack-stable-node | 160 | 0 | 0 |
| ✅ nextjs-turbopack-stable-quickjs | 160 | 0 | 0 |
| ✅ nextjs-webpack-canary-node | 141 | 0 | 19 |
| ✅ nextjs-webpack-canary-quickjs | 141 | 0 | 19 |
| ✅ nextjs-webpack-stable-node | 160 | 0 | 0 |
| ✅ nextjs-webpack-stable-quickjs | 160 | 0 | 0 |
| ✅ nitro-stable-node | 134 | 0 | 26 |
| ✅ nitro-stable-quickjs | 134 | 0 | 26 |
| ✅ nuxt-stable-node | 134 | 0 | 26 |
| ✅ nuxt-stable-quickjs | 134 | 0 | 26 |
| ✅ sveltekit-stable-node | 153 | 0 | 7 |
| ✅ sveltekit-stable-quickjs | 153 | 0 | 7 |
| ✅ tanstack-start-node | 134 | 0 | 26 |
| ✅ tanstack-start-quickjs | 134 | 0 | 26 |
| ✅ vite-stable-node | 134 | 0 | 26 |
| ✅ vite-stable-quickjs | 134 | 0 | 26 |
✅ 🪟 Windows
| App | Passed | Failed | Skipped |
|---|---|---|---|
| ✅ nextjs-turbopack-node | 160 | 0 | 0 |
| ✅ nextjs-turbopack-quickjs | 160 | 0 | 0 |
✅ 🌐 Cross-language Conformance
| App | Passed | Failed | Skipped |
|---|---|---|---|
| ✅ python | 68 | 0 | 73 |
✅ vercel-http-transport
| App | Passed | Failed | Skipped |
|---|---|---|---|
| ✅ example | 132 | 0 | 28 |
| ✅ express | 132 | 0 | 28 |
| ✅ hono | 132 | 0 | 28 |
| ✅ nextjs-turbopack | 157 | 0 | 3 |
| ✅ nitro | 132 | 0 | 28 |
| ✅ vite | 132 | 0 | 28 |
✅ vercel-multi-region
| App | Passed | Failed | Skipped |
|---|---|---|---|
| ✅ nextjs-turbopack | 27 | 0 | 0 |
✅ vercel-ws-transport
| App | Passed | Failed | Skipped |
|---|---|---|---|
| ✅ example | 132 | 0 | 28 |
| ✅ express | 132 | 0 | 28 |
| ✅ nextjs-turbopack | 157 | 0 | 3 |
| ✅ vite | 132 | 0 | 28 |
Sim WorldSimulated world deterministic testing for races. Traces 🟠 world-sim scenario book — 1 fail of 41 total
Full trace: |
|
No backport to This is a changesets-generated "Version Packages (beta)" commit that only bumps package versions, appends CHANGELOG entries, and updates To override, re-run the Backport to stable workflow manually via |
…c-workflow-source * origin/main: (22 commits) feat(streams): add writer session seam (#3832) docs: document WORKFLOW_NODE_HTTP in the v4 World docs (#4050) [world-vercel] Honor WORKFLOW_NODE_HTTP on the queue transport (#4044) feat(streams): add WebSocket capability gate (#3764) fix(world-local): retry JSON reads on Windows (#4051) [core] Add the wake-loop scenario to the event log race repro (#4017) [ci] Cap concurrent Vercel E2E action repo-wide (10 by default) (#4039) Add `Run#getWritable()` for appending to another run's stream (#3972) feat(streams): add WebSocket v1 client protocol contract (#3763) [swc-playground] Update to Next.js v16.3.4 (#4018) [core] Add a retention option to start() (#3787) fix(swc-plugin): register class expressions via an IIFE instead of by name (#3971) [docs] Fix prose typos across v4/v5 docs and the SWC plugin README (#3948) Validate pending changesets in CI so a bad one fails the PR, not the Release job (#3964) Version Packages (beta) (#3919) Classify Workflow stream failures (#3850) Drop the ignored @workflow/world-sim package from the hook_conflict delta changeset (#3963) Add attribute inspection to the CLI (#3950) [core] Settle a hook's awaiter in-process instead of re-invoking, on creation and on conflict (#3938) Use the storage APIs for run detail views (#3944) ...

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.
mainis currently in pre mode so this branch has prereleases rather than normal releases. If you want to exit prereleases, runchangeset pre exitonmain.Releases
@workflow/cli@5.0.0-beta.48
Minor Changes
#3950
f9073d0Thanks @karthikscale3! - Addwf inspect attributes, which lists the attribute keys recorded on your runs with a run count and when each was first and last seen, andwf inspect runs --attribute key=value(repeatable) to filter runs by them.wf cancelnow resolves the plan's listing window once instead of once per status, removing a redundant request.wf inspect sleepsnow falls back to the event log when the analytics read is unavailable, rather than ending the command. Plan, access, and invalid-argument failures are still reported, since their messages tell you what to do.--limit,--runIdand--attributeare checked before any backend work, so a mistyped value or a flag given to a listing that cannot use it names the flag instead of being ignored, and an argument the read path rejects is now reported rather than raised as an unhandled error.wf inspect events --hookIdnow filters events to that hook. The flag parsed and was then dropped before the listing read it, so it returned the run's whole event list.wf inspect --limitnow accepts 1-100, matching what the listings actually serve. Run-scoped listings previously took values up to 1000 and failed against the backend for anything above 100.wf cancel --limitis bounded the same way, down from an advertised 500 that no backend accepted.Patch Changes
#3850
fe2fd8cThanks @alangenfeld! - Add a catchableStreamErrorand classify Workflow stream infrastructure failures asSTREAM_ERRORinstead ofUSER_ERROR.Updated dependencies [
fbfb9fe,564ad39,7cc5c88,7cc5c88,4a18b01,3c08778,fe2fd8c,31dabce,5c4eef0,1280163]:@workflow/errors@5.0.0-beta.20
Minor Changes
#3943
fbfb9feThanks @karthikscale3! - Validateworld.analyticsarguments up front: an invalid id, an out-of-range page limit, an oversized attribute filter, or a half-openstartTime/endTimewindow now throws aWorkflowWorldErrorwithcode: 'INVALID_ARGUMENT'andfieldset to the offending parameter, instead of failing the request. The message names the method, the parameter, and what it received. AddsANALYTICS_RUN_SCOPED_PAGE_LIMIT,ANALYTICS_PAGE_LIMITandANALYTICS_MAX_ATTRIBUTE_FILTERS.Deprecate
analytics.events.listByCorrelationId()in favour ofanalytics.events.list({ runId, correlationId }).Fix
analytics.attributes.list()timestamps being shifted by the local UTC offset.#3850
fe2fd8cThanks @alangenfeld! - Add a catchableStreamErrorand classify Workflow stream infrastructure failures asSTREAM_ERRORinstead ofUSER_ERROR.workflow@5.0.0-beta.48
Minor Changes
fe2fd8cThanks @alangenfeld! - Add a catchableStreamErrorand classify Workflow stream infrastructure failures asSTREAM_ERRORinstead ofUSER_ERROR.Patch Changes
fbfb9fe,564ad39,f9073d0,7cc5c88,3c08778,fe2fd8c,31dabce]:@workflow/world@5.0.0-beta.33
Minor Changes
#3943
fbfb9feThanks @karthikscale3! - Validateworld.analyticsarguments up front: an invalid id, an out-of-range page limit, an oversized attribute filter, or a half-openstartTime/endTimewindow now throws aWorkflowWorldErrorwithcode: 'INVALID_ARGUMENT'andfieldset to the offending parameter, instead of failing the request. The message names the method, the parameter, and what it received. AddsANALYTICS_RUN_SCOPED_PAGE_LIMIT,ANALYTICS_PAGE_LIMITandANALYTICS_MAX_ATTRIBUTE_FILTERS.Deprecate
analytics.events.listByCorrelationId()in favour ofanalytics.events.list({ runId, correlationId }).Fix
analytics.attributes.list()timestamps being shifted by the local UTC offset.Patch Changes
#3938
7cc5c88Thanks @pranaygp! - Answer thesinceCursorevent-log delta on ahook_conflictwrite the same way as onhook_created.#3914
4a18b01Thanks @shalabhc! - Accept lazy completed and failed runs whose payload is represented by a remote reference.#3901
5c4eef0Thanks @NathanColosimo! - Upgrade repository tooling and CI from pnpm 10 to pnpm 11.@workflow/world-vercel@5.0.0-beta.44
Minor Changes
#3943
fbfb9feThanks @karthikscale3! - Validateworld.analyticsarguments up front: an invalid id, an out-of-range page limit, an oversized attribute filter, or a half-openstartTime/endTimewindow now throws aWorkflowWorldErrorwithcode: 'INVALID_ARGUMENT'andfieldset to the offending parameter, instead of failing the request. The message names the method, the parameter, and what it received. AddsANALYTICS_RUN_SCOPED_PAGE_LIMIT,ANALYTICS_PAGE_LIMITandANALYTICS_MAX_ATTRIBUTE_FILTERS.Deprecate
analytics.events.listByCorrelationId()in favour ofanalytics.events.list({ runId, correlationId }).Fix
analytics.attributes.list()timestamps being shifted by the local UTC offset.Patch Changes
#3850
fe2fd8cThanks @alangenfeld! - Add a catchableStreamErrorand classify Workflow stream infrastructure failures asSTREAM_ERRORinstead ofUSER_ERROR.Updated dependencies [
fbfb9fe,7cc5c88,4a18b01,fe2fd8c,5c4eef0]:@workflow/astro@5.0.0-beta.48
Patch Changes
@workflow/builders@5.0.0-beta.48
Patch Changes
fbfb9fe,564ad39,7cc5c88,3c08778,fe2fd8c,31dabce]:@workflow/core@5.0.0-beta.48
Patch Changes
#3882
564ad39Thanks @ctgowrie! - Stop framed stream reconnects after the consumer cancels, including while completion checks or reconnect acquisition are still pending.#3938
7cc5c88Thanks @pranaygp! - Settle a hook's awaiter in the invocation that wrote itshook_createdorhook_conflict, instead of re-invoking through the queue and replaying. Falls back to an incremental read when the World returns no delta, and to the re-invocation underWORKFLOW_RETAINED_VM=0.#3892
3c08778Thanks @NathanColosimo! - Retain a live workflow VM across inline progress when sleeps are open or created at the same suspension boundary.#3850
fe2fd8cThanks @alangenfeld! - Add a catchableStreamErrorand classify Workflow stream infrastructure failures asSTREAM_ERRORinstead ofUSER_ERROR.#3871
31dabceThanks @alangenfeld! - Prefetch run encryption keys when reading workflow streams.Updated dependencies [
fbfb9fe,7cc5c88,4a18b01,fe2fd8c,5c4eef0]:@workflow/nest@5.0.0-beta.48
Patch Changes
@workflow/next@5.0.0-beta.48
Patch Changes
564ad39,7cc5c88,3c08778,fe2fd8c,31dabce]:@workflow/nitro@5.0.0-beta.48
Patch Changes
fbfb9fe,564ad39,7cc5c88,3c08778,fe2fd8c,31dabce,1280163]:@workflow/nuxt@5.0.0-beta.48
Patch Changes
@workflow/rollup@5.0.0-beta.48
Patch Changes
@workflow/sveltekit@5.0.0-beta.48
Patch Changes
@workflow/vite@5.0.0-beta.48
Patch Changes
@workflow/vitest@5.0.0-beta.48
Patch Changes
fbfb9fe,564ad39,7cc5c88,7cc5c88,4a18b01,3c08778,fe2fd8c,31dabce,5c4eef0]:@workflow/web@5.0.0-beta.48
Patch Changes
#3943
fbfb9feThanks @karthikscale3! - Validateworld.analyticsarguments up front: an invalid id, an out-of-range page limit, an oversized attribute filter, or a half-openstartTime/endTimewindow now throws aWorkflowWorldErrorwithcode: 'INVALID_ARGUMENT'andfieldset to the offending parameter, instead of failing the request. The message names the method, the parameter, and what it received. AddsANALYTICS_RUN_SCOPED_PAGE_LIMIT,ANALYTICS_PAGE_LIMITandANALYTICS_MAX_ATTRIBUTE_FILTERS.Deprecate
analytics.events.listByCorrelationId()in favour ofanalytics.events.list({ runId, correlationId }).Fix
analytics.attributes.list()timestamps being shifted by the local UTC offset.#3944
1280163Thanks @karthikscale3! - Fixes the trace and events tabs coming up empty when viewing older runs, and gaps in a run's events while it is still executing. The events tab's id search now stops after fewer pages before reporting a truncated result, and the unusedfetchStepsserver action is removed.Updated dependencies [
7cc5c88]:@workflow/web-shared@5.0.0-beta.48
Patch Changes
#3850
fe2fd8cThanks @alangenfeld! - Add a catchableStreamErrorand classify Workflow stream infrastructure failures asSTREAM_ERRORinstead ofUSER_ERROR.Updated dependencies [
fbfb9fe,564ad39,7cc5c88,7cc5c88,4a18b01,3c08778,fe2fd8c,31dabce,5c4eef0]:@workflow/world-local@5.0.0-beta.42
Patch Changes
#3938
7cc5c88Thanks @pranaygp! - Answer thesinceCursorevent-log delta on ahook_conflictwrite the same way as onhook_created.Updated dependencies [
fbfb9fe,7cc5c88,4a18b01,fe2fd8c,5c4eef0]:@workflow/world-postgres@5.0.0-beta.40
Patch Changes
#3901
5c4eef0Thanks @NathanColosimo! - Upgrade repository tooling and CI from pnpm 10 to pnpm 11.Updated dependencies [
fbfb9fe,7cc5c88,4a18b01,fe2fd8c,5c4eef0]:@workflow/world-testing@5.0.0-beta.48
Patch Changes
#3901
5c4eef0Thanks @NathanColosimo! - Upgrade repository tooling and CI from pnpm 10 to pnpm 11.Updated dependencies [
fbfb9fe,564ad39,f9073d0,7cc5c88,7cc5c88,4a18b01,3c08778,fe2fd8c,31dabce,5c4eef0]: