You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
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.15
Minor Changes
#1853303b6da Thanks @TooTallNate! - Add opt-in wire-level framing for byte streams (type: 'bytes') so consumers can identify chunk boundaries — a prerequisite for transparent auto-reconnect. The framing decision is gated on a new framedByteStreams capability and recorded per-stream in the serialized ref (framing: 'framed-v1'); legacy raw streams continue to work unchanged.
#237301c8c08 Thanks @pranaygp! - Replace hook.hasConflict (a Promise<boolean> property) with hook.getConflict(), a method returning a promise that suspends the workflow to commit hook registration and resolves with the conflicting Run when another active hook owns the token (or null once the hook is registered), without waiting for hook payload data. Code using await hook.hasConflict should migrate to const conflict = await hook.getConflict() and branch on conflict !== null.
#2226ae8d6fe Thanks @pranaygp! - Allow passing initial run attributes through start(), and speed up workflow-level setAttribute calls by using native events for recording attributes.
Patch Changes
#1925b3279f8 Thanks @VaguelySerious! - V2 suspension processing: unify wait + step queue dispatch into a single parallel batch. The runtime now queues every pending operation (non-inline steps + wait timer) in one Promise.all and then inline-executes one owned step (if any). The asymmetric { timeoutSeconds } return contract for waits is dropped from suspension processing; waits become normal queue continuations with delaySeconds, deduplicated per wait so repeated suspension passes don't accumulate delayed messages. Continuation delays are clamped to 23h (VQS's message-retention bound) with longer waits chained across hop-keyed messages, so multi-day sleep()s work on every world. This restores inline step execution for Promise.race(step, sleep) workflows without any of the carve-outs the prior fix needed: even when the inline step blocks the handler, the wait continuation fires in parallel and drives the next replay. As part of the same change, world-local's queue now honors delaySeconds (matches world-vercel / world-postgres), and its close() aborts pending delayed deliveries and retry sleeps so dev-server/test shutdown isn't held open by wait timers.
#1853303b6da Thanks @TooTallNate! - Add opt-in wire-level framing for byte streams (type: 'bytes') so consumers can identify chunk boundaries — a prerequisite for transparent auto-reconnect. The framing decision is gated on a new framedByteStreams capability and recorded per-stream in the serialized ref (framing: 'framed-v1'); legacy raw streams continue to work unchanged.
#237301c8c08 Thanks @pranaygp! - Replace hook.hasConflict (a Promise<boolean> property) with hook.getConflict(), a method returning a promise that suspends the workflow to commit hook registration and resolves with the conflicting Run when another active hook owns the token (or null once the hook is registered), without waiting for hook payload data. Code using await hook.hasConflict should migrate to const conflict = await hook.getConflict() and branch on conflict !== null.
#2226ae8d6fe Thanks @pranaygp! - Allow passing initial run attributes through start(), and speed up workflow-level setAttribute calls by using native events for recording attributes.
#2226ae8d6fe Thanks @pranaygp! - Allow passing initial run attributes through start(), and speed up workflow-level setAttribute calls by using native events for recording attributes.
@workflow/world-local@5.0.0-beta.16
Minor Changes
#2226ae8d6fe Thanks @pranaygp! - Allow passing initial run attributes through start(), and speed up workflow-level setAttribute calls by using native events for recording attributes.
Patch Changes
#1925b3279f8 Thanks @VaguelySerious! - V2 suspension processing: unify wait + step queue dispatch into a single parallel batch. The runtime now queues every pending operation (non-inline steps + wait timer) in one Promise.all and then inline-executes one owned step (if any). The asymmetric { timeoutSeconds } return contract for waits is dropped from suspension processing; waits become normal queue continuations with delaySeconds, deduplicated per wait so repeated suspension passes don't accumulate delayed messages. Continuation delays are clamped to 23h (VQS's message-retention bound) with longer waits chained across hop-keyed messages, so multi-day sleep()s work on every world. This restores inline step execution for Promise.race(step, sleep) workflows without any of the carve-outs the prior fix needed: even when the inline step blocks the handler, the wait continuation fires in parallel and drives the next replay. As part of the same change, world-local's queue now honors delaySeconds (matches world-vercel / world-postgres), and its close() aborts pending delayed deliveries and retry sleeps so dev-server/test shutdown isn't held open by wait timers.
#2295f2a7bde Thanks @TooTallNate! - Fix world-local and world-postgres turning duplicate processing of the same hook_created (same runId, hookId, and token) into a self-conflict; both worlds now treat same-entity duplicates as idempotent (matching step_created), and recover crash-orphaned token claims (world-local) and hook rows (world-postgres) by completing the partial write instead of incorrectly suppressing it.
#2226ae8d6fe Thanks @pranaygp! - Allow passing initial run attributes through start(), and speed up workflow-level setAttribute calls by using native events for recording attributes.
Patch Changes
#2295f2a7bde Thanks @TooTallNate! - Fix world-local and world-postgres turning duplicate processing of the same hook_created (same runId, hookId, and token) into a self-conflict; both worlds now treat same-entity duplicates as idempotent (matching step_created), and recover crash-orphaned token claims (world-local) and hook rows (world-postgres) by completing the partial write instead of incorrectly suppressing it.
#2226ae8d6fe Thanks @pranaygp! - Allow passing initial run attributes through start(), and speed up workflow-level setAttribute calls by using native events for recording attributes.
This is a changesets-generated "Version Packages (beta)" commit that only bumps pre-release version numbers, updates CHANGELOGs, and records consumed changesets in .changeset/pre.json. Release plumbing like this is explicitly excluded from backporting; the stable branch has its own independent versioning via its own "Version Packages" PRs.
To override, re-run the Backport to stable workflow manually via workflow_dispatch and paste this commit SHA into the ref input:
58ddc62d02d0133c3b484b13297f246a008e4529
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
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.
mainis currently in pre mode so this branch has prereleases rather than normal releases. If you want to exit prereleases, runchangeset pre exitonmain.Releases
@workflow/core@5.0.0-beta.15
Minor Changes
#1853
303b6daThanks @TooTallNate! - Add opt-in wire-level framing for byte streams (type: 'bytes') so consumers can identify chunk boundaries — a prerequisite for transparent auto-reconnect. The framing decision is gated on a newframedByteStreamscapability and recorded per-stream in the serialized ref (framing: 'framed-v1'); legacy raw streams continue to work unchanged.#2373
01c8c08Thanks @pranaygp! - Replacehook.hasConflict(aPromise<boolean>property) withhook.getConflict(), a method returning a promise that suspends the workflow to commit hook registration and resolves with the conflictingRunwhen another active hook owns the token (ornullonce the hook is registered), without waiting for hook payload data. Code usingawait hook.hasConflictshould migrate toconst conflict = await hook.getConflict()and branch onconflict !== null.#2226
ae8d6feThanks @pranaygp! - Allow passing initial run attributes throughstart(), and speed up workflow-levelsetAttributecalls by using native events for recording attributes.Patch Changes
#1925
b3279f8Thanks @VaguelySerious! - V2 suspension processing: unify wait + step queue dispatch into a single parallel batch. The runtime now queues every pending operation (non-inline steps + wait timer) in onePromise.alland then inline-executes one owned step (if any). The asymmetric{ timeoutSeconds }return contract for waits is dropped from suspension processing; waits become normal queue continuations withdelaySeconds, deduplicated per wait so repeated suspension passes don't accumulate delayed messages. Continuation delays are clamped to 23h (VQS's message-retention bound) with longer waits chained across hop-keyed messages, so multi-daysleep()s work on every world. This restores inline step execution forPromise.race(step, sleep)workflows without any of the carve-outs the prior fix needed: even when the inline step blocks the handler, the wait continuation fires in parallel and drives the next replay. As part of the same change,world-local's queue now honorsdelaySeconds(matchesworld-vercel/world-postgres), and itsclose()aborts pending delayed deliveries and retry sleeps so dev-server/test shutdown isn't held open by wait timers.Updated dependencies [
b3279f8,f2a7bde,ae8d6fe]:workflow@5.0.0-beta.15
Minor Changes
#1853
303b6daThanks @TooTallNate! - Add opt-in wire-level framing for byte streams (type: 'bytes') so consumers can identify chunk boundaries — a prerequisite for transparent auto-reconnect. The framing decision is gated on a newframedByteStreamscapability and recorded per-stream in the serialized ref (framing: 'framed-v1'); legacy raw streams continue to work unchanged.#2373
01c8c08Thanks @pranaygp! - Replacehook.hasConflict(aPromise<boolean>property) withhook.getConflict(), a method returning a promise that suspends the workflow to commit hook registration and resolves with the conflictingRunwhen another active hook owns the token (ornullonce the hook is registered), without waiting for hook payload data. Code usingawait hook.hasConflictshould migrate toconst conflict = await hook.getConflict()and branch onconflict !== null.#2226
ae8d6feThanks @pranaygp! - Allow passing initial run attributes throughstart(), and speed up workflow-levelsetAttributecalls by using native events for recording attributes.Patch Changes
303b6da,b3279f8,01c8c08,ae8d6fe]:@workflow/world@5.0.0-beta.9
Minor Changes
ae8d6feThanks @pranaygp! - Allow passing initial run attributes throughstart(), and speed up workflow-levelsetAttributecalls by using native events for recording attributes.@workflow/world-local@5.0.0-beta.16
Minor Changes
ae8d6feThanks @pranaygp! - Allow passing initial run attributes throughstart(), and speed up workflow-levelsetAttributecalls by using native events for recording attributes.Patch Changes
#1925
b3279f8Thanks @VaguelySerious! - V2 suspension processing: unify wait + step queue dispatch into a single parallel batch. The runtime now queues every pending operation (non-inline steps + wait timer) in onePromise.alland then inline-executes one owned step (if any). The asymmetric{ timeoutSeconds }return contract for waits is dropped from suspension processing; waits become normal queue continuations withdelaySeconds, deduplicated per wait so repeated suspension passes don't accumulate delayed messages. Continuation delays are clamped to 23h (VQS's message-retention bound) with longer waits chained across hop-keyed messages, so multi-daysleep()s work on every world. This restores inline step execution forPromise.race(step, sleep)workflows without any of the carve-outs the prior fix needed: even when the inline step blocks the handler, the wait continuation fires in parallel and drives the next replay. As part of the same change,world-local's queue now honorsdelaySeconds(matchesworld-vercel/world-postgres), and itsclose()aborts pending delayed deliveries and retry sleeps so dev-server/test shutdown isn't held open by wait timers.#2295
f2a7bdeThanks @TooTallNate! - Fixworld-localandworld-postgresturning duplicate processing of the samehook_created(samerunId,hookId, and token) into a self-conflict; both worlds now treat same-entity duplicates as idempotent (matchingstep_created), and recover crash-orphaned token claims (world-local) and hook rows (world-postgres) by completing the partial write instead of incorrectly suppressing it.Updated dependencies [
ae8d6fe]:@workflow/world-postgres@5.0.0-beta.14
Minor Changes
ae8d6feThanks @pranaygp! - Allow passing initial run attributes throughstart(), and speed up workflow-levelsetAttributecalls by using native events for recording attributes.Patch Changes
#2295
f2a7bdeThanks @TooTallNate! - Fixworld-localandworld-postgresturning duplicate processing of the samehook_created(samerunId,hookId, and token) into a self-conflict; both worlds now treat same-entity duplicates as idempotent (matchingstep_created), and recover crash-orphaned token claims (world-local) and hook rows (world-postgres) by completing the partial write instead of incorrectly suppressing it.Updated dependencies [
b3279f8,f2a7bde,ae8d6fe]:@workflow/world-vercel@5.0.0-beta.14
Minor Changes
ae8d6feThanks @pranaygp! - Allow passing initial run attributes throughstart(), and speed up workflow-levelsetAttributecalls by using native events for recording attributes.Patch Changes
ae8d6fe]:@workflow/ai@5.0.0-beta.9
Patch Changes
303b6da,01c8c08,ae8d6fe]:@workflow/astro@5.0.0-beta.15
Patch Changes
@workflow/builders@5.0.0-beta.15
Patch Changes
303b6da,b3279f8,01c8c08,ae8d6fe]:@workflow/cli@5.0.0-beta.15
Patch Changes
303b6da,b3279f8,f2a7bde,01c8c08,ae8d6fe]:@workflow/nest@5.0.0-beta.15
Patch Changes
@workflow/next@5.0.0-beta.15
Patch Changes
303b6da,b3279f8,01c8c08,ae8d6fe]:@workflow/nitro@5.0.0-beta.15
Patch Changes
303b6da,b3279f8,01c8c08,ae8d6fe]:@workflow/nuxt@5.0.0-beta.15
Patch Changes
@workflow/rollup@5.0.0-beta.15
Patch Changes
@workflow/sveltekit@5.0.0-beta.15
Patch Changes
@workflow/vite@5.0.0-beta.15
Patch Changes
@workflow/vitest@5.0.0-beta.15
Patch Changes
303b6da,b3279f8,f2a7bde,01c8c08,ae8d6fe]:@workflow/web-shared@5.0.0-beta.15
Patch Changes
#2383
d81b929Thanks @mitul-s! - Animate in-progress segments in the timeline#2381
8262c2dThanks @mitul-s! - Render queued span time in the trace timeline as a lead-in connector into the active bar instead of a filled gray box.Updated dependencies [
303b6da,b3279f8,01c8c08,ae8d6fe]:@workflow/world-testing@5.0.0-beta.15
Patch Changes
303b6da,b3279f8,01c8c08,ae8d6fe]:@workflow/web@5.0.0-beta.15