Workflow Development Kit Release Notes

Last updated: Mar 13, 2026

  • Mar 13, 2026
    • Date parsed from source:
      Mar 13, 2026
    • First seen by Releasebot:
      Mar 13, 2026
    Vercel logo

    Workflow Development Kit by Vercel

    Vercel releases a wave of beta updates across workflow packages at 4.2.x and 4.1.x, detailing fixes to error handling, startup checks, Windows ESM URL handling, env var behavior, and observability UX. It marks improved reliability and developer experience in core runtimes and web tools.

    @workflow/[email protected]

    • #1339 7df1385 @TooTallNate - Separate infrastructure vs user code error handling in workflow and step runtimes so transient network errors (ECONNRESET, etc.) propagate to the queue for retry instead of incorrectly marking runs as failed

    • #1345 58e67ce @TooTallNate - Suppress stale WORKFLOW_VERCEL_* env var warning when running outside Vercel serverless (e.g. CLI, web observability app)

    @workflow/[email protected]

    • #1343 3c3f80a @TooTallNate - Fix -e short flag collision between --endpoint and --env in health command

    • #1350 9f3551c @TooTallNate - Support WORKFLOW_NO_UPDATE_CHECK=1 env var to skip the npm registry version check on startup

    @workflow/[email protected]

    • #1348 9feebee @VaguelySerious - Ensure atomicity for hook token, matches world-postgres and world-vercel

    @workflow/[email protected]

    • #1346 73c12f1 @TooTallNate - Fix ERR_UNSUPPORTED_ESM_URL_SCHEME on Windows by converting absolute file paths to file:// URLs before passing them to dynamic import()

    • #1358 5c6ae60 @karthikscale3 - Improve workflow observability UX with decoupled pagination, stream virtualization, and decrypt actions

    • #1366 d6da7ec @karthikscale3 - Fix stale encryptionKey closure in events list data hook in web

    @workflow/[email protected]

    • #1358 5c6ae60 @karthikscale3 - Improve workflow observability UX with decoupled pagination, stream virtualization, and decrypt actions

    @workflow/[email protected]

    • #1346 73c12f1 @TooTallNate - Fix ERR_UNSUPPORTED_ESM_URL_SCHEME on Windows by converting absolute file paths to file:// URLs before passing them to dynamic import()

    @workflow/[email protected]

    • #1346 73c12f1 @TooTallNate - Fix ERR_UNSUPPORTED_ESM_URL_SCHEME on Windows by converting absolute file paths to file:// URLs before passing them to dynamic import()
    Original source Report a problem
  • Mar 12, 2026
    • Date parsed from source:
      Mar 12, 2026
    • First seen by Releasebot:
      Mar 12, 2026
    Vercel logo

    Workflow Development Kit by Vercel

    Vercel releases a sweeping beta update across workflow packages, boosting client side tooling, deployment id resolution, and observability. Highlights include DurableAgent client tool support, latest deployment resolution, an exists check on runs, improved loading indicators, and URL‑safe ID encoding.

    @workflow/[email protected]

    • #1329 6d45c8e @pranaygp - Support client-side tools in DurableAgent. Tools without an execute function now pause the agent loop and return clientToolCalls in the result instead of throwing.

    @workflow/[email protected]

    • #1312 d72c822 @NathanColosimo - Fix bug where the SWC compiler prunes step-only imports in the client-mode transformation

    @workflow/[email protected]

    • #1317 825417a @TooTallNate - Support deploymentId: 'latest' in start() options to automatically resolve the most recent deployment ID for the current environment
    • #1336 fb5a500 @pranaygp - Add exists getter to Run class for checking if a workflow run exists without throwing

    @workflow/[email protected]

    • #1312 d72c822 @NathanColosimo - Fix bug where the SWC compiler prunes step-only imports in the client-mode transformation

    @workflow/[email protected]

    • #1322 d5bc418 @VaguelySerious - Update readme to call out self-hosting limitations
    • #1327 d5ae817 @VaguelySerious - Improve loading indicators for trace viewer and events list

    @workflow/[email protected]

    • #1337 c4d86fa @karthikscale3 - Polish workflow observability event list UX
    • #1322 d5bc418 @VaguelySerious - Update readme to call out self-hosting limitations
    • #1327 d5ae817 @VaguelySerious - Improve loading indicators for trace viewer and events list

    @workflow/[email protected]

    • #1317 825417a @TooTallNate - Add optional resolveLatestDeploymentId() method to the World interface for resolving the most recent deployment ID for the current deployment's environment

    @workflow/[email protected]

    • #1334 3648109 @NathanColosimo - Refactor queue handler to separate queue behavior from route call behavior and export QueueExecutor

    @workflow/[email protected]

    • #1334 3648109 @NathanColosimo - Execute Graphile jobs inline and durably reschedule delayed queue work

    @workflow/[email protected]

    • #1317 825417a @TooTallNate - Implement resolveLatestDeploymentId() that calls the Vercel API to resolve the latest deployment for the current environment
    • #1322 d5bc418 @VaguelySerious - Encode all user-supplied IDs in URL path segments with encodeURIComponent()
    Original source Report a problem
  • All of your release notes in one feed

    Join Releasebot and get updates from Vercel and hundreds of other software products.

  • Mar 12, 2026
    • Date parsed from source:
      Mar 12, 2026
    • First seen by Releasebot:
      Mar 12, 2026
    Vercel logo

    Workflow Development Kit by Vercel

    Vercel releases a suite of beta updates across workflow and web packages aimed at stability, observability, and security. Highlights include improved dependency resolution, a trace viewer refactor built from events, explicit HTTP error exposure, encryption lifecycle fixes, and runtime env handling improvements.

    @workflow/[email protected]

    • #1320 b28a5fd @TooTallNate - Use workspace:^ for the workflow peer dependency so that pnpm resolves the correct version range at publish time, fixing changeset version warnings about mismatched dependency versions

    @workflow/[email protected]

    • #1261 887cc2b @VaguelySerious - Refactor trace viewer to build spans entirely from events instead of fetching Steps and Hooks as separate resources
    • #1304 83dbd46 @TooTallNate - Stop reading WORKFLOW_VERCEL_* env vars at runtime to prevent unintended proxy routing
    • #1309 d842ce1 @TooTallNate - Surface HTTP errors (e.g. 429 rate limit) from encryption key fetch instead of silently falling back to encrypted placeholders. Add 429 to the status text map.

    @workflow/[email protected]

    • #1304 83dbd46 @TooTallNate - Stop reading WORKFLOW_VERCEL_* env vars at runtime to prevent unintended proxy routing
    • #1318 854a25f @TooTallNate - Fix start() not encrypting initial workflow input in external contexts (e2e tests, CLI). The resolved deploymentId was not being passed to getEncryptionKeyForRun, causing it to silently skip encryption when deploymentId was inferred from the environment rather than explicitly provided in options.

    @workflow/[email protected]

    • #1261 887cc2b @VaguelySerious - Refactor trace viewer to build spans entirely from events instead of fetching Steps and Hooks as separate resources
    • #1265 aa2f581 @TooTallNate - Add custom entry.server.tsx and move @react-router/node, isbot, react-router, and @react-router/express to devDependencies since the build process bundles them entirely at build time
    • #1308 33101a2 @karthikscale3 - Move decrypt operation to the entity panel inside web-shared and wire it up to web via component callback

    @workflow/[email protected]

    • #1261 887cc2b @VaguelySerious - Refactor trace viewer to build spans entirely from events instead of fetching Steps and Hooks as separate resources
    • #1305 c59dd8c @karthikscale3 - Enrich sidepanel with "resumedAt" for sleeps. Lower case the properties.
    • #1308 33101a2 @karthikscale3 - Move decrypt operation to the entity panel inside web-shared and wire it up to web via component callback

    @workflow/[email protected]

    • #1307 4a6ddd8 @TooTallNate - Return HTTP 200 instead of 503 for queue timeout re-enqueue signals in local world

    @workflow/[email protected]

    • #1262 9781afb @TooTallNate - Use VERCEL=1 to distinguish serverless runtime from external contexts for encryption key resolution
    • #1309 d842ce1 @TooTallNate - Include response body and status text in fetchRunKey error message for better debuggability of rate limit and server errors
    Original source Report a problem
  • Mar 12, 2026
    • Date parsed from source:
      Mar 12, 2026
    • First seen by Releasebot:
      Mar 12, 2026
    Vercel logo

    Workflow Development Kit by Vercel

    Vercel releases a batch of beta workflow updates across core web world and related packages. It fixes premature suspension with buffered payloads, adds workflowName and stepName metadata, and introduces single event fetch methods for detailed run views, boosting reliability and observability.

    @workflow/[email protected]

    • #1294 c71befe @pranaygp - Fix premature workflow suspension when hooks have buffered payloads and a concurrent sleep or incomplete step is pending
    • #1285 36a901d @TooTallNate - Add workflowName to getWorkflowMetadata() and stepName to getStepMetadata()

    [email protected]

    • #1285 36a901d @TooTallNate - Add workflowName to getWorkflowMetadata() and stepName to getStepMetadata()

    @workflow/[email protected]

    • #1288 5e4ef65 @VaguelySerious - Use world.events.get(eventId) instead of listByCorrelationId for loading individual event data in run detail view

    @workflow/[email protected]

    • #1287 d8daa2a @VaguelySerious - Add world.events.get(runId, eventId) to the Storage interface for fetching a single event by ID

    @workflow/[email protected]

    • #1287 d8daa2a @VaguelySerious - Add world.events.get(runId, eventId) to the Storage interface for fetching a single event by ID

    @workflow/[email protected]

    • #1287 d8daa2a @VaguelySerious - Add world.events.get(runId, eventId) to the Storage interface for fetching a single event by ID

    @workflow/[email protected]

    • #1287 d8daa2a @VaguelySerious - Add world.events.get(runId, eventId) to the Storage interface for fetching a single event by ID
    Original source Report a problem
  • Mar 6, 2026
    • Date parsed from source:
      Mar 6, 2026
    • First seen by Releasebot:
      Mar 6, 2026
    Vercel logo

    Workflow Development Kit by Vercel

    Vercel releases updates across workflow packages adding immediate re-enqueue support with timeoutSeconds: 0.

    @workflow/[email protected]

    • #1290 8b5a388 @pranaygp - Support timeoutSeconds: 0 for immediate re-enqueue without arbitrary delay

    • #1283 dff00c9 @VaguelySerious - Avoid port inference in Vercel environment

    @workflow/[email protected]

    • #1290 8b5a388 @pranaygp - Support timeoutSeconds: 0 for immediate re-enqueue without arbitrary delay

    @workflow/[email protected]

    • #1290 8b5a388 @pranaygp - Support timeoutSeconds: 0 for immediate re-enqueue without arbitrary delay
    Original source Report a problem
  • Mar 6, 2026
    • Date parsed from source:
      Mar 6, 2026
    • First seen by Releasebot:
      Mar 6, 2026
    Vercel logo

    Workflow Development Kit by Vercel

    Workflow suite releases new Vitest plugin to run full workflows in the test runner, ULID run IDs validation, UI resilience to data resolution failures, client-side decryption for encrypted streams, quieter dotenv logs, and local world plugin callbacks for direct plugin hooks.

    @workflow/[email protected]

    • #1237 456c1aa @VaguelySerious - Add @workflow/vitest plugin for Vitest for running full workflows inside the test runner

    @workflow/[email protected]

    • #1273 11dcb64 @VaguelySerious - Locally validate run ID to be ULID when passed by user

    @workflow/[email protected]

    • #1278 1eaff36 @VaguelySerious - Ensure data resolution failure does not prevent run from being inspected in UI
    • #1277 97932d3 @TooTallNate - Fix encrypted stream inspection: move deserialization/decryption client-side, add --decrypt support to CLI

    @workflow/[email protected]

    • #1277 97932d3 @TooTallNate - Fix encrypted stream inspection: move deserialization/decryption client-side, add --decrypt support to CLI
    • #1273 11dcb64 @VaguelySerious - Quiet dotenv logs

    @workflow/[email protected]

    • #1237 456c1aa @VaguelySerious - Add registerHandler function to allow getting direct callbacks for plugins using local world
    Original source Report a problem
  • Mar 5, 2026
    • Date parsed from source:
      Mar 5, 2026
    • First seen by Releasebot:
      Mar 6, 2026
    Vercel logo

    Workflow Development Kit by Vercel

    New beta release across workflow packages with breaking changes and major fixes. Tokenless public webhooks by default, new isWebhook option, and HookNotFoundError across backends. Added deterministic VM seeds, encryption-aware observability, and improved hook routing, ordering, and CLI/backends stability.

    @workflow/[email protected]

    • 30e24d4 @pranaygp - BREAKING CHANGE: createWebhook() no longer accepts a token option. Webhook tokens are always randomly generated to prevent unauthorized access to the public webhook endpoint. Use createHook() with resumeHook() for deterministic server-side token patterns.
    • #1270 adfe8b6 @pranaygp - Add HookNotFoundError to @workflow/errors and adopt it across all world backends
    • #1270 adfe8b6 @pranaygp - Prevent hooks from being resumed via the public webhook endpoint by default. Add isWebhook option to createHook() to opt-in to public resumption. createWebhook() always sets isWebhook: true.
    • #1251 7618ac3 @TooTallNate - Wire AES-GCM encryption into serialization layer with stream support
    • #1246 860531d @TooTallNate - Route all event-driven promise resolutions through a sequential queue to ensure deterministic ordering
    • #1254 60bc9d5 @TooTallNate - Fix false positive unconsumed event detection during async deserialization and cross-VM promise propagation
    • #1256 bbe40ff @TooTallNate - Add encryption-aware o11y for CLI and web UI
    • #1269 a7ae7e9 @pranaygp - Improve deterministic VM context seed derivation to incorporate additional run metadata

    @workflow/[email protected]

    • #1263 b68ed63 @TooTallNate - Fix CLI 401 errors by reading orgId from per-project entry in repo.json for newer Vercel CLI versions
    • #1256 bbe40ff @TooTallNate - Add encryption-aware o11y for CLI and web UI

    @workflow/[email protected]

    • #1270 adfe8b6 @pranaygp - Prevent hooks from being resumed via the public webhook endpoint by default. Add isWebhook option to createHook() to opt-in to public resumption. createWebhook() always sets isWebhook: true.

    @workflow/[email protected]

    • #1270 adfe8b6 @pranaygp - Add HookNotFoundError to @workflow/errors and adopt it across all world backends
    • #1270 adfe8b6 @pranaygp - Prevent hooks from being resumed via the public webhook endpoint by default. Add isWebhook option to createHook() to opt-in to public resumption. createWebhook() always sets isWebhook: true.
    • #1275 02f706f @TooTallNate - Fix hooks.list() default sort order to ascending (creation order) in world-local and world-postgres, matching world-vercel behavior. Also fix world-postgres hooks.list() to respect the sortOrder pagination parameter instead of hardcoding descending order.

    @workflow/[email protected]

    • #1270 adfe8b6 @pranaygp - Add HookNotFoundError to @workflow/errors and adopt it across all world backends
    • #1270 adfe8b6 @pranaygp - Prevent hooks from being resumed via the public webhook endpoint by default. Add isWebhook option to createHook() to opt-in to public resumption. createWebhook() always sets isWebhook: true.
    • #1275 02f706f @TooTallNate - Fix hooks.list() default sort order to ascending (creation order) in world-local and world-postgres, matching world-vercel behavior. Also fix world-postgres hooks.list() to respect the sortOrder pagination parameter instead of hardcoding descending order.

    @workflow/[email protected]

    • #1270 adfe8b6 @pranaygp - Add HookNotFoundError to @workflow/errors and adopt it across all world backends

    @workflow/[email protected]

    • #1256 bbe40ff @TooTallNate - Add encryption-aware o11y for CLI and web UI

    @workflow/[email protected]

    • #1256 bbe40ff @TooTallNate - Add encryption-aware o11y for CLI and web UI

    @workflow/[email protected]

    • #1270 adfe8b6 @pranaygp - Add HookNotFoundError to @workflow/errors and adopt it across all world backends
    Original source Report a problem
  • Mar 3, 2026
    • Date parsed from source:
      Mar 3, 2026
    • First seen by Releasebot:
      Mar 4, 2026
    Vercel logo

    Workflow Development Kit by Vercel

    Workflow family rolls out beta updates with a new Run.wakeUp() to interrupt sleep, Next.js deferred build mode fixes, refreshed event validation, and UI tweaks. Includes directive discovery in dot-prefixed files for smoother builds.

    @workflow/[email protected]

    #1232 4ab4412 @pranaygp - Add Run.wakeUp() method to programmatically interrupt pending sleep() calls

    #1230 a9fea91 @ijjk - Fix deferred build mode for Next.js

    @workflow/[email protected]

    #1230 a9fea91 @ijjk - Fix deferred build mode for Next.js

    @workflow/[email protected]

    #1222 2b1c2bd @TooTallNate - Fix run_failed event schema validation failure in lazy ref mode

    @workflow/[email protected]

    #1235 8e0d2a8 @karthikscale3 - Fix span detail panel showing "Invalid Date" in some cases

    @workflow/[email protected]

    #1228 809339b @TooTallNate - Enable directive discovery in dot-prefixed files and directories (e.g. .config/step.ts, .hidden-workflow.ts)

    #1230 a9fea91 @ijjk - Fix deferred build mode for Next.js

    @workflow/[email protected]

    #1230 a9fea91 @ijjk - Fix deferred build mode for Next.js

    Original source Report a problem
  • Feb 27, 2026
    • Date parsed from source:
      Feb 27, 2026
    • First seen by Releasebot:
      Feb 28, 2026
    Vercel logo

    Workflow Development Kit by Vercel

    Workflow core and related packages roll out a 4.1.0-beta update with fixes to error serialization, a new hook.dispose() for releasing tokens, and warnings for uncommitted operations. Dependencies across all packages are upgraded, with HTTP/2 and queueing tweaks.

    @workflow/[email protected]

    • #1172 6f2cbcd @TooTallNate - Fix custom Error subclass serialization precedence: move Instance reducer before Error reducer so that Error subclasses with WORKFLOW_SERIALIZE are serialized using custom class serialization instead of the generic Error serialization
    • #1181 02681dc @pranaygp - Add hook.dispose() method to explicitly release hook tokens for reuse by other workflows while the current workflow is still running
    • #1185 028a828 @pranaygp - Warn when workflow completes with uncommitted operations (unawaited steps, hooks, or sleeps)
    • #1217 e55c636 @pranaygp - Upgrade dependencies across all packages

    @workflow/[email protected]

    • #1217 e55c636 @pranaygp - Upgrade dependencies across all packages

    @workflow/[email protected]

    • #1217 e55c636 @pranaygp - Upgrade dependencies across all packages

    @workflow/[email protected]

    • #1211 1cfb8b1 @VaguelySerious - Use undici v7 Agent for HTTP/2 multiplexing and automatic retry
    • #1217 e55c636 @pranaygp - Upgrade dependencies across all packages

    @workflow/[email protected]

    • #1217 e55c636 @pranaygp - Upgrade dependencies across all packages

    @workflow/[email protected]

    • #1211 1cfb8b1 @VaguelySerious - Use undici v7 Agent for HTTP/2 multiplexing and automatic retry
    • #1220 274ea8b @VaguelySerious - Vary ref resolution concurrency based on header
    • #1218 f3b2e08 @ctgowrie - Update to new queue client version
    • #1217 e55c636 @pranaygp - Upgrade dependencies across all packages

    @workflow/[email protected]

    • #1217 e55c636 @pranaygp - Upgrade dependencies across all packages

    @workflow/[email protected]

    • #1217 e55c636 @pranaygp - Upgrade dependencies across all packages

    @workflow/[email protected]

    • #1217 e55c636 @pranaygp - Upgrade dependencies across all packages

    @workflow/[email protected]

    • #1212 eea4a02 @VaguelySerious - Convert tool call errors to error-text results, allowing the agent to recover from tool call failures
    • #1217 e55c636 @pranaygp - Upgrade dependencies across all packages
    • #1199 905b94a @gsathya - Pass AbortSignal option into WorkflowChatTransport reconnect handler, allowing it to prevent reconnection.

    @workflow/[email protected]

    • #1217 e55c636 @pranaygp - Upgrade dependencies across all packages

    @workflow/[email protected]

    • #1217 e55c636 @pranaygp - Upgrade dependencies across all packages

    @workflow/[email protected]

    • #1217 e55c636 @pranaygp - Upgrade dependencies across all packages

    @workflow/[email protected]

    • #1217 e55c636 @pranaygp - Upgrade dependencies across all packages

    @workflow/[email protected]

    • #1217 e55c636 @pranaygp - Upgrade dependencies across all packages

    @workflow/[email protected]

    • #1217 e55c636 @pranaygp - Upgrade dependencies across all packages

    @workflow/[email protected]

    • #1217 e55c636 @pranaygp - Upgrade dependencies across all packages

    @workflow/[email protected]

    • #1217 e55c636 @pranaygp - Upgrade dependencies across all packages

    @workflow/[email protected]

    • #1217 e55c636 @pranaygp - Upgrade dependencies across all packages
    Original source Report a problem
  • Feb 27, 2026
    • Date parsed from source:
      Feb 27, 2026
    • First seen by Releasebot:
      Feb 27, 2026
    Vercel logo

    Workflow Development Kit by Vercel

    Workflow and world stacks roll out broad beta updates with new vercel queue clients, improved run-key handling, and memory performance tweaks. Expect security fixes, log visibility improvements, and pagination bug fixes across web, world, and ai components. This looks like shipped release notes.

    @workflow/[email protected]

    • #1135 f5ea16f @btsmithnz - Update devalue to v5.6.3 to resolve security alerts
    • #1178 70223a9 @TooTallNate - Don't enforce client-side generated runId in start() for v1Compat
    • #1164 d99ca9c @TooTallNate - Fix FatalError instance serialization

    @workflow/[email protected]

    • #1188 b06e491 @ctgowrie - New vercel queue client

    @workflow/[email protected]

    • #1002 0735b2a @rovo89 - Fix racing conditions in Postgres streamer
    • #1171 79a730a @rovo89 - Hide also "info" logs from Graphile Worker by default
    • #1124 1f9a67c @kschmelter13 - Replace queue pg-boss-based implementation with graphile-worker

    @workflow/[email protected]

    • #1189 b224521 @TooTallNate - Move event ref resolution from server-side to client-side to reduce memory pressure
    • 49d1b6d @VaguelySerious - Include total blob and stream storage size of a run in the run response
    • #1174 e1a2f47 @TooTallNate - Handle { key: null } response from the run-key API endpoint, returning undefined to signal encryption is disabled for that workflow run
    • #1183 c614456 @TooTallNate - Pass teamId to the run-key API endpoint for team-scoped encryption key retrieval
    • #1188 b06e491 @ctgowrie - New vercel queue client

    @workflow/[email protected]

    • #1124 1f9a67c @kschmelter13 - Replace queue pg-boss-based implementation with graphile-worker

    @workflow/[email protected]

    • #1182 f0823dc @karthikscale3 - Fix traceviewer pagination issues
    • #1070 a0b99c8 @alizenhom - Decompose workflow-api-client.ts into focused modules with unit tests
    • #1124 1f9a67c @kschmelter13 - Replace queue pg-boss-based implementation with graphile-worker

    @workflow/[email protected]

    • #1182 f0823dc @karthikscale3 - Fix traceviewer pagination issues
    • #1162 bf3e75f @karthikscale3 - Trace viewer side panel bug fixes and improvements
    • #1201 2838fb9 @pranaygp - Render structured error stack traces as readable pre-formatted text everywhere errors are displayed (attribute panel, sidebar events, and events tab)

    @workflow/[email protected]

    • #1023 c8c98fe @rovo89 - Pass optional request metadata through WorkflowChatTransport
    • #889 71d09c5 @michael-han-dev - strip OpenAI itemId from providerMetadata to fix Responses API tool call errors

    @workflow/[email protected]

    • #1192 339c343 @NathanColosimo - Fix loader dependency tracking to avoid package.json resolution failures.
    Original source Report a problem

Related products