Skip to content

Version Packages (beta)#340

Open
github-actions[bot] wants to merge 1 commit into
mainfrom
changeset-release/main
Open

Version Packages (beta)#340
github-actions[bot] wants to merge 1 commit into
mainfrom
changeset-release/main

Conversation

@github-actions

@github-actions github-actions Bot commented May 16, 2026

Copy link
Copy Markdown

This PR was opened by the Changesets release GitHub action. When you're ready to do a release, you can merge this and the packages will be published to npm automatically. If you're not ready to do a release yet, that's fine, whenever you add more changesets to main, this PR will be updated.

⚠️⚠️⚠️⚠️⚠️⚠️

main is currently in pre mode so this branch has prereleases rather than normal releases. If you want to exit prereleases, run changeset pre exit on main.

⚠️⚠️⚠️⚠️⚠️⚠️

Releases

@workflow/core@5.0.0-beta.20

Minor Changes

  • #2525 7aee0d4 Thanks @TooTallNate! - Derive the workflow VM's deterministic RNG seed from runId:workflowName:deploymentId (instead of including the run's startedAt) and its initial fixed clock from the ULID timestamp embedded in runId. These inputs are all available the moment a queue message arrives, decoupling VM setup from the run_started round-trip. Note: this changes the seed-derived value sequence (step/hook correlation IDs, nanoids, random values) for a given run, so runs started before this change must not be replayed across the upgrade.

  • #2516 84ccd40 Thanks @VaguelySerious! - Inline execution now runs up to WORKFLOW_MAX_INLINE_STEPS (default 3) steps in parallel per suspension, each lazily created. An opt-in WORKFLOW_OPTIMISTIC_INLINE_START (default off) additionally starts step bodies before step_started is confirmed, reconciling the in-flight start before the terminal write so a lost create-claim is discarded; it is off by default because under contention a step body can run more than once (e.g. two runs writing to the workflow stream can corrupt it), so only enable it for idempotent steps.

Patch Changes

  • #2473 16b3670 Thanks @pranaygp! - Drain consecutively consumable replay events in a single synchronous pass instead of one process.nextTick per event, removing O(N) macrotask hops from replay.

  • #2475 2074f91 Thanks @pranaygp! - Skip the per-step incremental events.list round-trip in the inline sequential loop by consuming an event-log delta returned from the step's terminal write (gated to the single-step case with no open hooks or waits).

    Add the opt-in CreateEventParams.sinceCursor contract so a step-terminal events.create can return the event-log delta since that cursor (via EventResult.events/cursor/hasMore).

    Return the inline delta from a step-terminal write when sinceCursor is supplied, computed identically to events.list so the consumed prefix cannot skew from the server log.

    Forward sinceCursor over the v4 wire in @workflow/world-vercel so the server can return the delta on a step-terminal response; older servers ignore it and the runtime falls back to events.list.

  • #2478 e7ef9d8 Thanks @pranaygp! - Lazy inline step start: the owned-inline runtime path now sends a single step_started carrying the step input, letting the world create the step on the fly and saving one round-trip per inline step.

    @workflow/world: step_started event data accepts an optional input, and EventResult gains a stepCreated ownership signal.

    @workflow/world-local: step_started with input atomically creates the step plus a synthetic step_created event; a lazy step_started for an already-existing step throws EntityConflictError so concurrent losers skip (exactly-once).

    @workflow/world-postgres: same lazy-create + exactly-once create-claim for the Postgres backend.

    @workflow/world-vercel: sends the step input on step_started over the v4 wire and threads the server's stepCreated signal into EventResult.

  • #2522 722bb7c Thanks @VaguelySerious! - Cache the local dev server port per process so workflow replays no longer re-run OS port discovery (which spawns lsof on macOS, ~60ms) on every replay.

  • #2527 de91f20 Thanks @karthikscale3! - Refine WORKFLOW_TRACE_MODE=linked (the default) so each queue-delivered workflow.execute / step.execute span nests under its local delivery context instead of starting a new trace root.

  • #2511 ab2e9b8 Thanks @VaguelySerious! - Emit workflowName on per-step events (step_created, step_completed, and lazy-start step_started) so Worlds can access it without additional queries

  • #2471 939890d Thanks @pranaygp! - Cache the compiled workflow-bundle vm.Script per process so replays reuse the compiled bundle instead of re-parsing it on every iteration.

  • #2490 a92c16d Thanks @pranaygp! - Reject an explicit empty-string token in createHook(). Omit the option (or pass undefined) to get a randomly generated token, or pass a non-empty string.

  • Updated dependencies [2074f91, e7ef9d8, ab2e9b8, 1332da3, fb5abbb]:

    • @workflow/world@5.0.0-beta.12
    • @workflow/world-local@5.0.0-beta.20
    • @workflow/world-vercel@5.0.0-beta.19
    • @workflow/errors@5.0.0-beta.8

