Workflow Development Kit Updates & Release Notes
77 updates curated from 1 source by the Releasebot Team. Last updated: Jul 16, 2026
- Jul 15, 2026
- Date parsed from source:Jul 15, 2026
- First seen by Releasebot:Jul 16, 2026
Workflow Development Kit by Vercel
Workflow Development Kit releases beta updates across core, world, builders, and web tooling with stronger event creation safeguards, richer run latency telemetry, improved cross-run lineage tracking, and usability tweaks in the trace viewer and build process.
@workflow/[email protected]
- #2266 a00d169 @VaguelySerious - Add an opt-in optimistic-concurrency guard for event creation (WORKFLOW_PRECONDITION_GUARD=1): replay-context event creations send a stateUpdatedAt snapshot timestamp, and the runtime reloads the event log and retries (then falls back to a queue re-invocation) when the backend reports a newer out-of-band event with a 412 PreconditionFailedError.
- #2929 1933e29 @VaguelySerious - Report run-started-to-first-step (rsfs) and final-scheduling-replay (finalSchedulingReplay) latency telemetry on step completion events.
- #2153 6b8efd5 @rchasman - Record cross-run lineage when start() is called from inside a workflow or step: the new run is tagged with $parentRunId (its direct parent) and inherits the parent's $rootRunId, so a daisy chain or fan-out of any depth groups under one root id.
- #2943 fd107b9 @VaguelySerious - Fixed TTFS latency telemetry reporting 0 for runs with region-tagged run IDs.
@workflow/[email protected]
- #2266 a00d169 @VaguelySerious - Add an opt-in optimistic-concurrency guard for event creation (WORKFLOW_PRECONDITION_GUARD=1): replay-context event creations send a stateUpdatedAt snapshot timestamp, and the runtime reloads the event log and retries (then falls back to a queue re-invocation) when the backend reports a newer out-of-band event with a 412 PreconditionFailedError.
- #2929 1933e29 @VaguelySerious - Report run-started-to-first-step (rsfs) and final-scheduling-replay (finalSchedulingReplay) latency telemetry on step completion events.
- #2153 6b8efd5 @rchasman - Record cross-run lineage when start() is called from inside a workflow or step: the new run is tagged with $parentRunId (its direct parent) and inherits the parent's $rootRunId, so a daisy chain or fan-out of any depth groups under one root id.
@workflow/[email protected]
- #2914 f72184d @karthikscale3 - Add WORKFLOW_LOCAL_RECOVER_ACTIVE_RUNS env var as a fallback for the recoverActiveRuns option, so re-enqueueing of pending/running runs on startup can be disabled without a custom world module.
@workflow/[email protected]
- #2266 a00d169 @VaguelySerious - Add an opt-in optimistic-concurrency guard for event creation (WORKFLOW_PRECONDITION_GUARD=1): replay-context event creations send a stateUpdatedAt snapshot timestamp, and the runtime reloads the event log and retries (then falls back to a queue re-invocation) when the backend reports a newer out-of-band event with a 412 PreconditionFailedError.
- #2929 1933e29 @VaguelySerious - Report run-started-to-first-step (rsfs) and final-scheduling-replay (finalSchedulingReplay) latency telemetry on step completion events.
- #2266 a00d169 @VaguelySerious - WORKFLOW_SEQUENTIAL_REPLAYS is configured only by its own environment variable.
@workflow/[email protected]
- #2916 cf96800 @karthikscale3 - Update vitest peer dependency range to ^4.1.10
@workflow/[email protected]
- #2950 0d5305b @mitul-s - Use gray instead of amber for hook bars in the trace viewer.
- #2947 cbfe13b @mitul-s - Give Metadata Token and Hook ID rows copy buttons with middle truncation.
@workflow/[email protected]
- #2266 a00d169 @VaguelySerious - WORKFLOW_SEQUENTIAL_REPLAYS is configured only by its own environment variable.
@workflow/[email protected]
- #2908 3589958 @NathanColosimo - Clean up temporary Nitro Vite servers and Workflow build contexts after builds.
- #2925 c44b4f8 @NathanColosimo - Skip Workflow transforms for generated Nitro build artifacts.
@workflow/[email protected]
- #2266 a00d169 @VaguelySerious - Add an opt-in optimistic-concurrency guard for event creation (WORKFLOW_PRECONDITION_GUARD=1): replay-context event creations send a stateUpdatedAt snapshot timestamp, and the runtime reloads the event log and retries (then falls back to a queue re-invocation) when the backend reports a newer out-of-band event with a 412 PreconditionFailedError.
- Jul 14, 2026
- Date parsed from source:Jul 14, 2026
- First seen by Releasebot:Jul 15, 2026
Workflow Development Kit by Vercel
Workflow Development Kit adds core stream telemetry updates with new read and close spans plus OpenTelemetry API deduping.
@workflow/[email protected]
#2901 9242ddb @karthikscale3 - Move client-observed stream telemetry to core: chunk_rtt on the flush span, connect_ms on the read span, and new workflow.stream.close and workflow.stream.read.complete spans. Dedupe @opentelemetry/api to one workspace instance.
@workflow/[email protected]
#2901 9242ddb @karthikscale3 - Move client-observed stream telemetry to core: chunk_rtt on the flush span, connect_ms on the read span, and new workflow.stream.close and workflow.stream.read.complete spans. Dedupe @opentelemetry/api to one workspace instance.
Original source All of your release notes in one feed
Join Releasebot and get updates from Vercel and hundreds of other software products.
- Jul 13, 2026
- Date parsed from source:Jul 13, 2026
- First seen by Releasebot:Jul 14, 2026
Workflow Development Kit by Vercel
Workflow Development Kit adds region-aware run IDs, smarter workflow inspection, analytics discovery tools, and optional sequential replays for safer orchestration. It also fixes UTC handling for timezone-naive timestamps and improves queue routing across worlds and regions.
@workflow/[email protected]
- #1981 9da2d76 @TooTallNate - start() now delegates run ID generation to world.createRunId(options) when the world provides it, falling back to a monotonic ULID otherwise. The full options bag is passed through so worlds can read whichever fields they recognise. Adds a new region option that worlds may consume — when set, it is also forwarded onto the queue options so the initial workflow message is routed to the matching region.
@workflow/[email protected]
- #2896 c31e30c @TooTallNate - Show world-specific run fields (e.g. region on Vercel) in workflow inspect output via the new optional World.describeRun hook.
@workflow/[email protected]
- #2903 f2be954 @karthikscale3 - Add analytics.attributes.list() for attribute key discovery, and an attributes key=value filter to analytics.runs.list().
- #1981 9da2d76 @TooTallNate - Add optional createRunId(options?) to the World interface and region to QueueOptions. Worlds can now mint custom run IDs (reading whichever start-option fields they recognise) and route messages to a specific region.
- #2899 ac41e7d @TooTallNate - Parse timezone-naive analytics timestamps as UTC so CLI and local web output shows correct times in any timezone.
- #2896 c31e30c @TooTallNate - Show world-specific run fields (e.g. region on Vercel) in workflow inspect output via the new optional World.describeRun hook.
@workflow/[email protected]
- #2903 f2be954 @karthikscale3 - Add analytics.attributes.list() for attribute key discovery, and an attributes key=value filter to analytics.runs.list().
- #2193 a4d8de0 @VaguelySerious - Add opt-in WORKFLOW_SEQUENTIAL_REPLAYS env var (also enabled by the WORKFLOW_SAFE_MODE=1 umbrella flag when not set explicitly). When set to 1, flow (orchestrator) routes are limited to one invocation per run at a time via a per-run queue topic and maxConcurrency: 1 on the flow trigger. Step routes are unaffected.
- #1981 9da2d76 @TooTallNate - Implement World.createRunId to mint region-tagged ULIDs, preferring an explicit options.region from start(), then the VERCEL_REGION environment variable, and finally defaulting to iad1 so run IDs are always tagged with a concrete, routable region. The queue now routes each message to the region encoded in the payload's tagged run ID (or to an explicit opts.region override), instead of the previous hard-coded iad1.
- #2896 c31e30c @TooTallNate - Show world-specific run fields (e.g. region on Vercel) in workflow inspect output via the new optional World.describeRun hook.
@workflow/[email protected]
- #2193 a4d8de0 @VaguelySerious - Add opt-in WORKFLOW_SEQUENTIAL_REPLAYS env var (also enabled by the WORKFLOW_SAFE_MODE=1 umbrella flag when not set explicitly). When set to 1, flow (orchestrator) routes are limited to one invocation per run at a time via a per-run queue topic and maxConcurrency: 1 on the flow trigger. Step routes are unaffected.
@workflow/[email protected]
- #2193 a4d8de0 @VaguelySerious - Add opt-in WORKFLOW_SEQUENTIAL_REPLAYS env var (also enabled by the WORKFLOW_SAFE_MODE=1 umbrella flag when not set explicitly). When set to 1, flow (orchestrator) routes are limited to one invocation per run at a time via a per-run queue topic and maxConcurrency: 1 on the flow trigger. Step routes are unaffected.
@workflow/[email protected]
- #2193 a4d8de0 @VaguelySerious - Add opt-in WORKFLOW_SEQUENTIAL_REPLAYS env var (also enabled by the WORKFLOW_SAFE_MODE=1 umbrella flag when not set explicitly). When set to 1, flow (orchestrator) routes are limited to one invocation per run at a time via a per-run queue topic and maxConcurrency: 1 on the flow trigger. Step routes are unaffected.
- Jul 13, 2026
- Date parsed from source:Jul 13, 2026
- First seen by Releasebot:Jul 14, 2026
Workflow Development Kit by Vercel
Workflow Development Kit adds client-observed workflow.stream.flush spans for each stream-write batch, with buffer_dwell_ms to separate client-side batching cost from network and server time, and improves DEBUG logging when @opentelemetry/api fails to load in world-vercel.
@workflow/[email protected]
#2891 4a43e39 @karthikscale3 - Emit a client-observed workflow.stream.flush span per stream-write batch, with a buffer_dwell_ms attribute separating client-side batching cost from network/server time. Log under DEBUG=workflow:* when @opentelemetry/api fails to load in world-vercel.
@workflow/[email protected]
#2891 4a43e39 @karthikscale3 - Emit a client-observed workflow.stream.flush span per stream-write batch, with a buffer_dwell_ms attribute separating client-side batching cost from network/server time. Log under DEBUG=workflow:* when @opentelemetry/api fails to load in world-vercel.
Original source - Jul 12, 2026
- Date parsed from source:Jul 12, 2026
- First seen by Releasebot:Jul 13, 2026
Workflow Development Kit by Vercel
Workflow Development Kit renames experimental_setAttributes to setAttributes as the attributes feature leaves experimental status, while keeping the old name as a deprecated alias. It also improves world startup recovery by re-enqueuing workflow runs in the active queue namespace.
@workflow/[email protected]
#2882 0b956f6 @VaguelySerious - Rename experimental_setAttributes to setAttributes — the attributes feature is no longer experimental. The old name remains available as a deprecated alias.
@workflow/[email protected]
#2888 7a1ea5a @ctgowrie - Use the active queue namespace when re-enqueuing workflow runs during world startup recovery.
#2882 0b956f6 @VaguelySerious - Update doc comments to reference setAttributes (renamed from experimental_setAttributes).@workflow/[email protected]
#2888 7a1ea5a @ctgowrie - Use the active queue namespace when re-enqueuing workflow runs during world startup recovery.
@workflow/[email protected]
#2888 7a1ea5a @ctgowrie - Use the active queue namespace when re-enqueuing workflow runs during world startup recovery.
Original source Similar to Workflow Development Kit with recent updates:
- Claude Code updates401 release notes · Latest Jul 20, 2026
- ChatGPT updates194 release notes · Latest Jul 16, 2026
- OpenAI Models updates48 release notes · Latest Jul 9, 2026
- Gemini updates354 release notes · Latest Jul 16, 2026
- Claude updates116 release notes · Latest Jul 14, 2026
- Codex updates203 release notes · Latest Jul 18, 2026
- Jul 10, 2026
- Date parsed from source:Jul 10, 2026
- First seen by Releasebot:Jul 11, 2026
Workflow Development Kit by Vercel
Workflow Development Kit adds beta updates across core, CLI, web, and builders with better workflow telemetry, replay tracking, namespace targeting, and stream latency spans, plus fixes for circular inspection crashes, duplicate inline steps, and safer builds.
@workflow/[email protected]
- #2850 f28150c @karthikscale3 - Report step progress alongside step-to-step overhead latency telemetry.
- #2872 36c63af @mitul-s - Record the source run on replays: recreateRunFromExisting now stamps replayedFromRunId into the new run's executionContext (and start accepts a matching option) so tooling can surface a run as a replay and link back to its origin.
- #2790 145835b @NathanColosimo - Centralize workflow event type classifiers and event-data payload field helpers.
- #2687 9958424 @Osamaali313 - Fix extractStreamIds overflowing the stack on circular references. The hydrated observability data it walks comes from devalue, which preserves circular and repeated references, so a step result containing a cycle would crash run inspection (wf inspect and the web dashboard) with a RangeError. The traversal now tracks visited containers and skips cycles.
- #2848 6603628 @VaguelySerious - Fix duplicate inline step execution when a hook or wait wakes a run while the step is still running (#2780). The lazy step_started now records the owning queue message ID, and wake replays schedule a delayed backstop for in-flight inline steps instead of immediately re-dispatching them. Disable with WORKFLOW_INLINE_OWNERSHIP=0.
- #2874 48fcc4e @karthikscale3 - Add a namespace option to start(), recreateRunFromExisting(), reenqueueRun(), and wakeUpRun() for targeting deployments with namespaced queue topics, and make healthCheck() respect its timeout when the stream read hangs.
- #2857 2c6ee61 @karthikscale3 - Add stream latency to OTEL spans
@workflow/[email protected]
- #2790 145835b @NathanColosimo - Centralize workflow event type classifiers and event-data payload field helpers.
@workflow/[email protected]
- #2850 f28150c @karthikscale3 - Report step progress alongside step-to-step overhead latency telemetry.
- #2790 145835b @NathanColosimo - Centralize workflow event type classifiers and event-data payload field helpers.
- #2848 6603628 @VaguelySerious - Fix duplicate inline step execution when a hook or wait wakes a run while the step is still running (#2780). The lazy step_started now records the owning queue message ID, and wake replays schedule a delayed backstop for in-flight inline steps instead of immediately re-dispatching them. Disable with WORKFLOW_INLINE_OWNERSHIP=0.
@workflow/[email protected]
- #2876 84df8f3 @karthikscale3 - Update @vercel/queue from 0.3.1 to 0.4.0
- #2790 145835b @NathanColosimo - Centralize workflow event type classifiers and event-data payload field helpers.
@workflow/[email protected]
- #2876 84df8f3 @karthikscale3 - Update @vercel/queue from 0.3.1 to 0.4.0
- #2790 145835b @NathanColosimo - Centralize workflow event type classifiers and event-data payload field helpers.
@workflow/[email protected]
- #2850 f28150c @karthikscale3 - Report step progress alongside step-to-step overhead latency telemetry.
- #2876 84df8f3 @karthikscale3 - Update @vercel/queue from 0.3.1 to 0.4.0
- #2873 4dce2ae @VaguelySerious - Cancel the v4 event frame stream when a reader stops early, so the response body's undici connection returns to the pool instead of leaking.
- #2790 145835b @NathanColosimo - Centralize workflow event type classifiers and event-data payload field helpers.
- #2848 6603628 @VaguelySerious - Fix duplicate inline step execution when a hook or wait wakes a run while the step is still running (#2780). The lazy step_started now records the owning queue message ID, and wake replays schedule a delayed backstop for in-flight inline steps instead of immediately re-dispatching them. Disable with WORKFLOW_INLINE_OWNERSHIP=0.
- #2857 2c6ee61 @karthikscale3 - Add stream latency to OTEL spans
@workflow/[email protected]
- #2790 145835b @NathanColosimo - Centralize workflow event type classifiers and event-data payload field helpers.
@workflow/[email protected]
- #2864 8b3a358 @mitul-s - Remove unused flex-1 from attribute copy-value rows so values hug their content.
- #2790 145835b @NathanColosimo - Centralize workflow event type classifiers and event-data payload field helpers.
- #2837 392d347 @mitul-s - Anchor the trace viewer shortcut helper to the timeline's left edge and hide it below a container-query width instead of a viewport breakpoint.
@workflow/[email protected]
- #2853 df7e71d @NathanColosimo - Use the Windows-safe generated-file writer for step registration output.
- #1947 25b1509 @VaguelySerious - Externalize the optional @opentelemetry/api peer in the Rollup/Vite framework builds (SvelteKit, Nitro, Nuxt, Astro, Vite) only when it isn't installed, so a build no longer fails with "failed to resolve import '@opentelemetry/api'". When the peer is present it is bundled/resolved as before, so tracing keeps working — including in self-contained outputs like Nitro's .output/server.
@workflow/[email protected]
- #1947 25b1509 @VaguelySerious - Externalize the optional @opentelemetry/api peer in the Rollup/Vite framework builds (SvelteKit, Nitro, Nuxt, Astro, Vite) only when it isn't installed, so a build no longer fails with "failed to resolve import '@opentelemetry/api'". When the peer is present it is bundled/resolved as before, so tracing keeps working — including in self-contained outputs like Nitro's .output/server.
- Jul 9, 2026
- Date parsed from source:Jul 9, 2026
- First seen by Releasebot:Jul 10, 2026
Workflow Development Kit by Vercel
Workflow Development Kit adds telemetry, faster run handling, and clearer trace and run details across its core, world, and web packages. It reports step latency metrics, streamlines experimental attribute replay, adds cancel reasons, and polishes the trace viewer and hook performance.
@workflow/[email protected]
- #2833 3f69666 @VaguelySerious - Report time-to-first-step and step-to-step overhead latency telemetry on step completion events.
- #2833 3f69666 @VaguelySerious - experimental_setAttributes now resolves via an in-process replay instead of a queue re-invocation, removing a delivery round-trip before subsequent steps.
- #2840 712ed61 @VaguelySerious - Add an optional reason to run cancellation (run.cancel({ cancelReason })), recorded on the cancellation event and shown in the run detail view.
@workflow/[email protected]
- #2833 3f69666 @VaguelySerious - Report time-to-first-step and step-to-step overhead latency telemetry on step completion events.
- #2840 712ed61 @VaguelySerious - Add an optional reason to run cancellation (run.cancel({ cancelReason })), recorded on the cancellation event and shown in the run detail view.
@workflow/[email protected]
- #2830 79a9813 @AndrewBarba - Fix hook operations scaling with total event history: hook creation, hook cache rebuilds, and token lookups now use durable per-token/per-hookId indexes instead of scanning the entire global event log, and run-termination hook cleanup uses per-run markers instead of reading every live hook. Directory listings read files concurrently, runs.list defaults to a page size of 200, and compiled filename regexes are reused.
@workflow/[email protected]
- #2833 3f69666 @VaguelySerious - Report time-to-first-step and step-to-step overhead latency telemetry on step completion events.
- #2840 712ed61 @VaguelySerious - Add an optional reason to run cancellation (run.cancel({ cancelReason })), recorded on the cancellation event and shown in the run detail view.
@workflow/[email protected]
- #2817 d6defd4 @mitul-s - Add an optional getModuleSourceUrl resolver to the trace viewer sidebar data so hosts can render the Module row in the span detail panel as a link to the module's source (e.g. the deployment source view on vercel.com).
- #2827 0459ffc @mitul-s - Fix middle truncation on detail panel
- #2832 3679833 @mitul-s - Use solid instead of alpha borders for trace viewer event-list dividers.
- #2840 712ed61 @VaguelySerious - Add an optional reason to run cancellation (run.cancel({ cancelReason })), recorded on the cancellation event and shown in the run detail view.
- #2838 f2f4b9d @mitul-s - Make the trace event-list/timeline split-pane divider drag match the span detail panel: wider hit target, hover/focus/drag highlight, double-click reset, and keyboard/ARIA resize.
- #2826 68ad966 @mitul-s - Keep the Input/Output sections of the span attribute panel open after decrypting run data.
- #2835 cfdb86d @mitul-s - Smooth the new trace viewer's click-to-focus zoom with a stronger ease-in-out curve.
- Jul 8, 2026
- Date parsed from source:Jul 8, 2026
- First seen by Releasebot:Jul 9, 2026
Workflow Development Kit by Vercel
Workflow Development Kit releases broader beta updates across core, CLI, web, and framework adapters with faster abort handling, improved world package loading, better observability lists, Next.js base path support, and trace viewer and SvelteKit fixes.
@workflow/[email protected]
#2779 7637196 @VaguelySerious - Fix createHook() conflicting with the run's own disposed hook when a token is reused after dispose() within the same run
#2732 239031a @NathanColosimo - Respect framework base paths when routing workflow traffic and expose health checks on generated Next.js workflow routes.
#2807 e7e5a0e @VaguelySerious - Steps that receive an AbortSignal argument no longer pay a per-step queue round-trip: the real-time abort-stream reader opened for such a step is now released when the step finishes, so the step can complete inline instead of reporting pending work on every invocation.
#2752 0f557d5 @ijjk - Statically inject the configured world package into host bundles instead of selecting worlds dynamically at runtime.
#2468 49a50e8 @NathanColosimo - Standardize first-party World packages on createWorld(), support relative target World modules consistently, and align the Postgres World DATABASE_URL fallback with bootstrap.@workflow/[email protected]
#2648 17d4ce2 @karthikscale3 - inspect list views (runs, steps, events, sleeps) now read from the optional world.analytics namespace when the backend provides one, falling back to the runtime storage APIs otherwise. Hook listing stays on the runtime storage APIs (the analytics rows omit ownerId and the hook token). Payload/detail views are unchanged. The --withData flag is deprecated for list views; use workflow inspect <resource> <id> to view payloads for a single resource.
#2806 54f46f9 @karthikscale3 - Ensure the CLI can resolve community world packages if not statically injected. Fixes "Unsupported workflow backend" error.
#2812 fe327e6 @karthikscale3 - Add --since/--until to workflow inspect runs; workflow start and bulk workflow cancel name lookups now search past the backend's default 24h window.@workflow/[email protected]
#2812 fe327e6 @karthikscale3 - Support startTime/endTime on world.analytics.runs.list to bound the listing window.
@workflow/[email protected]
#2808 c1d29f1 @VaguelySerious - Fix a stalled hook token claim release deleting the next claimant's live claim
#2808 c1d29f1 @VaguelySerious - Fix a resumeHook racing hook.dispose() being recorded after the disposal, which corrupted the receiving run's replay
#2779 7637196 @VaguelySerious - Fix hook token claims of disposed hooks and finished runs not being released to the next claimant
#2807 e7e5a0e @VaguelySerious - Shard stream chunks into a directory per stream so a tail reader's poll no longer lists every chunk in the world on each tick, and reliably release its emitter listeners and poll timer when the reader is cancelled. Note: stream chunks are now stored at streams/chunks/<streamName>/; chunk files written to the old flat layout by an earlier version are not read back (an acceptable tradeoff for local dev data, and stale flat files are left in place rather than cleaned up).
#2732 239031a @NathanColosimo - Respect framework base paths when routing workflow traffic and expose health checks on generated Next.js workflow routes.
#2752 0f557d5 @ijjk - Statically inject the configured world package into host bundles instead of selecting worlds dynamically at runtime.
#2468 49a50e8 @NathanColosimo - Standardize first-party World packages on createWorld(), support relative target World modules consistently, and align the Postgres World DATABASE_URL fallback with bootstrap.@workflow/[email protected]
#2732 239031a @NathanColosimo - Respect framework base paths when routing workflow traffic and expose health checks on generated Next.js workflow routes.
#2468 49a50e8 @NathanColosimo - Standardize first-party World packages on createWorld(), support relative target World modules consistently, and align the Postgres World DATABASE_URL fallback with bootstrap.@workflow/[email protected]
#2752 0f557d5 @ijjk - Statically inject the configured world package into host bundles instead of selecting worlds dynamically at runtime.
#2812 fe327e6 @karthikscale3 - Support startTime/endTime on world.analytics.runs.list to bound the listing window.
#2468 49a50e8 @NathanColosimo - Standardize first-party World packages on createWorld(), support relative target World modules consistently, and align the Postgres World DATABASE_URL fallback with bootstrap.
#2789 03862ed @TooTallNate - Send the x-vercel-queue-region header on proxy-mode queue sends so they route to the region's VQS dataplane host like direct in-function sends do.@workflow/[email protected]
#2647 1518c48 @karthikscale3 - The runs, steps, and events observability list views now read from the metadata-only world.analytics namespace when the configured backend provides one, and fall back to the runtime storage APIs otherwise. Event payloads are still loaded lazily per event on the runtime path. Hooks listing, detail views, payload resolution, streams, and mutations are unchanged.
#2652 ae51f45 @karthikscale3 - The hooks list now reads from the metadata-only world.analytics namespace when the backend provides one (falling back to the runtime storage APIs otherwise). A hook's secret token is no longer included in list rows — it is fetched one hook at a time via world.hooks.get only when the user copies the token or resumes the hook.
#2804 cdfac39 @karthikscale3 - Fix workflow web for local and postgres backends after static world-target injection. The web server now constructs the local world directly and resolves other world packages from the inspected project, instead of calling the createWorld() static-injection stub (which throws when no build plugin aliased it).
#2812 fe327e6 @karthikscale3 - Runs list: infinite scroll with SWR-cached pages (tab switches no longer refetch), a plan-aware time-window picker (default 24h), and status filtering without requiring a workflow filter.@workflow/[email protected]
#2800 caac565 @mitul-s - Add a minimap to the new trace viewer: a full-run span density strip with a glass viewport brush supporting pan, edge-resize, click-to-jump, drag-to-select zoom, wheel gestures, and keyboard panning.
#2775 8a76688 @mitul-s - Fix duplicate sub-second tick labels on the trace viewer timeline ruler, and trim trailing zeros from precise duration labels ("2.00s" → "2s").@workflow/[email protected]
#2799 2ca34ac @NathanColosimo - Fix SvelteKit production server crash at boot if a world package pulls cosmiconfig into the server bundle.
#2732 239031a @NathanColosimo - Respect framework base paths when routing workflow traffic and expose health checks on generated Next.js workflow routes.
#2752 0f557d5 @ijjk - Statically inject the configured world package into host bundles instead of selecting worlds dynamically at runtime.
#2468 49a50e8 @NathanColosimo - Standardize first-party World packages on createWorld(), support relative target World modules consistently, and align the Postgres World DATABASE_URL fallback with bootstrap.@workflow/[email protected]
#2813 2552d8b @NathanColosimo - Ignore custom Next.js distDir output in the development workflow watcher.
#2732 239031a @NathanColosimo - Respect framework base paths when routing workflow traffic and expose health checks on generated Next.js workflow routes.
#2752 0f557d5 @ijjk - Statically inject the configured world package into host bundles instead of selecting worlds dynamically at runtime.
#2468 49a50e8 @NathanColosimo - Standardize first-party World packages on createWorld(), support relative target World modules consistently, and align the Postgres World DATABASE_URL fallback with bootstrap.@workflow/[email protected]
#2752 0f557d5 @ijjk - Statically inject the configured world package into host bundles instead of selecting worlds dynamically at runtime.
@workflow/[email protected]
#2752 0f557d5 @ijjk - Statically inject the configured world package into host bundles instead of selecting worlds dynamically at runtime.
@workflow/[email protected]
#2799 2ca34ac @NathanColosimo - Fix SvelteKit production server crash at boot if a world package pulls cosmiconfig into the server bundle.
#2752 0f557d5 @ijjk - Statically inject the configured world package into host bundles instead of selecting worlds dynamically at runtime.
#2802 aae47b9 @NathanColosimo - Avoid recursively loading Vite config while resolving SvelteKit routes during workflow plugin import.@workflow/[email protected]
#2752 0f557d5 @ijjk - Statically inject the configured world package into host bundles instead of selecting worlds dynamically at runtime.
@workflow/[email protected]
#2752 0f557d5 @ijjk - Statically inject the configured world package into host bundles instead of selecting worlds dynamically at runtime.
@workflow/[email protected]
#2732 239031a @NathanColosimo - Respect framework base paths when routing workflow traffic and expose health checks on generated Next.js workflow routes.
#2752 0f557d5 @ijjk - Statically inject the configured world package into host bundles instead of selecting worlds dynamically at runtime.@workflow/[email protected]
#2752 0f557d5 @ijjk - Statically inject the configured world package into host bundles instead of selecting worlds dynamically at runtime.
Original source
#2468 49a50e8 @NathanColosimo - Standardize first-party World packages on createWorld(), support relative target World modules consistently, and align the Postgres World DATABASE_URL fallback with bootstrap. - Jul 6, 2026
- Date parsed from source:Jul 6, 2026
- First seen by Releasebot:Jul 7, 2026
Workflow Development Kit by Vercel
Workflow Development Kit ships broader beta updates across runtime, web, AI, and framework integrations, adding configurable runtime tuning, richer trace viewer controls, compressed storage handling, faster Next.js rebuilds, improved DurableAgent recovery, and local and Postgres reliability fixes.
@workflow/[email protected]
#2718 cc7f076 @VaguelySerious - Make runtime tuning constants (timeouts, retry counts, stream buffering/reconnect) configurable via WORKFLOW_* environment variables, and forward WORKFLOW_TEST_LIMIT_OVERRIDES to the backend as a request header so a deployment can tighten server-side limits for testing.
#2665 5a23159 @NathanColosimo - Reduce e2e timing and polling flakes.
#2678 f6772d9 @ijjk - Speed up Next.js workflow dev rebuilds, ignore commented imports during HMR discovery, and avoid Turbopack resolving custom-world dynamic imports.
@workflow/[email protected]
#2234 f76377b @karthikscale3 - Add an optional metadata-only world.analytics namespace for observability reads (runs, steps, events, hooks, waits). Implemented by @workflow/world-vercel; payload-bearing fields remain on the canonical runtime storage APIs.
#2718 cc7f076 @VaguelySerious - Make runtime tuning constants (timeouts, retry counts, stream buffering/reconnect) configurable via WORKFLOW_* environment variables, and forward WORKFLOW_TEST_LIMIT_OVERRIDES to the backend as a request header so a deployment can tighten server-side limits for testing.
#2747 2ab7057 @NathanColosimo - Keep local hooks reachable after a crash or restart by rebuilding lost hook cache files from committed hook creation events, preventing active hook tokens from being reused.
@workflow/[email protected]
#2152 fc5bdcb @pranaygp - Reduce local sequential-step replay I/O with bounded recent-event and storage-directory caches.
#2747 2ab7057 @NathanColosimo - Keep local hooks reachable after a crash or restart by rebuilding lost hook cache files from committed hook creation events, preventing active hook tokens from being reused.
@workflow/[email protected]
#2705 97b8469 @NathanColosimo - Move Workflow Postgres enum types into the workflow schema.
#2714 dd36e26 @NathanColosimo - Fix Postgres step lifecycle event ordering so a late concurrent step_started is no longer logged after step_completed.
@workflow/[email protected]
#2234 f76377b @karthikscale3 - Add an optional metadata-only world.analytics namespace for observability reads (runs, steps, events, hooks, waits). Implemented by @workflow/world-vercel; payload-bearing fields remain on the canonical runtime storage APIs.
#2718 cc7f076 @VaguelySerious - Make runtime tuning constants (timeouts, retry counts, stream buffering/reconnect) configurable via WORKFLOW_* environment variables, and forward WORKFLOW_TEST_LIMIT_OVERRIDES to the backend as a request header so a deployment can tighten server-side limits for testing.
#2680 89f4726 @karthikscale3 - Decompress gzip- and zstd-prefixed serialized data returned from Vercel Workflow storage, and route OSS web hydration through the async WASM-capable path for compressed payloads.
@workflow/[email protected]
#2680 89f4726 @karthikscale3 - Decompress gzip- and zstd-prefixed serialized data returned from Vercel Workflow storage, and route OSS web hydration through the async WASM-capable path for compressed payloads.
@workflow/[email protected]
#2773 19577b8 @mitul-s - Make the span detail panel in the new trace viewer user-resizable: drag its left border (double-click to reset), with the width persisted across sessions.
#2695 ce0bbb1 @mitul-s - Use Unicode ellipsis character (…) instead of three dots (...) in middle-truncate component.
#2604 53ecc57 @mitul-s - Align the detail panel top info rows with the Attributes section styling, group them in a collapsible Metadata section, and render values in monospace.
#2694 6080b8e @mitul-s - Add arrow key support on trace viewer
#2680 89f4726 @karthikscale3 - Decompress gzip- and zstd-prefixed serialized data returned from Vercel Workflow storage, and route OSS web hydration through the async WASM-capable path for compressed payloads.
@workflow/[email protected]
#2730 0f02af4 @NathanColosimo - Continue DurableAgent tool loops whenever a model step contains tool calls, regardless of the reported finish reason.
#2699 654f959 @VaguelySerious - DurableAgent now recovers from invalid tool-call input by returning the validation error to the model instead of aborting the stream.
@workflow/[email protected]
#2769 eb7f60c @NathanColosimo - Stop warning on direct workflow calls from workflow code, where direct-await composition is valid.
@workflow/[email protected]
#2725 532b0e1 @NathanColosimo - Share framework project root detection across Astro, Next.js, and SvelteKit.
#2678 f6772d9 @ijjk - Speed up Next.js workflow dev rebuilds, ignore commented imports during HMR discovery, and avoid Turbopack resolving custom-world dynamic imports.
#2702 7615d99 @NathanColosimo - Fix workflow graph extraction when transformed step proxies include pure annotations.
@workflow/[email protected]
#2725 532b0e1 @NathanColosimo - Share framework project root detection across Astro, Next.js, and SvelteKit.
#2678 f6772d9 @ijjk - Speed up Next.js workflow dev rebuilds, ignore commented imports during HMR discovery, and avoid Turbopack resolving custom-world dynamic imports.
#2729 7eabc1f @NathanColosimo - Derive the workflow builder project root from Next.js workspace root configuration.
#2693 24f3707 @ijjk - Disable Workflow loader source-map emission for node_modules files to avoid noisy SWC input source-map warnings.
@workflow/[email protected]
#2722 923ddd9 @NathanColosimo - Pass configured Nitro workflow scan directories through to Workflow builders.
#2713 3077b8a @NathanColosimo - Use Nitro's workspace root for workflow module resolution so Nitro and Nuxt monorepo apps can import sibling workspace packages without extra config.
@workflow/[email protected]
#2713 3077b8a @NathanColosimo - Use Nitro's workspace root for workflow module resolution so Nitro and Nuxt monorepo apps can import sibling workspace packages without extra config.
@workflow/[email protected]
#2725 532b0e1 @NathanColosimo - Share framework project root detection across Astro, Next.js, and SvelteKit.
@workflow/[email protected]
#2725 532b0e1 @NathanColosimo - Share framework project root detection across Astro, Next.js, and SvelteKit.
@workflow/[email protected]
#2678 f6772d9 @ijjk - Filter Windows netstat output by PID column when detecting local workflow ports.
@workflow/[email protected]
#2726 5faffbc @NathanColosimo - Derive the Workflow Vitest cwd from the resolved Vitest project root.
Original source - Jul 6, 2026
- Date parsed from source:Jul 6, 2026
- First seen by Releasebot:Jul 7, 2026
Workflow Development Kit by Vercel
Workflow Development Kit releases broader performance, reliability, and developer-experience updates across core, CLI, worlds, web, AI, and framework builders, including faster replay handling, improved byte-stream framing, better retry and recovery behavior, and clearer workflow inspection and tracing.
@workflow/[email protected]
- #1853 f2ad726 @TooTallNate - Add wire-level framing for byte streams (type: 'bytes') so consumers can identify chunk boundaries — a prerequisite for transparent auto-reconnect.
- #2397 20a6d73 @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.
- #2473 015452a @pranaygp - Drain consecutively consumable replay events in a single synchronous pass instead of one process.nextTick per event, removing O(N) macrotask hops from replay.
- #2768 d0e4191 @VaguelySerious - Correct the byte-stream framing capability cutoff so framed byte streams are never written to deployments that cannot decode them
- #2522 5a4c5f @VaguelySerious - Cache the local dev server port per process so workflow replays no longer re-run OS port discovery (which spawns lsof on macOS, ~60ms) on every replay.
- #2511 db8a2c4 @VaguelySerious - Emit workflowName on per-step events (step_created, step_completed) so Worlds can access it without additional queries
- #2471 170ea96 @pranaygp - Cache the compiled workflow-bundle vm.Script per process so replays reuse the compiled bundle instead of re-parsing it on every iteration.
- #2472 0a5e2aa @pranaygp - Memoize hydrated step return values across inline replay iterations, turning the per-invocation step-result decrypt+parse cost from O(N²) to O(N) for sequential workflows. Only primitive results are cached, so deterministic replay is preserved.
- #2565 a4dd59b @ijjk - Collapse default workflow build output to a single completion summary and move detailed progress logs behind DEBUG=workflow:build.
- #2445 67fcf1a @pranaygp - Treat transient world-vercel transport failures as retryable, surfacing them as a TRANSPORT type WorkflowWorldError, to be retried by the queue instead of failing the run.
@workflow/[email protected]
- #2467 3bb5de1 @pranaygp - Add a --url flag to inspect/web that 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/[email protected]
- #2295 f9119d4 @TooTallNate - Fix world-local and world-postgres turning duplicate processing of the same hook_created (same runId, hookId, and token) into a self-conflict; both worlds now treat same-entity duplicates as idempotent (matching step_created), and recover crash-orphaned token claims (world-local) and hook rows (world-postgres) by completing the partial write instead of incorrectly suppressing it.
- #2511 db8a2c4 @VaguelySerious - Emit workflowName on per-step events (step_created, step_completed) so Worlds can access it without additional queries
- #2580 9fba14e @karthikscale3 - Send optional client-side event occurrence timestamps through world event creation.
- #2414 2a688f0 @github-actions - 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.
- #2747 6dbe2de @NathanColosimo - Keep local hooks reachable after a crash or restart by rebuilding lost hook cache files from committed hook creation events, preventing active hook tokens from being reused.
- #2622 87d213c @karthikscale3 - Declare Zod as a runtime dependency so exported schemas are built with the package's own Zod version instead of the consuming application's peer.
@workflow/[email protected]
- #2534 ab24408 @NathanColosimo - Update undici to 7.28.0.
- #2295 f9119d4 @TooTallNate - Fix world-local and world-postgres turning duplicate processing of the same hook_created (same runId, hookId, and token) into a self-conflict; both worlds now treat same-entity duplicates as idempotent (matching step_created), and recover crash-orphaned token claims (world-local) and hook rows (world-postgres) by completing the partial write instead of incorrectly suppressing it.
- #2508 b06fa65 @karthikscale3 - Add run IDs on world storage telemetry spans.
- #2747 6dbe2de @NathanColosimo - Keep local hooks reachable after a crash or restart by rebuilding lost hook cache files from committed hook creation events, preventing active hook tokens from being reused.
- #2667 af6ff4f @VaguelySerious - Scope untagged startup recovery to untagged runs so a dev server no longer re-enqueues tagged runs (e.g. left behind by the vitest harness in a shared data directory), which previously failed run_started with "did not return the run entity".
@workflow/[email protected]
- #2705 50492d7 @NathanColosimo - Move Workflow Postgres enum types into the workflow schema.
- #2295 f9119d4 @TooTallNate - Fix world-local and world-postgres turning duplicate processing of the same hook_created (same runId, hookId, and token) into a self-conflict; both worlds now treat same-entity duplicates as idempotent (matching step_created), and recover crash-orphaned token claims (world-local) and hook rows (world-postgres) by completing the partial write instead of incorrectly suppressing it.
- #2714 b534da2 @NathanColosimo - Fix Postgres step lifecycle event ordering so a late concurrent step_started is no longer logged after step_completed.
- #2580 9fba14e @karthikscale3 - Send optional client-side event occurrence timestamps through world event creation.
- #2644 3eb7e97 @NathanColosimo - Rename the Postgres setup command to bootstrap.
- #2657 92ddf7a @NathanColosimo - Defer loopback worker startup
@workflow/[email protected]
- #2414 2a688f0 @github-actions - 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.
- #2534 ab24408 @NathanColosimo - Update undici to 7.28.0.
- #2580 9fba14e @karthikscale3 - Send optional client-side event occurrence timestamps through world event creation.
- #2508 b06fa65 @karthikscale3 - Add run IDs on world storage telemetry spans.
- #2445 67fcf1a @pranaygp - Treat transient world-vercel transport failures as retryable, surfacing them as a TRANSPORT type WorkflowWorldError, to be retried by the queue instead of failing the run.
- #2414 2a688f0 @github-actions - Skip transferring event payload bytes when listing events with resolveData: 'none' using the v4 API.
@workflow/[email protected]
- #2462 e377108 @pranaygp - Bump the hono dependency 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/[email protected]
- #2328 161431b @mitul-s - Show relative time display card on date hover
@workflow/[email protected]
- #2581 7b4998f @karthikscale3 - Show event occurrence timestamps in the trace detail panel when present.
- #2619 a0c030a @mitul-s - Extend cn with custom tailwind-merge class groups for the design-system typography and material utilities, and move it to its own lib/cn module.
- #2608 9b972a7 @karthikscale3 - Thread workflow event occurrence timestamps into derived observability entity data.
- #2328 161431b @mitul-s - Show relative time display card on date hover
- #2474 0dd2db8 @mitul-s - Yse solid gray for queued trace segment
@workflow/[email protected]
- #2537 a06f425 @VaguelySerious - WorkflowChatTransport now repairs UI message stream part framing, so duplicated or interleaved durable stream writes no longer crash the AI SDK consumer with Received text-delta for missing text part.
- #2440 80ccca0 @pranaygp - Re-release @workflow/ai on the 4.x stable line. Versions 5.0.0, 6.0.0, and 7.0.0 were published to the latest dist-tag in error: a changesets peer-dependency misconfiguration force-bumped a full major on every workflow minor release, even though @workflow/ai had no breaking changes. Those versions are deprecated — ^4 remains the correct stable range.
- #2730 cfb8f77 @NathanColosimo - Continue DurableAgent tool loops whenever a model step contains tool calls, regardless of the reported finish reason.
- #2082 280a34a @VaguelySerious - WorkflowChatTransport now drops orphan UI chunks (deltas/ends with no matching *-start in the resumed window) when reconnecting with an initialStartIndex not matching a UI chunk boundary, instead of throwing.
- #2699 ef60d31 @VaguelySerious - DurableAgent now recovers from invalid tool-call input by returning the validation error to the model instead of aborting the stream.
- #2635 cee802d @NathanColosimo - Suppress chat transport console errors for intentional AbortError stream closes.
@workflow/[email protected]
- #2398 b357137 @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 runtime ReferenceError when the default fired.
@workflow/[email protected]
- #2725 c4bc5a1 @NathanColosimo - Share framework project root detection across Astro, Next.js, and SvelteKit.
- #2546 ba62f57 @ijjk - Optimize eager workflow discovery and improve default eager build compatibility. Also fixes NestJS builds pulling SDK build-tooling into the runtime steps bundle, which crashed step handlers at runtime.
- #2702 504cf88 @NathanColosimo - Fix workflow graph extraction when transformed step proxies include pure annotations.
- #2455 578f7e1 @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.
- #2594 8bbf331 @ijjk - Fix fast workflow discovery for JS files imported through basenames like ./hello.step.
- #2565 a4dd59b @ijjk - Collapse default workflow build output to a single completion summary and move detailed progress logs behind DEBUG=workflow:build.
- #2324 4c49cc8 @VaguelySerious - Decode escaped workflowCode template literals before graph extraction so unicode-escape identifiers parse correctly.
- #2545 c5d14c8 @ijjk - Remove the Next.js lazy discovery/deferred builder path and the workflows.lazyDiscovery option.
- #2427 8d1f299 @ijjk - Add .swc to the builder's default gitignore handling.
@workflow/[email protected]
- #2545 c5d14c8 @ijjk - Remove the Next.js lazy discovery/deferred builder path and the workflows.lazyDiscovery option.
- #2417 977a4a2 @TooTallNate - Clarify that workflow packages removed from serverExternalPackages are still compiled during the build.
- #2725 c4bc5a1 @NathanColosimo - Share framework project root detection across Astro, Next.js, and SvelteKit.
- #2546 ba62f57 @ijjk - Optimize eager workflow discovery and improve default eager build compatibility. Also fixes NestJS builds pulling SDK build-tooling into the runtime steps bundle, which crashed step handlers at runtime.
- #2455 578f7e1 @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.
- #2729 01265b7 @NathanColosimo - Derive the workflow builder project root from Next.js workspace root configuration.
- #2538 aa9919b @NathanColosimo - Prewarm the Workflow SWC plugin cache before Next.js starts parallel loader workers.
- #2564 8db7b7f @NathanColosimo - Discover workflows imported by Next.js instrumentation, middleware, and proxy entrypoints.
@workflow/[email protected]
- #2645 db90c40 @NathanColosimo - Route Nitro Vercel workflow HTTP endpoints through generated Vercel functions.
- #2722 980933f @NathanColosimo - Pass configured Nitro workflow scan directories through to Workflow builders.
- #2572 af08c04 @NathanColosimo - Reload rebuilt step bundles during Vite development.
- #2713 f927d69 @NathanColosimo - Use Nitro's workspace root for workflow module resolution so Nitro and Nuxt monorepo apps can import sibling workspace packages without extra config.
@workflow/[email protected]
- #2713 f927d69 @NathanColosimo - Use Nitro's workspace root for workflow module resolution so Nitro and Nuxt monorepo apps can import sibling workspace packages without extra config.
@workflow/[email protected]
- #2725 c4bc5a1 @NathanColosimo - Share framework project root detection across Astro, Next.js, and SvelteKit.
@workflow/[email protected]
- #2457 c4ed84f @pranaygp - Bump the astro dev dependency to 6.4.6 to resolve CVE-2026-54299 (GHSA-2pvr-wf23-7pc7, host header SSRF in prerendered error page fetch).
- #2725 c4bc5a1 @NathanColosimo - Share framework project root detection across Astro, Next.js, and SvelteKit.
@workflow/[email protected]
- #2546 ba62f57 @ijjk - Optimize eager workflow discovery and improve default eager build compatibility. Also fixes NestJS builds pulling SDK build-tooling into the runtime steps bundle, which crashed step handlers at runtime.
@workflow/[email protected]
- #2726 4b42249 @NathanColosimo - Derive the Workflow Vitest cwd from the resolved Vitest project root.
- #2351 2783ae3 @VaguelySerious - Bundle project-local imports into the test step bundle instead of externalizing them, fixing module resolution errors when bundles are loaded by Node's native ESM loader
- Jun 29, 2026
- Date parsed from source:Jun 29, 2026
- First seen by Releasebot:Jun 29, 2026
Workflow Development Kit by Vercel
Workflow Development Kit releases retry and race-condition fixes for workflow runs, improving resilience to transient Vercel transport failures and tightening turbo-mode event handling. It also expands shared request handling and observability with broader OTEL spans and debug logging.
@workflow/[email protected]
603ad97 - Treat transient world-vercel transport failures as retryable, surfacing them as a TRANSPORT type WorkflowWorldError, to be retried by the queue instead of failing the run.
#2685 2477ad8 @VaguelySerious - Fix a turbo-mode race where a fire-and-forget hook, wait, or attribute created by a workflow that completes synchronously could be written to the server before the run was created.
@workflow/[email protected]
897aac9 - Retry transient transport failures (e.g. UND_ERR_REQ_RETRY, ECONNRESET, socket timeouts, 5xx) in-process for idempotent-on-retry event POSTs, so a brief network blip after a step completes no longer re-executes the step. step_started, step_retrying, and hook_received are excluded as they are not safe to blindly retry.
603ad97 - Treat transient world-vercel transport failures as retryable, surfacing them as a TRANSPORT type WorkflowWorldError, to be retried by the queue instead of failing the run.
1dcdafd - Unify world-vercel HTTP request handling into a shared core and extend OTEL client spans + debug logging to the v4 events, stream, and Vercel-API request paths.
Original source - Jun 27, 2026
- Date parsed from source:Jun 27, 2026
- First seen by Releasebot:Jun 27, 2026
Workflow Development Kit by Vercel
Workflow Development Kit releases beta updates across core, web, AI, and deployment packages with stronger retry handling, HTTP/2 fixes, smoother trace and chat streaming, and better local concurrency reliability. It also improves observability, build discovery, and SvelteKit and Nitro production behavior.
@workflow/[email protected]
#2666 b180270 @NathanColosimo - Retry inline step completion persistence failures instead of recording them as step failures.
1ea2b4e - Fix a turbo-mode race where step-body writes (experimental_setAttributes and stream writes via getWritable) could reach the server before the workflow run was created.@workflow/[email protected]
#2622 48e6bbf @karthikscale3 - Declare Zod as a runtime dependency so exported schemas are built with the package's own Zod version instead of the consuming application's peer.
@workflow/[email protected]
#2679 5977694 @VaguelySerious - Retry local queue deliveries that fail at the transport (e.g. fetch failed / ETIMEDOUT when the dev server is saturated by many parallel steps) instead of dropping the message, so steps no longer get stuck never-started under high local concurrency.
#2667 d4e6c5b @VaguelySerious - Scope untagged startup recovery to untagged runs so a dev server no longer re-enqueues tagged runs (e.g. left behind by the vitest harness in a shared data directory), which previously failed run_started with "did not return the run entity".@workflow/[email protected]
#2644 361ce23 @NathanColosimo - Rename the Postgres setup command to bootstrap.
#2657 5718df8 @NathanColosimo - Defer loopback worker startup@workflow/[email protected]
a1cbc8b - Enable HTTP/2 for the events API and stream write requests.
@workflow/[email protected]
8393716 - Fix the run trace detail panel flickering its Input/Output sections when navigating between spans. Span detail is now driven by a single selection-derived state machine (useSelectedSpanDetail) whose loading state stays in phase with the selected span, replacing the fetch flag that lagged selection by a few renders.
#2632 7c1e2a2 @VaguelySerious - Fix run and event observability pages hanging (~16s) and showing no data in the bundled server build, caused by HTTP/2 requests failing to reach node:http2.@workflow/[email protected]
#2619 8c12132 @mitul-s - Extend cn with custom tailwind-merge class groups for the design-system typography and material utilities, and move it to its own lib/cn module.
#2637 8393716 @mitul-s - Fix the run trace detail panel flickering its Input/Output sections when navigating between spans. Span detail is now driven by a single selection-derived state machine (useSelectedSpanDetail) whose loading state stays in phase with the selected span, replacing the fetch flag that lagged selection by a few renders.
#2613 148d474 @karthikscale3 - Use workflow event occurrence timestamps for span timing, span detail lifecycle fields, and event row display when available.
#2614 a9a1d99 @mitul-s - Remove the drop shadow from the off-screen marker indicator button in the trace viewer.@workflow/[email protected]
#1863 d580326 @VaguelySerious - Expose totalUsage and finishReason on the DurableAgent.stream() result, mirroring the AI SDK's GenerateTextResult/StreamTextResult and the existing onFinish event payload.
8cdfd85 - WorkflowChatTransport now repairs UI message stream part framing, so duplicated or interleaved durable stream writes no longer crash the AI SDK consumer with Received text-delta for missing text part.
#2082 eff215c @VaguelySerious - WorkflowChatTransport now drops orphan UI chunks (deltas/ends with no matching *-start in the resumed window) when reconnecting with an initialStartIndex not matching a UI chunk boundary, instead of throwing.
#2635 aa71766 @NathanColosimo - Suppress chat transport console errors for intentional AbortError stream closes.
096faf0 - Reduce DurableAgent step boundary payload by reconstructing StepResult outside the step instead of inside.@workflow/[email protected]
#2594 55e2110 @ijjk - Fix fast workflow discovery for JS files imported through basenames like ./hello.step.
@workflow/[email protected]
#2572 6f4dd0e @NathanColosimo - Reload rebuilt step bundles during Vite development.
a1cbc8b - Fix HTTP/2 requests failing in production builds (Vite/Nitro, TanStack Start) where undici's bundled node:http2 could not load and fell back to a stub.@workflow/[email protected]
a1cbc8b - Fix HTTP/2 requests failing in SvelteKit production builds (undici's bundled node:http2 could not load, falling back to a stub).
Original source - Jun 24, 2026
- Date parsed from source:Jun 24, 2026
- First seen by Releasebot:Jun 24, 2026
Workflow Development Kit by Vercel
Workflow Development Kit simplifies workflow build output and adds event timestamps to derived observability data.
@workflow/[email protected]
#2565 3fd4cc5 @ijjk - Collapse default workflow build output to a single completion summary and move detailed progress logs behind DEBUG=workflow:build.
@workflow/[email protected]
#2608 b9a10d8 @karthikscale3 - Thread workflow event occurrence timestamps into derived observability entity data.
@workflow/[email protected]
#2565 3fd4cc5 @ijjk - Collapse default workflow build output to a single completion summary and move detailed progress logs behind DEBUG=workflow:build.
Original source - Jun 23, 2026
- Date parsed from source:Jun 23, 2026
- First seen by Releasebot:Jun 24, 2026
Workflow Development Kit by Vercel
Workflow Development Kit adds OpenTelemetry spans and route timing around /flow initialization.
@workflow/[email protected]
#2592 2bf5257 @karthikscale3 - Add OpenTelemetry spans, turbo tagging, and generated-route module timing around /flow initialization.
@workflow/[email protected]
#2595 5a57547 @mitul-s - Use text-gray-900 for trace shortcut helper text.
@workflow/[email protected]
#2592 2bf5257 @karthikscale3 - Add OpenTelemetry spans, turbo tagging, and generated-route module timing around /flow initialization.
Original source - Jun 23, 2026
- Date parsed from source:Jun 23, 2026
- First seen by Releasebot:Jun 24, 2026
Workflow Development Kit by Vercel
Workflow Development Kit releases beta updates with faster Turbo mode request handling, optional client-side event timestamps, improved trace details, richer JSON and clipboard rendering in the web UI, and Next.js workflow discovery and cache prewarming.
@workflow/[email protected]
- #2569 d108ba3 @VaguelySerious - Turbo mode now tells world-vercel to skip the run_started event-log preload it never reads, reducing request time.
@workflow/[email protected]
- #2580 25c3df7 @karthikscale3 - Send optional client-side event occurrence timestamps through world event creation.
- #2569 d108ba3 @VaguelySerious - Turbo mode now tells world-vercel to skip the run_started event-log preload it never reads, reducing request time.
@workflow/[email protected]
- #2580 25c3df7 @karthikscale3 - Send optional client-side event occurrence timestamps through world event creation.
@workflow/[email protected]
- #2580 25c3df7 @karthikscale3 - Send optional client-side event occurrence timestamps through world event creation.
- #2424 d476d7a @VaguelySerious - Use v3 endpoint for stream reads, which supports automatic transparent reconnects.
- #2569 d108ba3 @VaguelySerious - Turbo mode now tells world-vercel to skip the run_started event-log preload it never reads, reducing request time.
@workflow/[email protected]
- #2582 6855282 @mitul-s - Add helper text that indicates keyboard shortcuts
@workflow/[email protected]
- #2582 6855282 @mitul-s - Add helper text that indicates keyboard shortcuts
- #2434 6512d38 @mitul-s - Export serializeForClipboard from the copyable data block and add unit tests covering its clipboard serialization and the CopyableDataBlock/EncryptedDataBlock rendering.
- #2434 6512d38 @mitul-s - Rework the data inspector's JSON rendering: bracket notation ({ … } / [ … ]), colored keys, typed value colors, ▸/▾ disclosure icons, trailing commas, and a ... collapsed indicator. Replaces the react-inspector engine with an in-house tree renderer while keeping the workflow-specific value handling (StreamRef/RunRef badges, encrypted markers, decoded byte streams, dates, class instances).
- #2581 0964b83 @karthikscale3 - Show event occurrence timestamps in the trace detail panel when present.
@workflow/[email protected]
- #2538 22b2728 @NathanColosimo - Prewarm the Workflow SWC plugin cache before Next.js starts parallel loader workers.
- #2564 332c63c @NathanColosimo - Discover workflows imported by Next.js instrumentation, middleware, and proxy entrypoints.
Curated by the Releasebot team
Releasebot is an aggregator of official product update announcements from hundreds of software vendors and thousands of sources.
Our editorial process involves the manual review and audit of release notes procured with the help of automated systems.