Skip to content

workflow@5.0.0-beta.36

Pre-release
Pre-release

Choose a tag to compare

@github-actions github-actions released this 22 Jul 16:58
Immutable release. Only release title and notes can be modified.
1225258

@workflow/core@5.0.0-beta.36

  • #2865 a5e6f11 @NathanColosimo - Add experimental_minRetention for keeping a Hook token unavailable after its run ends, and require supporting Worlds to advertise the hookRetention capability.
  • #2946 eb8fdb9 @VaguelySerious - The WORKFLOW_PRECONDITION_GUARD event-creation guard is now on by default; opt out with WORKFLOW_PRECONDITION_GUARD=0.
  • #2993 6d1d700 @NathanColosimo - Avoid resolving run data before background step execution.
  • #2996 d8071bb @joeyhotz - Cache self-hosted step port discovery per process.
  • #2986 fe12b84 @shalabhc - Enforce a server-supplied per-run event limit (default 25K)
  • #2970 bb773e9 @VaguelySerious - Keep the inline event-log delta fast path active with open hooks when WORKFLOW_PRECONDITION_GUARD=1 and the World declares capabilities.preconditionGuard. The lazy inline step_started claim now carries the guard snapshot so a stale replay's claim is fenced (412 → fresh replay), and guard-enforced batches with an open hook take the await-then-run path so a fenced claim never executes the step body.
  • #2980 268fede @NathanColosimo - Prepare encrypted replay payloads concurrently and cache the decrypted, decompressed representation for reuse across inline replay iterations.
  • #3035 9177ba8 @VaguelySerious - Enforce maxRetries for inline and backgrounded steps that time out
  • #2995 6353c8c @VaguelySerious - Fix stream writes never batching: flushablePipe awaited each writer.write() and the WritableStream sink serialized chunks one at a time, so the server writable's buffer never held more than one chunk and its writeMulti batching path never engaged — every chunk became its own server round trip. The server writable now exposes a durable batch write that flushablePipe uses to coalesce chunks arriving while a previous write is in flight into a single writeMulti, while preserving the existing durability guarantees. Coalesced batches are split at chunk-count and byte wire limits (WORKFLOW_STREAM_MAX_CHUNKS_PER_BATCH, WORKFLOW_STREAM_MAX_BYTES_PER_BATCH), independent of the read-ahead backpressure bound (WORKFLOW_STREAM_MAX_INFLIGHT_CHUNKS).

@workflow/world@5.0.0-beta.22

  • #2915 7d29bab @joeyhotz - Add runs.getMany() for retrieving ordered workflow run snapshots in one storage operation.
  • #2865 a5e6f11 @NathanColosimo - Add experimental_minRetention for keeping a Hook token unavailable after its run ends, and require supporting Worlds to advertise the hookRetention capability.
  • #2970 bb773e9 @VaguelySerious - Add an optional capabilities?: WorldCapabilities field to the World interface so implementations can declare backend feature support (preconditionGuard, maxConcurrency) instead of the runtime inferring it from environment variables; the Vercel World declares both.
  • #2986 fe12b84 @shalabhc - Enforce a server-supplied per-run event limit (default 25K)
  • #2946 eb8fdb9 @VaguelySerious - The WORKFLOW_PRECONDITION_GUARD event-creation guard is now on by default; opt out with WORKFLOW_PRECONDITION_GUARD=0.

@workflow/world-local@5.0.0-beta.30

  • #2915 7d29bab @joeyhotz - Add runs.getMany() for retrieving ordered workflow run snapshots in one storage operation.
  • #2987 850777a @VaguelySerious - Reject hook_received on terminal runs, including when the termination commits concurrently (cross-process) and for legacy (pre-event-sourcing) runs.

@workflow/world-postgres@5.0.0-beta.28

  • #2915 7d29bab @joeyhotz - Add runs.getMany() for retrieving ordered workflow run snapshots in one storage operation.
  • #2987 850777a @VaguelySerious - Reject hook_received on terminal runs, including when the termination commits concurrently (cross-process) and for legacy (pre-event-sourcing) runs.
  • #2983 3ddf42e @joeyhotz - Throw EntityConflictError when a run_created event targets a run that already exists, instead of resolving with no run. This matches world-local and world-vercel, and stops start() from throwing Missing 'run' in server response for 'run_created' event when the resilient start path wins the race.

@workflow/world-vercel@5.0.0-beta.32

  • #2915 7d29bab @joeyhotz - Add runs.getMany() for retrieving ordered workflow run snapshots in one storage operation.
  • #2865 a5e6f11 @NathanColosimo - Add experimental_minRetention for keeping a Hook token unavailable after its run ends, and require supporting Worlds to advertise the hookRetention capability.
  • #2986 fe12b84 @shalabhc - Enforce a server-supplied per-run event limit (default 25K)
  • #2951 6f032d7 @karthikscale3 - Decode stable-line CBOR structured errors when reading v4 workflow events while preserving current serialized error payloads.
  • #2959 457e671 @alangenfeld - Log the underlying queue handler error before retrying a failed delivery.
  • #3013 9078126 @NathanColosimo - Retry transient connection timeouts so Eve can resume existing workflow runs after brief network failures.
  • #3038 59c1369 @karthikscale3 - Retry stream close on retriable 5xx. Close is idempotent on the server (unlike chunk appends, which keep their no-5xx retry policy), and the server may return retriable 503s expecting the writer to close again.
  • #2970 bb773e9 @VaguelySerious - Add an optional capabilities?: WorldCapabilities field to the World interface so implementations can declare backend feature support (preconditionGuard, maxConcurrency) instead of the runtime inferring it from environment variables; the Vercel World declares both.
  • #2998 4ecbe7e @ruiconti - Append caller-provided user-agent tokens to the world-vercel user-agent instead of discarding them.

@workflow/web-shared@5.0.0-beta.36

  • #2985 621b04e @mitul-s - Trace viewer: holding Alt with a span selected now measures the time delta between the selected span and any hovered span, Figma-style; the no-selection Alt gap overlay is restyled to the same measurement-line design.
  • #2968 1973317 @mitul-s - Adjust helper position on trace viewer
  • #2962 774e12c @mitul-s - Show a delayed tooltip (Step, Hook, Sleep, Workflow) when hovering the icon on each row in the new trace viewer's event list.

@workflow/builders@5.0.0-beta.36

@workflow/errors@5.0.0-beta.12

@workflow/nest@5.0.0-beta.36

  • #2988 542138d @VaguelySerious - Add workflow-nest build --vercel command for emitting a Vercel Build Output API directory, enabling deployment of NestJS apps on Vercel. Breaking: NestLocalBuilder moved from the package root to the @workflow/nest/builder (workflow/nest/builder) subpath so importing WorkflowModule no longer pulls the build toolchain into the runtime bundle; the new NestVercelBuilder lives at @workflow/nest/vercel-builder (workflow/nest/vercel-builder).