workflow@5.0.0-beta.20

Minor Changes

  • #2516 84ccd40 Thanks @VaguelySerious! - Inline execution now runs up to WORKFLOW_MAX_INLINE_STEPS (default 3) steps in parallel per suspension, each lazily created. An opt-in WORKFLOW_OPTIMISTIC_INLINE_START (default off) additionally starts step bodies before step_started is confirmed, reconciling the in-flight start before the terminal write so a lost create-claim is discarded; it is off by default because under contention a step body can run more than once (e.g. two runs writing to the workflow stream can corrupt it), so only enable it for idempotent steps.

Patch Changes

  • #2475 2074f91 Thanks @pranaygp! - Skip the per-step incremental events.list round-trip in the inline sequential loop by consuming an event-log delta returned from the step's terminal write (gated to the single-step case with no open hooks or waits).

    Add the opt-in CreateEventParams.sinceCursor contract so a step-terminal events.create can return the event-log delta since that cursor (via EventResult.events/cursor/hasMore).

    Return the inline delta from a step-terminal write when sinceCursor is supplied, computed identically to events.list so the consumed prefix cannot skew from the server log.

    Forward sinceCursor over the v4 wire in @workflow/world-vercel so the server can return the delta on a step-terminal response; older servers ignore it and the runtime falls back to events.list.

  • #2478 e7ef9d8 Thanks @pranaygp! - Lazy inline step start: the owned-inline runtime path now sends a single step_started carrying the step input, letting the world create the step on the fly and saving one round-trip per inline step.

    @workflow/world: step_started event data accepts an optional input, and EventResult gains a stepCreated ownership signal.

    @workflow/world-local: step_started with input atomically creates the step plus a synthetic step_created event; a lazy step_started for an already-existing step throws EntityConflictError so concurrent losers skip (exactly-once).

    @workflow/world-postgres: same lazy-create + exactly-once create-claim for the Postgres backend.

    @workflow/world-vercel: sends the step input on step_started over the v4 wire and threads the server's stepCreated signal into EventResult.

  • Updated dependencies [7aee0d4, 16b3670, 2074f91, e7ef9d8, 722bb7c, de91f20, ab2e9b8, 84ccd40, 939890d, a92c16d]:

    • @workflow/core@5.0.0-beta.20
    • @workflow/cli@5.0.0-beta.20
    • @workflow/next@5.0.0-beta.20
    • @workflow/nitro@5.0.0-beta.20
    • @workflow/typescript-plugin@5.0.0-beta.4
    • @workflow/errors@5.0.0-beta.8
    • @workflow/astro@5.0.0-beta.20
    • @workflow/nest@5.0.0-beta.20
    • @workflow/rollup@5.0.0-beta.20
    • @workflow/sveltekit@5.0.0-beta.20
    • @workflow/nuxt@5.0.0-beta.20

@workflow/astro@5.0.0-beta.20

Patch Changes

  • Updated dependencies []:
    • @workflow/builders@5.0.0-beta.20
    • @workflow/rollup@5.0.0-beta.20
    • @workflow/vite@5.0.0-beta.20

@workflow/builders@5.0.0-beta.20

Patch Changes

@workflow/cli@5.0.0-beta.20

Patch Changes

@workflow/nest@5.0.0-beta.20

Patch Changes

  • Updated dependencies []:
    • @workflow/builders@5.0.0-beta.20

@workflow/next@5.0.0-beta.20

Patch Changes

