Releases: vercel/workflow
Releases · vercel/workflow
workflow@5.0.0-beta.20
Immutable
release. Only release title and notes can be modified.
@workflow/core@5.0.0-beta.20
- #2525
7aee0d4@TooTallNate - Derive the workflow VM's deterministic RNG seed fromrunId:workflowName:deploymentId(instead of including the run'sstartedAt) and its initial fixed clock from the ULID timestamp embedded inrunId. These inputs are all available the moment a queue message arrives, decoupling VM setup from therun_startedround-trip. Note: this changes the seed-derived value sequence (step/hook correlation IDs, nanoids, random values) for a given run, so runs started before this change must not be replayed across the upgrade. - #2516
84ccd40@VaguelySerious - Inline execution now runs up toWORKFLOW_MAX_INLINE_STEPS(default 3) steps in parallel per suspension, each lazily created. An opt-inWORKFLOW_OPTIMISTIC_INLINE_START(default off) additionally starts step bodies beforestep_startedis confirmed, reconciling the in-flight start before the terminal write so a lost create-claim is discarded; it is off by default because under contention a step body can run more than once (e.g. two runs writing to the workflow stream can corrupt it), so only enable it for idempotent steps. - #2473
16b3670@pranaygp - Drain consecutively consumable replay events in a single synchronous pass instead of oneprocess.nextTickper event, removing O(N) macrotask hops from replay. - #2475
2074f91@pranaygp - Skip the per-step incrementalevents.listround-trip in the inline sequential loop by consuming an event-log delta returned from the step's terminal write (gated to the single-step case with no open hooks or waits). - #2478
e7ef9d8@pranaygp - Lazy inline step start: the owned-inline runtime path now sends a singlestep_startedcarrying the step input, letting the world create the step on the fly and saving one round-trip per inline step. - #2522
722bb7c@VaguelySerious - Cache the local dev server port per process so workflow replays no longer re-run OS port discovery (which spawnslsofon macOS, ~60ms) on every replay. - #2527
de91f20@karthikscale3 - RefineWORKFLOW_TRACE_MODE=linked(the default) so each queue-deliveredworkflow.execute/step.executespan nests under its local delivery context instead of starting a new trace root. - #2511
ab2e9b8@VaguelySerious - EmitworkflowNameon per-step events (step_created,step_completed, and lazy-startstep_started) so Worlds can access it without additional queries - #2471
939890d@pranaygp - Cache the compiled workflow-bundlevm.Scriptper process so replays reuse the compiled bundle instead of re-parsing it on every iteration. - #2490
a92c16d@pranaygp - Reject an explicit empty-stringtokenincreateHook(). Omit the option (or passundefined) to get a randomly generated token, or pass a non-empty string. - #2529
37312ed@pranaygp - Speed up workflow stack-trace remapping when source maps are absent (production default): skip bundle scanning when no frame references the workflow file and memoize parsed source maps per bundle.
@workflow/world@5.0.0-beta.12
- #2475
2074f91@pranaygp - Skip the per-step incrementalevents.listround-trip in the inline sequential loop by consuming an event-log delta returned from the step's terminal write (gated to the single-step case with no open hooks or waits). - #2478
e7ef9d8@pranaygp - Lazy inline step start: the owned-inline runtime path now sends a singlestep_startedcarrying the step input, letting the world create the step on the fly and saving one round-trip per inline step. - #2511
ab2e9b8@VaguelySerious - EmitworkflowNameon per-step events (step_created,step_completed, and lazy-startstep_started) so Worlds can access it without additional queries
@workflow/world-local@5.0.0-beta.20
- #2534
b563126@NathanColosimo - Updateundicito 7.28.0. - #2475
2074f91@pranaygp - Skip the per-step incrementalevents.listround-trip in the inline sequential loop by consuming an event-log delta returned from the step's terminal write (gated to the single-step case with no open hooks or waits). - #2478
e7ef9d8@pranaygp - Lazy inline step start: the owned-inline runtime path now sends a singlestep_startedcarrying the step input, letting the world create the step on the fly and saving one round-trip per inline step. - #2508
1332da3@karthikscale3 - Add run IDs on world storage telemetry spans.
@workflow/world-postgres@5.0.0-beta.18
- #2478
e7ef9d8@pranaygp - Lazy inline step start: the owned-inline runtime path now sends a singlestep_startedcarrying the step input, letting the world create the step on the fly and saving one round-trip per inline step.
@workflow/world-vercel@5.0.0-beta.19
- #2534
b563126@NathanColosimo - Updateundicito 7.28.0. - #2475
2074f91@pranaygp - Skip the per-step incrementalevents.listround-trip in the inline sequential loop by consuming an event-log delta returned from the step's terminal write (gated to the single-step case with no open hooks or waits). - #2478
e7ef9d8@pranaygp - Lazy inline step start: the owned-inline runtime path now sends a singlestep_startedcarrying the step input, letting the world create the step on the fly and saving one round-trip per inline step. - #2508
1332da3@karthikscale3 - Add run IDs on world storage telemetry spans. - #2514
fb5abbb@VaguelySerious - Route v4 event requests through the globalfetchso they appear in the Vercel observability log viewer's outgoing-requests view again. - #2533
90efb96@karthikscale3 - Inject W3C trace context (traceparent/tracestate/baggage) on v4 event requests, which previously bypassed it viafetchV4— restoring workflow-server span correlation for traffic from the flow route. No-op when no OpenTelemetry SDK is registered.
@workf...
workflow@5.0.0-beta.19
Immutable
release. Only release title and notes can be modified.
@workflow/world-vercel@5.0.0-beta.18
- #2486
26fd184@VaguelySerious - Honor the server's explicit pagination flag when listing run events, avoiding one extra empty-page request per event-log load on replay.
workflow@5.0.0-beta.18
Immutable
release. Only release title and notes can be modified.
@workflow/core@5.0.0-beta.18
- #2394
5f0b845@pranaygp - Compress serialized payloads (step inputs/outputs, workflow arguments/return values, errors, hook payloads) before storage using composable codec format prefixes. zstd is the preferred codec (markedly faster than gzip at an equal-or-better ratio, vianode:zlib); gzip (CompressionStream) is the portable fallback when zstd is unavailable. Reads dispatch on the prefix, so both codecs are always decodable. Compression is applied before encryption, gated on run specVersion 5, and skipped for small or incompressible payloads.WORKFLOW_DISABLE_COMPRESSION=1disables writes;WORKFLOW_COMPRESSION_CODEC=gzipforces the portable codec. - #2394
5f0b845@pranaygp - Emit OpenTelemetry span attributes for payload compression on the serialize (write) and deserialize (read) paths:workflow.serialization.{operation,compressed,uncompressed_bytes,stored_bytes,compression_ratio}. Sizes are measured at the compression boundary (pre-encryption). Telemetry failures never affect serialization. - #2397
4b7a720@pranaygp -start({ deploymentId: 'latest' })is now a no-op in Worlds that don't support atomic deployments (local dev, Postgres) instead of throwing — it logs a warning and targets the current deployment, so workflows that use'latest'on Vercel still run locally. - #2470
3c79c56@TooTallNate - Fix the payload-compression capability cutoff: gzip/zstd are gated on5.0.0-beta.18(the first published version containing the compression read path) instead of5.0.0-beta.16. The previous cutoff would let a producer write compressed payloads to a beta.16/beta.17 target that cannot decode them.
@workflow/cli@5.0.0-beta.18
- #2467
cb18139@pranaygp - Add a--urlflag toinspect/webthat prints the run's dashboard deep link to stdout and exits (no browser, no server), and fix the Vercel dashboard URL to use the current…/workflows/runs/<id>?environment=<env>route (respecting--env).
@workflow/world@5.0.0-beta.11
- #2394
5f0b845@pranaygp - BumpSPEC_VERSION_CURRENTto 5 (SPEC_VERSION_SUPPORTS_COMPRESSION): runs at spec 5+ may contain gzip-compressed payloads, and older SDKs reject them viarequiresNewerWorld()instead of failing on individual payloads.
@workflow/world-vercel@5.0.0-beta.17
- #2394
5f0b845@pranaygp - Advertise specVersion 5 so new Vercel runs are eligible for gzip payload compression. The workflow-server declared spec-5 support in vercel/workflow-server#520; payloads remain opaque to the server (compression is client-side). Spec 5 is a superset of spec 4, so initial run attributes still work. - #2415
6aa1ce0@VaguelySerious - Skip transferring event payload bytes when listing events withresolveData: 'none'using the v4 API.
@workflow/world-testing@5.0.0-beta.18
- #2462
d047251@pranaygp - Bump thehonodependency to 4.12.25 to resolve CVE-2026-54290 (GHSA-88fw-hqm2-52qc, CORS middleware reflects any origin with credentials when origin defaults to the wildcard).
@workflow/web-shared@5.0.0-beta.18
- #2452
2acf13c@mitul-s - Add point-in-time event markers (hook resumptions, attribute writes) to the trace timeline. - #2394
5f0b845@pranaygp - Decode zstd-compressed workflow payloads in the observability UI. Since the WebDecompressionStreamhas no zstd support, the web o11y registers a WASM-backed zstd decoder (@tootallnate/zstd-wasm) with@workflow/corebefore hydrating payloads; the WASM is compiled lazily on first use. - #2459
8edd84d@mitul-s - Detail panel cleanup: module copy button, step id spacing, line for trace state - #2366
8f69733@mitul-s - Auto-scroll the trace viewer when navigating spans with theJ/Kkeys (or the up/down chevrons) so the newly-selected span is always revealed when it falls outside the visible area. - #2483
2599da0@mitul-s - Adjust attributes panel UI - #2474
0090788@mitul-s - Yse solid gray for queued trace segment
@workflow/swc-plugin@5.0.0-beta.5
- #2484
da37349@karthikscale3 - Fix detect mode discovery for object-property step handlers so eager builds register steps declared in callback objects. - #2398
53ede30@pranaygp - Fix dead-code elimination stripping module-scope declarations referenced only by a destructuring-default initializer (e.g.const { ttl = TTL } = options;), which caused a runtimeReferenceErrorwhen the default fired.
@workflow/builders@5.0.0-beta.18
- #2455
7440244@TooTallNate - Fix Next.js lazy discovery workflow IDs for monorepo workspace packages by resolving module specifiers relative to the app package instead of the tracing root.
@workflow/next@5.0.0-beta.18
- #2455
7440244@TooTallNate - Fix Next.js lazy discovery workflow IDs for monorepo workspace packages by resolving module specifiers relative to the app package instead of the tracing root. - #2438
d4dd6f9@ijjk - Rebuild deferred Next.js workflow entries when workflow modules recompile during dev.
@workflow/astro@5.0.0-beta.18
- #2457
b92dfbb@pranaygp - Bump theastrodev dependency to 6.4.6 to resolve CVE-2026-54299 (GHSA-2pvr-wf23-7pc7, host header SSRF in prerendered error page fetch).
workflow@4.5.0
Immutable
release. Only release title and notes can be modified.
@workflow/core@4.5.0
- #2373
296b785@pranaygp - Replacehook.hasConflict(aPromise<boolean>property) withhook.getConflict(), a method returning a promise that suspends the workflow to commit hook registration and resolves with{ runId }identifying the conflicting run when another active hook owns the token (ornullonce the hook is registered), without waiting for hook payload data. Code usingawait hook.hasConflictshould migrate toconst conflict = await hook.getConflict()and branch onconflict !== null. - #2305
9c667e0@willsather - Add an optionalnamespaceparameter that scopes queue topic prefixes to__{namespace}_wkf_workflow_*. This allows configuring multiple frameworks in the same deployment without queue topic collision. - #2345
2100fc3@pranaygp - Fix unhandled rejection whenstep_created/wait_createdcalls fail inwaitUntil - #2336
4291c59@TooTallNate - Fix unexpected rejections inwaitUntilcausing process crashes - #1847
73975ad@VaguelySerious - Auto-reconnectgetReadable()streams on server close or transient errors
@workflow/cli@4.2.10
- #2395
15507bd@pranaygp - Upgrade esbuild to ^0.28.1 to resolve GHSA-gv7w-rqvm-qjhr (missing binary integrity verification before executing downloaded binaries).
@workflow/world@4.2.0
- #2305
9c667e0@willsather - Add an optionalnamespaceparameter that scopes queue topic prefixes to__{namespace}_wkf_workflow_*. This allows configuring multiple frameworks in the same deployment without queue topic collision.
@workflow/world-local@4.2.0
- #2305
9c667e0@willsather - Add an optionalnamespaceparameter that scopes queue topic prefixes to__{namespace}_wkf_workflow_*. This allows configuring multiple frameworks in the same deployment without queue topic collision. - #2399
b5569a8@VaguelySerious - Update @vercel/queues from 0.3.0 to 0.3.1, which adds native retries for 429s and ECONNRESET
@workflow/world-postgres@4.2.0
- #2305
9c667e0@willsather - Add an optionalnamespaceparameter that scopes queue topic prefixes to__{namespace}_wkf_workflow_*. This allows configuring multiple frameworks in the same deployment without queue topic collision. - #2399
b5569a8@VaguelySerious - Update @vercel/queues from 0.3.0 to 0.3.1, which adds native retries for 429s and ECONNRESET
@workflow/world-vercel@4.4.1
- #2338
253eeea@xujustinj - Usevitest runinstead of watch mode so localpnpm testexits cleanly. - #1847
73975ad@VaguelySerious - Propagate client stream cancellation - #2399
b5569a8@VaguelySerious - Update @vercel/queues from 0.3.0 to 0.3.1, which adds native retries for 429s and ECONNRESET
@workflow/world-testing@4.1.10
- #2338
253eeea@xujustinj - Usevitest runinstead of watch mode so localpnpm testexits cleanly.
@workflow/builders@4.1.0
- #2305
9c667e0@willsather - Add an optionalnamespaceparameter that scopes queue topic prefixes to__{namespace}_wkf_workflow_*. This allows configuring multiple frameworks in the same deployment without queue topic collision. - #2395
15507bd@pranaygp - Upgrade esbuild to ^0.28.1 to resolve GHSA-gv7w-rqvm-qjhr (missing binary integrity verification before executing downloaded binaries).
workflow@5.0.0-beta.17
Immutable
release. Only release title and notes can be modified.
@workflow/core@5.0.0-beta.17
- #2363
926a5e7@karthikscale3 - AddWORKFLOW_TRACE_MODEwith a newlinkeddefault: each workflow/step invocation span is now its own trace root with span links to the delivery and run-origin contexts, instead of one trace spanning the entire run. world-vercel now explicitly injects W3Ctraceparent/tracestate/baggageheaders on outgoing workflow-server requests.
@workflow/world-vercel@5.0.0-beta.16
- #2363
926a5e7@karthikscale3 - AddWORKFLOW_TRACE_MODEwith a newlinkeddefault: each workflow/step invocation span is now its own trace root with span links to the delivery and run-origin contexts, instead of one trace spanning the entire run. world-vercel now explicitly injects W3Ctraceparent/tracestate/baggageheaders on outgoing workflow-server requests.
@workflow/builders@5.0.0-beta.17
@workflow/next@5.0.0-beta.17
- #2417
1946718@TooTallNate - Clarify that workflow packages removed fromserverExternalPackagesare still compiled during the build.
@workflow/utils@5.0.0-beta.4
- #2363
926a5e7@karthikscale3 - AddWORKFLOW_TRACE_MODEwith a newlinkeddefault: each workflow/step invocation span is now its own trace root with span links to the delivery and run-origin contexts, instead of one trace spanning the entire run. world-vercel now explicitly injects W3Ctraceparent/tracestate/baggageheaders on outgoing workflow-server requests.
workflow@5.0.0-beta.16
Immutable
release. Only release title and notes can be modified.
@workflow/core@5.0.0-beta.16
- #2385
628795a@pranaygp - Add anallowReservedAttributesoption tostart()so framework-level callers can seed reserved$-prefixed run attributes at creation, matching the existingexperimental_setAttributesoption. The flag is carried through the resilient-start queue input so lazy run creation validates identically.
@workflow/cli@5.0.0-beta.16
- #2395
011d482@pranaygp - Upgrade esbuild to ^0.28.1 to resolve GHSA-gv7w-rqvm-qjhr (missing binary integrity verification before executing downloaded binaries).
@workflow/world@5.0.0-beta.10
- #2385
628795a@pranaygp - Add anallowReservedAttributesoption tostart()so framework-level callers can seed reserved$-prefixed run attributes at creation, matching the existingexperimental_setAttributesoption. The flag is carried through the resilient-start queue input so lazy run creation validates identically.
@workflow/world-local@5.0.0-beta.17
- #2399
af859c3@VaguelySerious - Update @vercel/queues from 0.3.0 to 0.3.1, which adds native retries for 429s and ECONNRESET
@workflow/world-postgres@5.0.0-beta.15
- #2399
af859c3@VaguelySerious - Update @vercel/queues from 0.3.0 to 0.3.1, which adds native retries for 429s and ECONNRESET
@workflow/world-vercel@5.0.0-beta.15
- #2055
0178fa5@VaguelySerious - New internal API format: separately encode event metadata from user payloads. Eliminates the need for calling separate endpoints for ref resolution, which improves performance especially on longer runs. - #2399
af859c3@VaguelySerious - Update @vercel/queues from 0.3.0 to 0.3.1, which adds native retries for 429s and ECONNRESET
@workflow/web-shared@5.0.0-beta.16
- #2328
56dcf5f@mitul-s - Add RelativeTimeCard. - #2393
dde689a@pranaygp - Renderattr_setevents across the observability UI: diamond markers on the trace timeline, expandable change payloads (keys set/removed and the writer) in the run sidebar and Events tab, and a key-value Attributes card on run details with reserved$-prefixed keys badged.
@workflow/builders@5.0.0-beta.16
- #2395
011d482@pranaygp - Upgrade esbuild to ^0.28.1 to resolve GHSA-gv7w-rqvm-qjhr (missing binary integrity verification before executing downloaded binaries).
workflow@5.0.0-beta.15
Immutable
release. Only release title and notes can be modified.
@workflow/core@5.0.0-beta.15
- #1853
303b6da@TooTallNate - Add opt-in wire-level framing for byte streams (type: 'bytes') so consumers can identify chunk boundaries — a prerequisite for transparent auto-reconnect. The framing decision is gated on a newframedByteStreamscapability and recorded per-stream in the serialized ref (framing: 'framed-v1'); legacy raw streams continue to work unchanged. - #2373
01c8c08@pranaygp - Replacehook.hasConflict(aPromise<boolean>property) withhook.getConflict(), a method returning a promise that suspends the workflow to commit hook registration and resolves with the conflictingRunwhen another active hook owns the token (ornullonce the hook is registered), without waiting for hook payload data. Code usingawait hook.hasConflictshould migrate toconst conflict = await hook.getConflict()and branch onconflict !== null. - #2226
ae8d6fe@pranaygp - Allow passing initial run attributes throughstart(), and speed up workflow-levelsetAttributecalls by using native events for recording attributes. - #1925
b3279f8@VaguelySerious - V2 suspension processing: unify wait + step queue dispatch into a single parallel batch. The runtime now queues every pending operation (non-inline steps + wait timer) in onePromise.alland then inline-executes one owned step (if any). The asymmetric{ timeoutSeconds }return contract for waits is dropped from suspension processing; waits become normal queue continuations withdelaySeconds, deduplicated per wait so repeated suspension passes don't accumulate delayed messages. Continuation delays are clamped to 23h (VQS's message-retention bound) with longer waits chained across hop-keyed messages, so multi-daysleep()s work on every world. This restores inline step execution forPromise.race(step, sleep)workflows without any of the carve-outs the prior fix needed: even when the inline step blocks the handler, the wait continuation fires in parallel and drives the next replay. As part of the same change,world-local's queue now honorsdelaySeconds(matchesworld-vercel/world-postgres), and itsclose()aborts pending delayed deliveries and retry sleeps so dev-server/test shutdown isn't held open by wait timers.
@workflow/world@5.0.0-beta.9
- #2226
ae8d6fe@pranaygp - Allow passing initial run attributes throughstart(), and speed up workflow-levelsetAttributecalls by using native events for recording attributes.
@workflow/world-local@5.0.0-beta.16
- #2226
ae8d6fe@pranaygp - Allow passing initial run attributes throughstart(), and speed up workflow-levelsetAttributecalls by using native events for recording attributes. - #1925
b3279f8@VaguelySerious - V2 suspension processing: unify wait + step queue dispatch into a single parallel batch. The runtime now queues every pending operation (non-inline steps + wait timer) in onePromise.alland then inline-executes one owned step (if any). The asymmetric{ timeoutSeconds }return contract for waits is dropped from suspension processing; waits become normal queue continuations withdelaySeconds, deduplicated per wait so repeated suspension passes don't accumulate delayed messages. Continuation delays are clamped to 23h (VQS's message-retention bound) with longer waits chained across hop-keyed messages, so multi-daysleep()s work on every world. This restores inline step execution forPromise.race(step, sleep)workflows without any of the carve-outs the prior fix needed: even when the inline step blocks the handler, the wait continuation fires in parallel and drives the next replay. As part of the same change,world-local's queue now honorsdelaySeconds(matchesworld-vercel/world-postgres), and itsclose()aborts pending delayed deliveries and retry sleeps so dev-server/test shutdown isn't held open by wait timers. - #2295
f2a7bde@TooTallNate - Fixworld-localandworld-postgresturning duplicate processing of the samehook_created(samerunId,hookId, and token) into a self-conflict; both worlds now treat same-entity duplicates as idempotent (matchingstep_created), and recover crash-orphaned token claims (world-local) and hook rows (world-postgres) by completing the partial write instead of incorrectly suppressing it.
@workflow/world-postgres@5.0.0-beta.14
- #2226
ae8d6fe@pranaygp - Allow passing initial run attributes throughstart(), and speed up workflow-levelsetAttributecalls by using native events for recording attributes. - #2295
f2a7bde@TooTallNate - Fixworld-localandworld-postgresturning duplicate processing of the samehook_created(samerunId,hookId, and token) into a self-conflict; both worlds now treat same-entity duplicates as idempotent (matchingstep_created), and recover crash-orphaned token claims (world-local) and hook rows (world-postgres) by completing the partial write instead of incorrectly suppressing it.
@workflow/world-vercel@5.0.0-beta.14
- #2226
ae8d6fe@pranaygp - Allow passing initial run attributes throughstart(), and speed up workflow-levelsetAttributecalls by using native events for recording attributes.
@workflow/web-shared@5.0.0-beta.15
workflow@4.4.0
Immutable
release. Only release title and notes can be modified.
@workflow/core@4.4.0
- #1854
5077962@TooTallNate - SurfaceworkflowCoreVersionfrom the responding deployment inhealthCheck()results. - #2012
326d93a@pranaygp - Expose the active run ID on hook token conflict errors. - #2257
9acd46a@pranaygp - Avoid unhandled run lookups for unused or empty readable streams and include Vercel request correlation headers in world transport errors. - #2145
b385a2d@TooTallNate - Classify SDK-level AES-GCM encryption failures asRUNTIME_ERRORinstead ofUSER_ERRORvia a newRuntimeDecryptionError. - #2302
b93a071@pranaygp - Update vulnerable package dependencies to patched releases. - #2292
2ab46de@pranaygp - Bumpdevalueto 5.8.1 to address published security advisories. - #2214
e959124@pranaygp - Skip workflow replay when the event log already contains a terminal run event. - #1799
eca3b51@TooTallNate - Use inline sourcemaps for all workspace packages; published packages no longer ship external.js.mapfiles.
@workflow/cli@4.2.9
- #2302
b93a071@pranaygp - Update vulnerable package dependencies to patched releases. - #1799
eca3b51@TooTallNate - Use inline sourcemaps for all workspace packages; published packages no longer ship external.js.mapfiles.
@workflow/world@4.1.5
- #2012
326d93a@pranaygp - Expose the active run ID on hook token conflict errors. - #1799
eca3b51@TooTallNate - Use inline sourcemaps for all workspace packages; published packages no longer ship external.js.mapfiles.
@workflow/world-local@4.1.5
- #2296
a84a293@pranaygp - Prevent concurrent readers from observing partially written local entity files. - #2012
326d93a@pranaygp - Expose the active run ID on hook token conflict errors. - #2231
95b3477@VaguelySerious - Updateundicito 7.26.0. - #2246
c74e5a3@ctgowrie - Update@vercel/queuefrom 0.1.7 to 0.2.1 - #2255
c8c8ec1@ctgowrie - Update @vercel/queue from 0.2.1 to 0.3.0 - #1799
eca3b51@TooTallNate - Use inline sourcemaps for all workspace packages; published packages no longer ship external.js.mapfiles.
@workflow/world-postgres@4.1.5
- #2012
326d93a@pranaygp - Expose the active run ID on hook token conflict errors. - #2246
c74e5a3@ctgowrie - Update@vercel/queuefrom 0.1.7 to 0.2.1 - #2302
b93a071@pranaygp - Update vulnerable package dependencies to patched releases. - #2255
c8c8ec1@ctgowrie - Update @vercel/queue from 0.2.1 to 0.3.0 - #1799
eca3b51@TooTallNate - Use inline sourcemaps for all workspace packages; published packages no longer ship external.js.mapfiles.
@workflow/world-vercel@4.4.0
- #2235
ecea733@AndrewBarba - Add adispatcheroption tocreateVercelWorldfor supplying a custom undici dispatcher, used for both HTTP and queue requests. Defaults to the shared undiciRetryAgent. - #2231
95b3477@VaguelySerious - Updateundicito 7.26.0. - #2246
c74e5a3@ctgowrie - Update@vercel/queuefrom 0.1.7 to 0.2.1 - #2257
9acd46a@pranaygp - Avoid unhandled run lookups for unused or empty readable streams and include Vercel request correlation headers in world transport errors. - #2255
c8c8ec1@ctgowrie - Update @vercel/queue from 0.2.1 to 0.3.0 - #1799
eca3b51@TooTallNate - Use inline sourcemaps for all workspace packages; published packages no longer ship external.js.mapfiles. - #2035
8fde11c@TooTallNate - Validate ref resolve responses (empty, truncated, orContent-Length-mismatched bodies) before use, throwingWorkflowWorldErrorinstead of corrupting the event log.
@workflow/world-testing@4.1.9
- #2302
b93a071@pranaygp - Update vulnerable package dependencies to patched releases. - #1799
eca3b51@TooTallNate - Use inline sourcemaps for all workspace packages; published packages no longer ship external.js.mapfiles.
@workflow/web@4.1.10
@workflow/web-shared@4.1.10
workflow@5.0.0-beta.14
Immutable
release. Only release title and notes can be modified.
@workflow/core@5.0.0-beta.14
- #2305
4670c4b@willsather - Add an optionalnamespaceparameter that scopes queue topic prefixes to__{namespace}_wkf_workflow_*. This allows configuring multiple frameworks in the same deployment without queue topic collision. - #2345
bf44d4d@pranaygp - Fix unhandled rejection whenstep_created/wait_createdcalls fail inwaitUntil - #2318
eb976db@VaguelySerious - Automatically reconnect object streams when the server stream connection times out. - #2336
a813382@TooTallNate - Fix unexpected rejections inwaitUntilcausing process crashes
@workflow/world@5.0.0-beta.8
- #2305
4670c4b@willsather - Add an optionalnamespaceparameter that scopes queue topic prefixes to__{namespace}_wkf_workflow_*. This allows configuring multiple frameworks in the same deployment without queue topic collision.
@workflow/world-local@5.0.0-beta.15
- #2305
4670c4b@willsather - Add an optionalnamespaceparameter that scopes queue topic prefixes to__{namespace}_wkf_workflow_*. This allows configuring multiple frameworks in the same deployment without queue topic collision.
@workflow/world-postgres@5.0.0-beta.13
- #2305
4670c4b@willsather - Add an optionalnamespaceparameter that scopes queue topic prefixes to__{namespace}_wkf_workflow_*. This allows configuring multiple frameworks in the same deployment without queue topic collision.
@workflow/world-vercel@5.0.0-beta.13
- #2338
95d7009@xujustinj - Usevitest runinstead of watch mode so localpnpm testexits cleanly.
@workflow/world-testing@5.0.0-beta.14
- #2338
95d7009@xujustinj - Usevitest runinstead of watch mode so localpnpm testexits cleanly.
@workflow/web-shared@5.0.0-beta.14
- #2327
b5396bc@mitul-s - Move run attributes into their own detail card - #2325
3e49c6e@mitul-s - Fix the trace span detail panel showing stale or mixed data while navigating spans - #2325
3e49c6e@mitul-s - Make stream and run reference links inside event details clickable in the span detail panel. - #2335
eb2b8c9@mitul-s - Show precise, unrounded durations in the new trace viewer: the events list and timeline bar labels now display two-decimal seconds for durations over 1s (e.g. "1.63s") instead of rounding to whole seconds.
@workflow/builders@5.0.0-beta.14
- #2305
4670c4b@willsather - Add an optionalnamespaceparameter that scopes queue topic prefixes to__{namespace}_wkf_workflow_*. This allows configuring multiple frameworks in the same deployment without queue topic collision. - #2018
f5f6d0e@pranaygp - Generate per-file IDs for non-exported workspace package files (previously they collapsed toname@versionand silently overwrote each other at runtime) and fail the build when two transformed files emit the same step or workflow ID — collisions that used to register silently last-write-wins now surface as a build error.
@workflow/next@5.0.0-beta.14
workflow@5.0.0-beta.13
Immutable
release. Only release title and notes can be modified.
@workflow/core@5.0.0-beta.13
- #1854
8d75491@TooTallNate - SurfaceworkflowCoreVersionfrom the responding deployment inhealthCheck()results. - #2185
0fd0891@VaguelySerious - FixCorruptedEventLogErroron replay when a workflow races a hook read against asleep()(e.g.Promise.race([hook, sleep])). Branch-deciding deliveries (buffered hook payloads and wait completions) are now handed to the workflow in strict event-log order — anchored on event position rather than on microtask-resolution timing — so the committed branch wins the race deterministically, independent of decryption/hydration time orPromise.raceargument order. - #2257
ccd37e9@pranaygp - Avoid unhandled run lookups for unused or empty readable streams and include Vercel request correlation headers in world transport errors. - #2301
bb6ff9a@pranaygp - Update vulnerable package dependencies to patched releases. - #2292
aa628b7@pranaygp - Bumpdevalueto 5.8.1 to address published security advisories.
@workflow/cli@5.0.0-beta.13
@workflow/world-local@5.0.0-beta.14
- #2296
867e339@pranaygp - Prevent concurrent readers from observing partially written local entity files. - #2255
81bda49@ctgowrie - Update @vercel/queue from 0.2.1 to 0.3.0
@workflow/world-postgres@5.0.0-beta.12
- #2301
bb6ff9a@pranaygp - Update vulnerable package dependencies to patched releases. - #2255
81bda49@ctgowrie - Update @vercel/queue from 0.2.1 to 0.3.0
@workflow/world-vercel@5.0.0-beta.12
- #2257
ccd37e9@pranaygp - Avoid unhandled run lookups for unused or empty readable streams and include Vercel request correlation headers in world transport errors. - #2255
81bda49@ctgowrie - Update @vercel/queue from 0.2.1 to 0.3.0 - #2035
c19f38d@TooTallNate - Validate ref resolve responses (empty, truncated, orContent-Length-mismatched bodies) before use, throwingWorkflowWorldErrorinstead of corrupting the event log.
@workflow/world-testing@5.0.0-beta.13
@workflow/web@5.0.0-beta.13
@workflow/web-shared@5.0.0-beta.13
- #2251
63f1a99@karthikscale3 - Render message-only workflow errors with the dedicated error block instead of the generic data inspector. - #2252
9398065@mitul-s - New trace viewer cleanup: fixEventRowcrash on spans withoutattributes.data, drop deadDetailPanel+ empty placeholder files, give time markers and segments stable keys, fix invalidstroke-linejoinJSX attribute, and replace the unsafeTracecast with the realTraceWithMetatype.
@workflow/next@5.0.0-beta.13
- #2253
a51910b@wbinnssmith - Always apply turbopack content condition regardless of builder mode to prevent the workflow loader from running on every JS/TS file when lazy discovery is enabled. - #2263
0b8b077@ijjk - Avoid creating a separate esbuild steps bundle in Next.js lazy discovery mode.
@workflow/nuxt@5.0.0-beta.13
@workflow/nest@5.0.0-beta.13
- #2080
d674d6f@VaguelySerious - Use AST-based import rewriting for NestJS CommonJS workflow bundles.