workflow@5.0.0-beta.42
Pre-release
Pre-release
Immutable
release. Only release title and notes can be modified.
@workflow/core@5.0.0-beta.42
- #3365
7683130@TooTallNate - Resilient step dispatch: newly created steps are published to the queue in parallel with theirstep_createdevent write, with the serialized input carried on the message (stepInput) so the consumer re-ensures the event if the direct write failed transiently — mirroring resilient start (runInput) and resilient hook resume (hookInput). Worlds that enforce the precondition guard keep the sequential create-then-publish dispatch (only sequencing gives the message a happens-after edge over the create's guard verdict); step-dispatch idempotency keys are now step-identity-scoped. Disable viaWORKFLOW_RESILIENT_STEP_DISPATCH=0. - #3462
9add9d7@NathanColosimo - Reject compact sparse-array payloads with logical lengths above 100,000 during hydration. - #3519
dc85865@VaguelySerious - Remove thepreconditionGuardWorld capability. A stale replay-context write no longer needs to be rejected: a reader holds a prefix of the log, replay is deterministic on a prefix, and the writer's next write reports the events it was pushed past. - #3381
efbc408@VaguelySerious - Ignore duplicate events that a concurrent replay wrote for an entity the event log already records, instead of failing the run with a corrupted event log - #3530
c041d3d@alangenfeld - Retry e2e tests once in CI and surface retried-then-passed tests as flaky in annotations and the PR results comment. - #3531
60dd206@alangenfeld - Fix flaky timing-sensitive tests: stall-proof budgets for the events-consumer deferred-check tests and a sibling-matched budget for the TTL-expiration abort e2e test. - #3437
a0ccfe0@karthikscale3 - Add OTEL telemetry for hook-triggered time-to-resume:workflow.resume.total_msplus a non-overlapping phase breakdown, on the first durable step after a resume. - #3552
3560218@AndrewBarba - Preserve event-log order when adjacent hook payloads resume independent workflow branches. - #3542
de2a86c@VaguelySerious - Breaking: New runs are created at spec version 6, and a World that declares an older spec version is now rejected before the first run rather than failing partway through one. - #3519
dc85865@VaguelySerious - Require every event id the runtime reads to be a log position.requireEventSlotreplaces the lenient decode that returned "no position" for an id that is not a slot. - #3519
dc85865@VaguelySerious - Turn resilient step dispatch off by default. SetWORKFLOW_RESILIENT_STEP_DISPATCH=1to opt back in. - #3479
b589460@VaguelySerious - Replay-context event writes now always report the log position they replayed from, and theWORKFLOW_PRECONDITION_GUARDflag is removed. - #3410
c1a5c74@alangenfeld - Surface typed terminal errors when stream retention expires.
@workflow/world@5.0.0-beta.27
- #3390
600b096@alangenfeld - Add a bounded batch analytics event lookup for enriching canonical event pages. - #3365
7683130@TooTallNate - Resilient step dispatch: newly created steps are published to the queue in parallel with theirstep_createdevent write, with the serialized input carried on the message (stepInput) so the consumer re-ensures the event if the direct write failed transiently — mirroring resilient start (runInput) and resilient hook resume (hookInput). Worlds that enforce the precondition guard keep the sequential create-then-publish dispatch (only sequencing gives the message a happens-after edge over the create's guard verdict); step-dispatch idempotency keys are now step-identity-scoped. Disable viaWORKFLOW_RESILIENT_STEP_DISPATCH=0. - #3519
dc85865@VaguelySerious - Remove thepreconditionGuardWorld capability. A stale replay-context write no longer needs to be rejected: a reader holds a prefix of the log, replay is deterministic on a prefix, and the writer's next write reports the events it was pushed past. - #3381
efbc408@VaguelySerious - Ignore duplicate events that a concurrent replay wrote for an entity the event log already records, instead of failing the run with a corrupted event log - #3437
a0ccfe0@karthikscale3 - Add OTEL telemetry for hook-triggered time-to-resume:workflow.resume.total_msplus a non-overlapping phase breakdown, on the first durable step after a resume. - #3542
de2a86c@VaguelySerious - Breaking: New runs are created at spec version 6, and a World that declares an older spec version is now rejected before the first run rather than failing partway through one. - #3519
dc85865@VaguelySerious - Require every event id the runtime reads to be a log position.requireEventSlotreplaces the lenient decode that returned "no position" for an id that is not a slot. - #3519
dc85865@VaguelySerious - Slot-numbered event ids are a requirement of the World contract, not a capability. TheslotEventIdsflag is gone, and the conformance suite now fails a World whose event ids are not positions. - #3479
b589460@VaguelySerious - Replay-context event writes now always report the log position they replayed from, and theWORKFLOW_PRECONDITION_GUARDflag is removed.
@workflow/world-local@5.0.0-beta.36
- #3542
de2a86c@VaguelySerious - Breaking: New runs are created at spec version 6, and a World that declares an older spec version is now rejected before the first run rather than failing partway through one. - #3519
dc85865@VaguelySerious - Slot-numbered event ids are a requirement of the World contract, not a capability. TheslotEventIdsflag is gone, and the conformance suite now fails a World whose event ids are not positions. - #3492
0f4b35f@VaguelySerious - FixCORRUPTED_EVENT_LOGafter a hook resume that raced another writer or was interrupted mid-write, and deliver a raced resume exactly once instead of duplicating it or reporting a conflict.
@workflow/world-postgres@5.0.0-beta.34
- #3542
de2a86c@VaguelySerious - Breaking: New runs are created at spec version 6, and a World that declares an older spec version is now rejected before the first run rather than failing partway through one. - #3519
dc85865@VaguelySerious - Slot-numbered event ids are a requirement of the World contract, not a capability. TheslotEventIdsflag is gone, and the conformance suite now fails a World whose event ids are not positions.
@workflow/world-vercel@5.0.0-beta.38
- #3390
600b096@alangenfeld - Add a bounded batch analytics event lookup for enriching canonical event pages. - #3365
7683130@TooTallNate - Resilient step dispatch: newly created steps are published to the queue in parallel with theirstep_createdevent write, with the serialized input carried on the message (stepInput) so the consumer re-ensures the event if the direct write failed transiently — mirroring resilient start (runInput) and resilient hook resume (hookInput). Worlds that enforce the precondition guard keep the sequential create-then-publish dispatch (only sequencing gives the message a happens-after edge over the create's guard verdict); step-dispatch idempotency keys are now step-identity-scoped. Disable viaWORKFLOW_RESILIENT_STEP_DISPATCH=0. - #3519
dc85865@VaguelySerious - Remove thepreconditionGuardWorld capability. A stale replay-context write no longer needs to be rejected: a reader holds a prefix of the log, replay is deterministic on a prefix, and the writer's next write reports the events it was pushed past. - #3536
63cc09e@shalabhc - Add the Workflow client version, step-to-step overhead, and active latency optimizations to terminal event-write client spans for service and version latency analysis. - #3542
de2a86c@VaguelySerious - Breaking: New runs are created at spec version 6, and a World that declares an older spec version is now rejected before the first run rather than failing partway through one. - #3519
dc85865@VaguelySerious - Slot-numbered event ids are a requirement of the World contract, not a capability. TheslotEventIdsflag is gone, and the conformance suite now fails a World whose event ids are not positions. - #3479
b589460@VaguelySerious - Replay-context event writes now always report the log position they replayed from, and theWORKFLOW_PRECONDITION_GUARDflag is removed. - #3410
c1a5c74@alangenfeld - Surface typed terminal errors when stream retention expires. - #3504
8d8b7b3@TooTallNate - Retry 429 (ThrottleError) event writes in-process, honoring the server'sRetry-After, bounded by a 30s cumulative wait budget per write. Previously a throttled event write escaped to the queue handler, whose retry directive can be delayed up to ~5 minutes by queue redelivery scheduling. - #3452
01991ed@shalabhc - Restore the per-event client span on the WebSocket events transport (WORKFLOW_EVENTS_TRANSPORT=ws), and add aworkflow.events.ws.connectspan for the handshake. Event write spans now carryworkflow.events.transportandworkflow.event.typeon both transports.
@workflow/world-testing@5.0.0-beta.42
- #3542
de2a86c@VaguelySerious - Breaking: New runs are created at spec version 6, and a World that declares an older spec version is now rejected before the first run rather than failing partway through one. - #3519
dc85865@VaguelySerious - Slot-numbered event ids are a requirement of the World contract, not a capability. TheslotEventIdsflag is gone, and the conformance suite now fails a World whose event ids are not positions.
@workflow/web-shared@5.0.0-beta.42
- #3295
14b52ac@mitul-s - Replace hard-coded shared observability component styles with Tailwind utilities. - #3295
14b52ac@mitul-s - Replace static trace viewer styles with Tailwind theme utilities. - #3467
834d1f9@VaguelySerious - Mark ignored duplicate events in the observability UI and, when the whole event log is loaded, exclude them from derived step status, durations, and trace spans
@workflow/errors@5.0.0-beta.17
- #3479
b589460@VaguelySerious - Replay-context event writes now always report the log position they replayed from, and theWORKFLOW_PRECONDITION_GUARDflag is removed. - #3410
c1a5c74@alangenfeld - Surface typed terminal errors when stream retention expires.