@workflow/nitro@5.0.0-beta.20

Patch Changes

@workflow/nuxt@5.0.0-beta.20

Patch Changes

  • Updated dependencies []:
    • @workflow/nitro@5.0.0-beta.20

@workflow/rollup@5.0.0-beta.20

Patch Changes

  • Updated dependencies []:
    • @workflow/builders@5.0.0-beta.20

@workflow/sveltekit@5.0.0-beta.20

Patch Changes

  • Updated dependencies []:
    • @workflow/builders@5.0.0-beta.20
    • @workflow/rollup@5.0.0-beta.20
    • @workflow/vite@5.0.0-beta.20

@workflow/vite@5.0.0-beta.20

Patch Changes

  • Updated dependencies []:
    • @workflow/builders@5.0.0-beta.20

@workflow/vitest@5.0.0-beta.20

Patch Changes

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

Patch Changes

@workflow/world@5.0.0-beta.12

Patch Changes

  • #2475 2074f91 Thanks @pranaygp! - Skip the per-step incremental events.list round-trip in the inline sequential loop by consuming an event-log delta returned from the step's terminal write (gated to the single-step case with no open hooks or waits).

    Add the opt-in CreateEventParams.sinceCursor contract so a step-terminal events.create can return the event-log delta since that cursor (via EventResult.events/cursor/hasMore).

    Return the inline delta from a step-terminal write when sinceCursor is supplied, computed identically to events.list so the consumed prefix cannot skew from the server log.

    Forward sinceCursor over the v4 wire in @workflow/world-vercel so the server can return the delta on a step-terminal response; older servers ignore it and the runtime falls back to events.list.

  • #2478 e7ef9d8 Thanks @pranaygp! - Lazy inline step start: the owned-inline runtime path now sends a single step_started carrying the step input, letting the world create the step on the fly and saving one round-trip per inline step.

    @workflow/world: step_started event data accepts an optional input, and EventResult gains a stepCreated ownership signal.

    @workflow/world-local: step_started with input atomically creates the step plus a synthetic step_created event; a lazy step_started for an already-existing step throws EntityConflictError so concurrent losers skip (exactly-once).

    @workflow/world-postgres: same lazy-create + exactly-once create-claim for the Postgres backend.

    @workflow/world-vercel: sends the step input on step_started over the v4 wire and threads the server's stepCreated signal into EventResult.

  • #2511 ab2e9b8 Thanks @VaguelySerious! - Emit workflowName on per-step events (step_created, step_completed, and lazy-start step_started) so Worlds can access it without additional queries

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

Patch Changes

  • #2475 2074f91 Thanks @pranaygp! - Skip the per-step incremental events.list round-trip in the inline sequential loop by consuming an event-log delta returned from the step's terminal write (gated to the single-step case with no open hooks or waits).

    Add the opt-in CreateEventParams.sinceCursor contract so a step-terminal events.create can return the event-log delta since that cursor (via EventResult.events/cursor/hasMore).

    Return the inline delta from a step-terminal write when sinceCursor is supplied, computed identically to events.list so the consumed prefix cannot skew from the server log.

    Forward sinceCursor over the v4 wire in @workflow/world-vercel so the server can return the delta on a step-terminal response; older servers ignore it and the runtime falls back to events.list.

  • #2478 e7ef9d8 Thanks @pranaygp! - Lazy inline step start: the owned-inline runtime path now sends a single step_started carrying the step input, letting the world create the step on the fly and saving one round-trip per inline step.

    @workflow/world: step_started event data accepts an optional input, and EventResult gains a stepCreated ownership signal.

    @workflow/world-local: step_started with input atomically creates the step plus a synthetic step_created event; a lazy step_started for an already-existing step throws EntityConflictError so concurrent losers skip (exactly-once).

    @workflow/world-postgres: same lazy-create + exactly-once create-claim for the Postgres backend.

    @workflow/world-vercel: sends the step input on step_started over the v4 wire and threads the server's stepCreated signal into EventResult.

  • #2508 1332da3 Thanks @karthikscale3! - Add run IDs on world storage telemetry spans.

  • Updated dependencies [2074f91, e7ef9d8, ab2e9b8]:

    • @workflow/world@5.0.0-beta.12
    • @workflow/errors@5.0.0-beta.8

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

