Version Packages (beta)#3028
Conversation
d4cd9d4 to
eb8fdb9
Compare
bd02acd to
850777a
Compare
📊 Workflow Benchmarkscommit Backend:
Best/P75/P90/P99 deltas compare against the most recent benchmark run on Metrics — TTFS: time to first step body (in-deployment start() → first step body, deployment clocks) · STSO: step-to-step overhead (gap between consecutive step bodies) · WO: workflow overhead (whole-run time outside step bodies, in-deployment anchored) · SL: stream latency (in-deployment write → read propagation, readAt - writtenAt) Scenarios — step: one trivial no-op step, no stream; no hooks, so the run stays in turbo mode (in-process fast path) · stream: one streaming step; no hooks, so the run stays in turbo mode (in-process fast path) · hook + stream: registers a hook before one step, which exits turbo mode (dispatch path) · 1020 steps: 1020 trivial sequential steps; STSO is measured between consecutive steps in the given step ranges, and WO is the whole-run overhead outside step bodies · stream latency: parallel reader/writer steps on a dedicated stream; SL is the in-deployment write->read propagation (readAt - writtenAt) 🔴 marks a percentile over its target (within target is left unmarked). Targets (p75/p90/p99, ms) — TTFS 200/300/600 · SL 50/60/125 · STSO (1-20) 20/30/60 · STSO (101-120) 30/45/90 · STSO (1001-1020) 40/60/120 All metrics are measured from deployment-side timestamps only. Runs are triggered by an in-deployment route that stamps the anchor ( Cold starts are kept in the numbers on purpose — they are part of real bursty-workload latency. The workbench deployment cold-starts the |
🧪 E2E Test Results❌ Some tests failed Summary
❌ Failed Tests▲ Vercel Production (7 failed)hono (3 failed):
nitro (4 failed):
💻 Local Development (1 failed)nuxt-stable (1 failed):
Details by Category❌ ▲ Vercel Production
❌ 💻 Local Development
✅ 📦 Local Production
✅ 🐘 Local Postgres
✅ 🪟 Windows
✅ 📋 Other
✅ vercel-multi-region
❌ Some E2E test jobs failed:
Check the workflow run for details. |
|
No backport to This is a changesets "Version Packages (beta)" release commit that only bumps pre-release versions and updates CHANGELOGs/ To override, re-run the Backport to stable workflow manually via |
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/nest@5.0.0-beta.36
Major Changes
542138dThanks @VaguelySerious! - Addworkflow-nest build --vercelcommand for emitting a Vercel Build Output API directory, enabling deployment of NestJS apps on Vercel. Breaking:NestLocalBuildermoved from the package root to the@workflow/nest/builder(workflow/nest/builder) subpath so importingWorkflowModuleno longer pulls the build toolchain into the runtime bundle; the newNestVercelBuilderlives at@workflow/nest/vercel-builder(workflow/nest/vercel-builder).Patch Changes
927b61a]:@workflow/core@5.0.0-beta.36
Minor Changes
#2865
a5e6f11Thanks @NathanColosimo! - Addexperimental_minRetentionfor keeping a Hook token unavailable after its run ends, and require supporting Worlds to advertise thehookRetentioncapability.#2946
eb8fdb9Thanks @VaguelySerious! - TheWORKFLOW_PRECONDITION_GUARDevent-creation guard is now on by default; opt out withWORKFLOW_PRECONDITION_GUARD=0.Patch Changes
#2993
6d1d700Thanks @NathanColosimo! - Avoid resolving run data before background step execution.#2996
d8071bbThanks @joeyhotz! - Cache self-hosted step port discovery per process.#2986
fe12b84Thanks @shalabhc! - Enforce a server-supplied per-run event limit (default 25K)#2970
bb773e9Thanks @VaguelySerious! - Keep the inline event-log delta fast path active with open hooks whenWORKFLOW_PRECONDITION_GUARD=1and the World declarescapabilities.preconditionGuard. The lazy inlinestep_startedclaim 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
268fedeThanks @NathanColosimo! - Prepare encrypted replay payloads concurrently and cache the decrypted, decompressed representation for reuse across inline replay iterations.#3035
9177ba8Thanks @VaguelySerious! - EnforcemaxRetriesfor inline and backgrounded steps that time out#2995
6353c8cThanks @VaguelySerious! - Fix stream writes never batching:flushablePipeawaited eachwriter.write()and the WritableStream sink serialized chunks one at a time, so the server writable's buffer never held more than one chunk and itswriteMultibatching path never engaged — every chunk became its own server round trip. The server writable now exposes a durable batch write thatflushablePipeuses to coalesce chunks arriving while a previous write is in flight into a singlewriteMulti, 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).Updated dependencies [
7d29bab,fe12b84,6f032d7,a5e6f11,850777a,457e671,eb8fdb9,9078126,59c1369,bb773e9,4ecbe7e]:@workflow/web-shared@5.0.0-beta.36
Minor Changes
621b04eThanks @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.Patch Changes
#2968
1973317Thanks @mitul-s! - Adjust helper position on trace viewer#2962
774e12cThanks @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.Updated dependencies [
6d1d700,7d29bab,d8071bb,fe12b84,a5e6f11,bb773e9,268fede,eb8fdb9,9177ba8,6353c8c,bb773e9]:workflow@5.0.0-beta.36
Minor Changes
eb8fdb9Thanks @VaguelySerious! - TheWORKFLOW_PRECONDITION_GUARDevent-creation guard is now on by default; opt out withWORKFLOW_PRECONDITION_GUARD=0.Patch Changes
#2980
268fedeThanks @NathanColosimo! - Prepare encrypted replay payloads concurrently and cache the decrypted, decompressed representation for reuse across inline replay iterations.Updated dependencies [
6d1d700,d8071bb,fe12b84,a5e6f11,bb773e9,542138d,268fede,eb8fdb9,9177ba8,6353c8c]:@workflow/world@5.0.0-beta.22
Minor Changes
#2915
7d29babThanks @joeyhotz! - Addruns.getMany()for retrieving ordered workflow run snapshots in one storage operation.#2865
a5e6f11Thanks @NathanColosimo! - Addexperimental_minRetentionfor keeping a Hook token unavailable after its run ends, and require supporting Worlds to advertise thehookRetentioncapability.#2970
bb773e9Thanks @VaguelySerious! - Add an optionalcapabilities?: WorldCapabilitiesfield 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.Patch Changes
#2986
fe12b84Thanks @shalabhc! - Enforce a server-supplied per-run event limit (default 25K)#2946
eb8fdb9Thanks @VaguelySerious! - TheWORKFLOW_PRECONDITION_GUARDevent-creation guard is now on by default; opt out withWORKFLOW_PRECONDITION_GUARD=0.@workflow/world-local@5.0.0-beta.30
Minor Changes
7d29babThanks @joeyhotz! - Addruns.getMany()for retrieving ordered workflow run snapshots in one storage operation.Patch Changes
#2987
850777aThanks @VaguelySerious! - Rejecthook_receivedon terminal runs, including when the termination commits concurrently (cross-process) and for legacy (pre-event-sourcing) runs.Updated dependencies [
7d29bab,fe12b84,a5e6f11,eb8fdb9,bb773e9]:@workflow/world-postgres@5.0.0-beta.28
Minor Changes
7d29babThanks @joeyhotz! - Addruns.getMany()for retrieving ordered workflow run snapshots in one storage operation.Patch Changes
#2987
850777aThanks @VaguelySerious! - Rejecthook_receivedon terminal runs, including when the termination commits concurrently (cross-process) and for legacy (pre-event-sourcing) runs.#2983
3ddf42eThanks @joeyhotz! - ThrowEntityConflictErrorwhen arun_createdevent targets a run that already exists, instead of resolving with no run. This matchesworld-localandworld-vercel, and stopsstart()from throwingMissing 'run' in server response for 'run_created' eventwhen the resilient start path wins the race.Updated dependencies [
7d29bab,fe12b84,a5e6f11,850777a,eb8fdb9,bb773e9]:@workflow/world-vercel@5.0.0-beta.32
Minor Changes
#2915
7d29babThanks @joeyhotz! - Addruns.getMany()for retrieving ordered workflow run snapshots in one storage operation.#2865
a5e6f11Thanks @NathanColosimo! - Addexperimental_minRetentionfor keeping a Hook token unavailable after its run ends, and require supporting Worlds to advertise thehookRetentioncapability.Patch Changes
#2986
fe12b84Thanks @shalabhc! - Enforce a server-supplied per-run event limit (default 25K)#2951
6f032d7Thanks @karthikscale3! - Decode stable-line CBOR structured errors when reading v4 workflow events while preserving current serialized error payloads.#2959
457e671Thanks @alangenfeld! - Log the underlying queue handler error before retrying a failed delivery.#3013
9078126Thanks @NathanColosimo! - Retry transient connection timeouts so Eve can resume existing workflow runs after brief network failures.#3038
59c1369Thanks @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
bb773e9Thanks @VaguelySerious! - Add an optionalcapabilities?: WorldCapabilitiesfield 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
4ecbe7eThanks @ruiconti! - Append caller-provided user-agent tokens to the world-vercel user-agent instead of discarding them.Updated dependencies [
7d29bab,fe12b84,a5e6f11,eb8fdb9,bb773e9]:@workflow/astro@5.0.0-beta.36
Patch Changes
927b61a]:@workflow/builders@5.0.0-beta.36
Patch Changes
#2963
927b61aThanks @NathanColosimo! - Resolve dotted tsconfig path aliases during fast workflow discovery.Updated dependencies [
6d1d700,7d29bab,d8071bb,fe12b84,6f032d7,a5e6f11,850777a,bb773e9,457e671,268fede,eb8fdb9,9078126,9177ba8,59c1369,6353c8c,bb773e9,4ecbe7e]:@workflow/cli@5.0.0-beta.36
Patch Changes
6d1d700,7d29bab,d8071bb,927b61a,fe12b84,6f032d7,a5e6f11,850777a,bb773e9,457e671,268fede,eb8fdb9,9078126,9177ba8,59c1369,6353c8c,bb773e9,4ecbe7e]:@workflow/errors@5.0.0-beta.12
Patch Changes
#2986
fe12b84Thanks @shalabhc! - Enforce a server-supplied per-run event limit (default 25K)#2946
eb8fdb9Thanks @VaguelySerious! - TheWORKFLOW_PRECONDITION_GUARDevent-creation guard is now on by default; opt out withWORKFLOW_PRECONDITION_GUARD=0.@workflow/next@5.0.0-beta.36
Patch Changes
6d1d700,d8071bb,927b61a,fe12b84,a5e6f11,bb773e9,268fede,eb8fdb9,9177ba8,6353c8c]:@workflow/nitro@5.0.0-beta.36
Patch Changes
6d1d700,d8071bb,927b61a,fe12b84,a5e6f11,bb773e9,268fede,eb8fdb9,9177ba8,6353c8c]:@workflow/nuxt@5.0.0-beta.36
Patch Changes
927b61a]:@workflow/rollup@5.0.0-beta.36
Patch Changes
927b61a]:@workflow/sveltekit@5.0.0-beta.36
Patch Changes
927b61a]:@workflow/vite@5.0.0-beta.36
Patch Changes
927b61a]:@workflow/vitest@5.0.0-beta.36
Patch Changes
6d1d700,7d29bab,d8071bb,927b61a,fe12b84,a5e6f11,850777a,bb773e9,268fede,eb8fdb9,9177ba8,6353c8c,bb773e9]:@workflow/web@5.0.0-beta.36
Patch Changes
7d29bab,850777a]:@workflow/world-testing@5.0.0-beta.36
Patch Changes
6d1d700,7d29bab,d8071bb,fe12b84,a5e6f11,850777a,bb773e9,268fede,eb8fdb9,9177ba8,6353c8c,bb773e9]: