Skip to content

workflow@4.7.0

Choose a tag to compare

@github-actions github-actions released this 29 Jul 00:41
Immutable release. Only release title and notes can be modified.
99d1a0c

@workflow/core@4.7.0

  • #3079 12e4ef7 @VaguelySerious - Add an optimistic-concurrency guard for event creation (on by default; opt out with WORKFLOW_PRECONDITION_GUARD=0): replay-context event creations send a stateUpdatedAt snapshot timestamp, and the runtime reloads the event log and retries (then falls back to a fresh re-invocation) when the backend reports a newer out-of-band event with a 412 PreconditionFailedError. Backends without guard support ignore the snapshot, so this is backward-compatible and fails open.

@workflow/world@4.3.0

  • #3079 12e4ef7 @VaguelySerious - Add an optimistic-concurrency guard for event creation (on by default; opt out with WORKFLOW_PRECONDITION_GUARD=0): replay-context event creations send a stateUpdatedAt snapshot timestamp, and the runtime reloads the event log and retries (then falls back to a fresh re-invocation) when the backend reports a newer out-of-band event with a 412 PreconditionFailedError. Backends without guard support ignore the snapshot, so this is backward-compatible and fails open.

@workflow/world-vercel@4.6.0

  • #3079 12e4ef7 @VaguelySerious - Add an optimistic-concurrency guard for event creation (on by default; opt out with WORKFLOW_PRECONDITION_GUARD=0): replay-context event creations send a stateUpdatedAt snapshot timestamp, and the runtime reloads the event log and retries (then falls back to a fresh re-invocation) when the backend reports a newer out-of-band event with a 412 PreconditionFailedError. Backends without guard support ignore the snapshot, so this is backward-compatible and fails open.
  • #3169 9d8b293 @VaguelySerious - Bound HTTP requests with a 30s headers/body timeout instead of undici's 5-minute default, and retry transport timeouts and other transient failures in-process, so a stalled connection no longer leaves a run silently paused for ~5 minutes until the queue redelivers it. Override with WORKFLOW_VERCEL_HEADERS_TIMEOUT_MS / WORKFLOW_VERCEL_BODY_TIMEOUT_MS.

@workflow/world-testing@4.1.14

  • #3055 c77a82d @VaguelySerious - Fix flaky Local World tests caused by concurrent test servers sharing one data directory and re-enqueuing each other's in-flight runs on startup

@workflow/sveltekit@4.0.14

  • #3166 f2714c5 @TooTallNate - The generated webhook route now passes the incoming request directly to its handler instead of copying it into a new Request, so the request body is no longer read before the handler runs.

@workflow/astro@4.0.14

  • #3166 f2714c5 @TooTallNate - The generated webhook route now passes the incoming request directly to its handler instead of copying it into a new Request, so the request body is no longer read before the handler runs.

@workflow/errors@4.2.0

  • #3079 12e4ef7 @VaguelySerious - Add an optimistic-concurrency guard for event creation (on by default; opt out with WORKFLOW_PRECONDITION_GUARD=0): replay-context event creations send a stateUpdatedAt snapshot timestamp, and the runtime reloads the event log and retries (then falls back to a fresh re-invocation) when the backend reports a newer out-of-band event with a 412 PreconditionFailedError. Backends without guard support ignore the snapshot, so this is backward-compatible and fails open.