Patch Changes

  • #2478 e7ef9d8 Thanks @pranaygp! - Lazy inline step start: the owned-inline runtime path now sends a single step_started carrying the step input, letting the world create the step on the fly and saving one round-trip per inline step.

    @workflow/world: step_started event data accepts an optional input, and EventResult gains a stepCreated ownership signal.

    @workflow/world-local: step_started with input atomically creates the step plus a synthetic step_created event; a lazy step_started for an already-existing step throws EntityConflictError so concurrent losers skip (exactly-once).

    @workflow/world-postgres: same lazy-create + exactly-once create-claim for the Postgres backend.

    @workflow/world-vercel: sends the step input on step_started over the v4 wire and threads the server's stepCreated signal into EventResult.

  • Updated dependencies [2074f91, e7ef9d8, ab2e9b8, 1332da3]:

    • @workflow/world@5.0.0-beta.12
    • @workflow/world-local@5.0.0-beta.20
    • @workflow/errors@5.0.0-beta.8

@workflow/world-testing@5.0.0-beta.20

Patch Changes

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

Patch Changes

  • #2475 2074f91 Thanks @pranaygp! - Skip the per-step incremental events.list round-trip in the inline sequential loop by consuming an event-log delta returned from the step's terminal write (gated to the single-step case with no open hooks or waits).

    Add the opt-in CreateEventParams.sinceCursor contract so a step-terminal events.create can return the event-log delta since that cursor (via EventResult.events/cursor/hasMore).

    Return the inline delta from a step-terminal write when sinceCursor is supplied, computed identically to events.list so the consumed prefix cannot skew from the server log.

    Forward sinceCursor over the v4 wire in @workflow/world-vercel so the server can return the delta on a step-terminal response; older servers ignore it and the runtime falls back to events.list.

  • #2478 e7ef9d8 Thanks @pranaygp! - Lazy inline step start: the owned-inline runtime path now sends a single step_started carrying the step input, letting the world create the step on the fly and saving one round-trip per inline step.

    @workflow/world: step_started event data accepts an optional input, and EventResult gains a stepCreated ownership signal.

    @workflow/world-local: step_started with input atomically creates the step plus a synthetic step_created event; a lazy step_started for an already-existing step throws EntityConflictError so concurrent losers skip (exactly-once).

    @workflow/world-postgres: same lazy-create + exactly-once create-claim for the Postgres backend.

    @workflow/world-vercel: sends the step input on step_started over the v4 wire and threads the server's stepCreated signal into EventResult.

  • #2508 1332da3 Thanks @karthikscale3! - Add run IDs on world storage telemetry spans.

  • #2514 fb5abbb Thanks @VaguelySerious! - Route v4 event requests through the global fetch so they appear in the Vercel observability log viewer's outgoing-requests view again.

  • Updated dependencies [2074f91, e7ef9d8, ab2e9b8]:

    • @workflow/world@5.0.0-beta.12
    • @workflow/errors@5.0.0-beta.8

@workflow/web@5.0.0-beta.20

