Skip to content

workflow@5.0.1

Choose a tag to compare

@github-actions github-actions released this 01 Oct 20:55
Immutable release. Only release title and notes can be modified.
ed4ff9e

@workflow/core@5.0.1

  • #4531 14dbfdc @alangenfeld - Dynamic start() refusals (opt-in, validation, same-deployment, World capability, execution-context budget) are now fatal, so a start() inside a step fails fast instead of retrying.
  • #4530 1fcf4bb @alangenfeld - Dynamic start() now publishes the run only after run_created confirms its code was stored, so a refused or failed create can no longer leave an executing run behind.
  • #4534 0147fa5 @alangenfeld - Dynamic start() validation: cap exportName at 64 characters, detect "use step" only as a real directive, and name non-async, generator, and duplicate workflow declarations.
  • #4328 0e64f7b @VaguelySerious - Stop re-executing a running lazy or pre-claimed inline step when its message is redelivered.
  • #4551 e915eab @VaguelySerious - Fix nuxt dev and other Nitro v2 dev servers failing with a Rollup "already an existing non-external module id" error, and with "Workflow world runtime was not initialized" after it.
  • #3251 b79ad01 @TooTallNate - Add experimental threshold-based VM-memory snapshotting to the QuickJS engine via WORKFLOW_SNAPSHOT_THRESHOLD (or per-run executionContext.snapshotThreshold). Once the configured number of events has been processed since the last snapshot, suspensions persist a compressed, encrypted VM snapshot, which is later used for resumption. Runs without an encryption key are only snapshotted with WORKFLOW_SNAPSHOT_ALLOW_UNENCRYPTED=1
  • #4575 3b09dd7 @VaguelySerious - Fix webhooks returning 404 on Nitro apps running Node 24, where serializing the request's headers failed.
  • #4549 98442de @VaguelySerious - Errors with a read-only stack, such as postgres.js query errors, are now reported as thrown instead of being replaced by Cannot assign to read only property 'stack'.

@workflow/world@5.0.1

  • #3251 b79ad01 @TooTallNate - Add experimental threshold-based VM-memory snapshotting to the QuickJS engine via WORKFLOW_SNAPSHOT_THRESHOLD (or per-run executionContext.snapshotThreshold). Once the configured number of events has been processed since the last snapshot, suspensions persist a compressed, encrypted VM snapshot, which is later used for resumption. Runs without an encryption key are only snapshotted with WORKFLOW_SNAPSHOT_ALLOW_UNENCRYPTED=1
  • #3250 2084d35 @TooTallNate - Add an optional, experimental experimental_snapshots storage interface for the QuickJS engine's VM-memory snapshotting (save/load/delete plus SnapshotMetadata, and encodeSnapshotEnvelope/decodeSnapshotEnvelope.

@workflow/world-local@5.0.1

  • #3250 2084d35 @TooTallNate - Add an optional, experimental experimental_snapshots storage interface for the QuickJS engine's VM-memory snapshotting (save/load/delete plus SnapshotMetadata, and encodeSnapshotEnvelope/decodeSnapshotEnvelope.

@workflow/world-postgres@5.0.1

  • #4355 479a78d @cwdx - Add pollInterval option and WORKFLOW_POSTGRES_POLL_INTERVAL_MS env var for the Graphile Worker poll interval (default 500).
  • #3250 2084d35 @TooTallNate - Add an optional, experimental experimental_snapshots storage interface for the QuickJS engine's VM-memory snapshotting (save/load/delete plus SnapshotMetadata, and encodeSnapshotEnvelope/decodeSnapshotEnvelope.

@workflow/world-vercel@5.0.1

  • #4557 6eaa899 @SandboxRD - Fix createQueueDispatcher() and createEventsDispatcher() crashing under Bun with compose is not a function. Bun resolves undici to its built-in module, whose dispatchers can't compose interceptors and are ignored by Bun's fetch, so the plain dispatcher is used instead.
  • #4534 0147fa5 @alangenfeld - The dynamic execution-context budget error now says that step IDs and exportName count, not only aliases.
  • #3250 2084d35 @TooTallNate - Add an optional, experimental experimental_snapshots storage interface for the QuickJS engine's VM-memory snapshotting (save/load/delete plus SnapshotMetadata, and encodeSnapshotEnvelope/decodeSnapshotEnvelope.
  • #4566 dff10ba @shalabhc - Add WORKFLOW_EVENTS_TRANSPORT_WS_OVERRIDE_WORKFLOWS, a comma-separated list of workflows whose runs use the WebSocket events transport even when WORKFLOW_EVENTS_TRANSPORT is http or unset.
  • #4504 7fb0575 @shalabhc - The WebSocket events transport now limits the size of each message. Any frame over WORKFLOW_WS_MAX_MESSAGE_BYTES (default 12 MiB, at most 16 MiB) is sent as several messages and rebuilt by the receiver. The client offers frame-parts in the x-workflow-ws-flags upgrade header so the backend can split large replies too.
  • #4510 37ddf00 @alangenfeld - Split stream WebSocket write groups by encoded message bytes as well as chunk count, bounded by WORKFLOW_WS_MAX_MESSAGE_BYTES (default 12 MiB, at most 16 MiB).
  • #4381 0648d16 @alangenfeld - Retry throttled (429) stream WebSocket writes and closes after Retry-After, moving to HTTP when the socket closes or the wait budget runs out, and retry a close 5xx over HTTP instead of failing the writer.

@workflow/ai@5.0.1

  • #4548 662ff5d @VaguelySerious - Publish the 5.x release of @workflow/ai. The 5.0.0 on npm is an old pre-release build that requires workflow 4.x; use 5.0.1 or later with workflow 5.

@workflow/builders@5.0.1

  • #3954 ff4a0fd @withkarann - Fix directive discovery missing "use step" and "use workflow" when a backtick appears earlier in a comment or regex literal
  • #4537 65ca6c8 @VaguelySerious - Keep JSON import attributes in generated bundles, and stop bundling the builder's own serde checker into step and workflow bundles
  • #4547 a11d037 @VaguelySerious - Fix next dev not bundling a workflow that is created after its import, or deleted and restored

@workflow/next@5.0.1

  • #4547 a11d037 @VaguelySerious - Fix next dev not bundling a workflow that is created after its import, or deleted and restored
  • #4396 156e023 @pranaygp - Scope the Next dev watcher to the framework module graph and stop opening a file descriptor per source file, which fixes file watch limits being reached on large projects

@workflow/nitro@5.0.1

  • #4551 e915eab @VaguelySerious - Fix nuxt dev and other Nitro v2 dev servers failing with a Rollup "already an existing non-external module id" error, and with "Workflow world runtime was not initialized" after it.