@github-actions github-actions Bot closed this May 17, 2026
@github-actions github-actions Bot force-pushed the changeset-release/main branch from ea4bb93 to c43e721 Compare May 17, 2026 17:07
@github-actions github-actions Bot reopened this May 17, 2026
@github-actions github-actions Bot closed this May 19, 2026
@github-actions github-actions Bot force-pushed the changeset-release/main branch from 9e3825c to fc6a265 Compare May 19, 2026 20:21
@github-actions github-actions Bot reopened this May 19, 2026
@github-actions github-actions Bot closed this May 20, 2026
@github-actions github-actions Bot force-pushed the changeset-release/main branch from 8322a96 to 9d2a926 Compare May 20, 2026 18:49
@github-actions github-actions Bot reopened this May 20, 2026
@github-actions github-actions Bot closed this May 23, 2026
@github-actions github-actions Bot force-pushed the changeset-release/main branch from 253b141 to a490f58 Compare May 23, 2026 16:21
@github-actions github-actions Bot reopened this May 23, 2026
@github-actions github-actions Bot closed this May 24, 2026
@github-actions github-actions Bot force-pushed the changeset-release/main branch from 0d23250 to 503a929 Compare May 24, 2026 14:18
@github-actions github-actions Bot reopened this May 24, 2026
@github-actions github-actions Bot closed this May 26, 2026
@github-actions github-actions Bot force-pushed the changeset-release/main branch from c875ba4 to c58cae6 Compare May 26, 2026 09:35
@github-actions github-actions Bot reopened this May 26, 2026
@github-actions github-actions Bot closed this May 26, 2026
@github-actions github-actions Bot force-pushed the changeset-release/main branch from 050f484 to 8633ebb Compare May 26, 2026 18:41
@github-actions github-actions Bot reopened this May 26, 2026
@github-actions github-actions Bot closed this May 27, 2026
@github-actions github-actions Bot force-pushed the changeset-release/main branch from 974eac2 to b0d0561 Compare May 27, 2026 04:20
@github-actions github-actions Bot reopened this May 27, 2026
@github-actions github-actions Bot closed this May 28, 2026
@github-actions github-actions Bot force-pushed the changeset-release/main branch from 3c8356c to 234412a Compare May 28, 2026 10:50
@github-actions github-actions Bot reopened this May 28, 2026
@github-actions github-actions Bot closed this May 29, 2026
@github-actions github-actions Bot force-pushed the changeset-release/main branch from 6278396 to 55e1765 Compare May 29, 2026 02:41
@github-actions github-actions Bot reopened this May 29, 2026
@github-actions github-actions Bot force-pushed the changeset-release/main branch from be0cb86 to 7994629 Compare June 2, 2026 22:39
@github-actions github-actions Bot reopened this Jun 2, 2026
@github-actions github-actions Bot closed this Jun 4, 2026
@github-actions github-actions Bot force-pushed the changeset-release/main branch from 7aac31d to b8a337c Compare June 4, 2026 22:23
@github-actions github-actions Bot reopened this Jun 4, 2026
@github-actions github-actions Bot closed this Jun 5, 2026
@github-actions github-actions Bot force-pushed the changeset-release/main branch from c2713b6 to ddc8a79 Compare June 5, 2026 21:56
@github-actions github-actions Bot reopened this Jun 5, 2026
@github-actions github-actions Bot closed this Jun 6, 2026
@github-actions github-actions Bot force-pushed the changeset-release/main branch from a9dafb2 to d674d6f Compare June 6, 2026 20:17
@github-actions github-actions Bot reopened this Jun 6, 2026
@github-actions github-actions Bot closed this Jun 7, 2026
@github-actions github-actions Bot force-pushed the changeset-release/main branch from 5e0ca84 to a51910b Compare June 7, 2026 16:10
@github-actions github-actions Bot reopened this Jun 7, 2026
@github-actions github-actions Bot closed this Jun 9, 2026
@github-actions github-actions Bot force-pushed the changeset-release/main branch from 5d22311 to 5b448ce Compare June 9, 2026 04:18
@github-actions github-actions Bot reopened this Jun 9, 2026
@github-actions github-actions Bot closed this Jun 9, 2026
@github-actions github-actions Bot force-pushed the changeset-release/main branch from 6a4bbb2 to 3ae0ae2 Compare June 9, 2026 22:17
@github-actions github-actions Bot reopened this Jun 9, 2026
@github-actions github-actions Bot closed this Jun 10, 2026
@github-actions github-actions Bot force-pushed the changeset-release/main branch from 04e3465 to bb6ff9a Compare June 10, 2026 21:46
@github-actions github-actions Bot reopened this Jun 10, 2026
@github-actions github-actions Bot closed this Jun 13, 2026
@github-actions github-actions Bot force-pushed the changeset-release/main branch from 9277095 to 8262c2d Compare June 13, 2026 19:34
@github-actions github-actions Bot reopened this Jun 13, 2026
@github-actions github-actions Bot closed this Jun 14, 2026
@github-actions github-actions Bot force-pushed the changeset-release/main branch from 3fc0b05 to 011d482 Compare June 14, 2026 17:55
@github-actions github-actions Bot reopened this Jun 14, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

0 participants