Version Packages (beta) - #3256
Conversation
0929ee4 to
11dc036
Compare
d92d784 to
3c7875a
Compare
f68e6c4 to
4017597
Compare
2b4d139 to
31f92df
Compare
d9c5ab9 to
ba2cddc
Compare
dfa59bc to
a799025
Compare
🧪 E2E Test Results❌ Some tests failed ❌ Failed E2E Tests▲ Vercel Production (9 failed)example (1 failed):
express (1 failed):
fastify (1 failed):
hono (2 failed):
nextjs-turbopack (1 failed):
nextjs-webpack (1 failed):
nitro (2 failed):
💻 Local Development (2 failed)fastify-stable (1 failed):
sveltekit-stable (1 failed):
📋 Other (2 failed)e2e-vercel-prod-nest (2 failed):
E2E Test SummarySummary
Details by Category❌ ▲ Vercel Production
❌ 💻 Local Development
✅ 📦 Local Production
✅ 🐘 Local Postgres
✅ 🪟 Windows
❌ 📋 Other
✅ vercel-multi-region
|
7402c66 to
679dfa9
Compare
4291dae to
dc4cf94
Compare
7419bc5 to
aa78a7e
Compare
0deace1 to
27d0ce7
Compare
fdf465d to
5d986d0
Compare
|
No backport to This is an automated changesets "Version Packages (beta)" commit that only bumps package versions, rewrites CHANGELOG.md files, and updates 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/web@5.0.0-beta.39
Major Changes
d06b55eThanks @mitul-s! - Renamenew-trace-viewertotrace-viewerand the publicNewTraceViewerexport toTraceViewer.Patch Changes
31f92df,2677653,aa78a7e,f05f642]:@workflow/web-shared@5.0.0-beta.39
Major Changes
#3296
951695bThanks @mitul-s! - Remove the legacy trace viewer, superseded by the new trace viewer. This drops theRunTraceViewandWorkflowTraceViewerexports; useNewTraceViewerinstead. The sharedSpan,SpanEvent, andTracetypes now live inlib/trace-typesand are still exported from the package root.#3298
d06b55eThanks @mitul-s! - Renamenew-trace-viewertotrace-viewerand the publicNewTraceViewerexport toTraceViewer.Minor Changes
#3186
4a9d26bThanks @alangenfeld! - Record the compute instance that ran each step attempt:CreateEventParams.computeInstanceIdis stamped onstep_startedwrites, forwarded in the world-vercel v4 frame meta alongsidevercelId, read back onAnalyticsEvent/AnalyticsStep, and surfaced as "Compute Instance ID" in the observability attribute panel.#3293
a799025Thanks @alangenfeld! - Surface an analytics event'svercelIdin the run sidebar's Metadata list as a copyable "Request ID", and stop rendering the literal textnullfor a provenance id the analytics contract left empty. Also order Metadata rows missing from the panel's explicit order list after the listed ones instead of ahead of them, so a failed step's Error Code no longer renders above the step's own name.Patch Changes
#3230
31f92dfThanks @karthikscale3! - Lazy hook resumption: on a fast path,resumeHook()writes thehook_receivedevent and dispatches the workflow queue message concurrently instead of sequentially, cutting a round trip off resume latency. A(runId, resumeId)dedup constraint keeps the two writers converging on exactly one event; the runtime falls back to the sequential path when dedup support is unavailable or whenWORKFLOW_DISABLE_LAZY_HOOK_RESUME=1.resumeHook()resolves to aResumedHook(aHookplus an optionalresilientResume: trueflag, set only when the direct write failed transiently and the resume was recovered via the queue consumer's re-ensure) — preserving the contract introduced alongside the resilient-resume work.#3294
dc4cf94Thanks @mitul-s! - Use defined Geist typography utilities throughout the shared observability UI.Updated dependencies [
4a9d26b,ee944d2,1471f25,9cc11f5,679dfa9,b732e91,31f92df,4174a6e,4017597,438eaa6,ee944d2]:@workflow/core@5.0.0-beta.39
Minor Changes
#3186
4a9d26bThanks @alangenfeld! - Record the compute instance that ran each step attempt:CreateEventParams.computeInstanceIdis stamped onstep_startedwrites, forwarded in the world-vercel v4 frame meta alongsidevercelId, read back onAnalyticsEvent/AnalyticsStep, and surfaced as "Compute Instance ID" in the observability attribute panel.#3244
ee944d2Thanks @pranaygp! - Stamp the creating client's environment into the queue message'srunInput, and refuse a queue delivery whose run was created in a different environment than the consuming deployment runs in, so one run ID can no longer be forked into two environments.#3145
1471f25Thanks @VaguelySerious! - Strengthen the event-creation precondition guard: replay-context writes now also send the number of loaded events, so a snapshot that is missing an event is rejected instead of committing a divergent event log, and a rejection restarts the replay in-process (consuming the events a world may attach to the rejection) rather than re-committing the rejected payload or re-invoking over the queue.@workflow/world-localand@workflow/world-postgresdo not implement the check.#2989
9cc11f5Thanks @alangenfeld! - Emit afaas.instanceOTEL span attribute (a synthesized per-warm-instance id) on the flow and step route spans, so traces can distinguish which compute instance handled each request.#3230
31f92dfThanks @karthikscale3! - Lazy hook resumption: on a fast path,resumeHook()writes thehook_receivedevent and dispatches the workflow queue message concurrently instead of sequentially, cutting a round trip off resume latency. A(runId, resumeId)dedup constraint keeps the two writers converging on exactly one event; the runtime falls back to the sequential path when dedup support is unavailable or whenWORKFLOW_DISABLE_LAZY_HOOK_RESUME=1.resumeHook()resolves to aResumedHook(aHookplus an optionalresilientResume: trueflag, set only when the direct write failed transiently and the resume was recovered via the queue consumer's re-ensure) — preserving the contract introduced alongside the resilient-resume work.#1834
438eaa6Thanks @TooTallNate! - MakeresumeHook()resilient to transienthook_receivedevent write failures (429/5xx) by carrying the payload on the queue message for the runtime to materialize. ReturnedHookgets a newresilientResume: trueflag when this fallback path is taken.Patch Changes
#3288
679dfa9Thanks @NathanColosimo! - Simplify hardened serialization: intrinsic captures assert at import instead of degrading per use,URLSearchParamsnow serializes natively on Node 18, and bound-function getters are reported as guest code (previously a getter defined viafn.bind()executed with an empty report).#3257
b732e91Thanks @TooTallNate! - Serializing values built inside thenode:vmworkflow VM no longer executes workflow code, using engine brand checks and host intrinsics captured at boot.#3273
4174a6eThanks @VaguelySerious! - Treat an emptyVERCEL_URLas not running on Vercel, so a.env.localleft behind byvercel env pullno longer makes local runs fail withInvalid URL#3208
4017597Thanks @alangenfeld! - Report replay-divergence counts on event writes that recover or exhaust replay retries.Updated dependencies [
4a9d26b,1471f25,c93f6f7,31f92df,4017597,438eaa6,ee944d2,2677653,aa78a7e,f05f642,ee944d2]:@workflow/errors@5.0.0-beta.15
Minor Changes
1471f25Thanks @VaguelySerious! - Strengthen the event-creation precondition guard: replay-context writes now also send the number of loaded events, so a snapshot that is missing an event is rejected instead of committing a divergent event log, and a rejection restarts the replay in-process (consuming the events a world may attach to the rejection) rather than re-committing the rejected payload or re-invoking over the queue.@workflow/world-localand@workflow/world-postgresdo not implement the check.workflow@5.0.0-beta.39
Minor Changes
#3145
1471f25Thanks @VaguelySerious! - Strengthen the event-creation precondition guard: replay-context writes now also send the number of loaded events, so a snapshot that is missing an event is rejected instead of committing a divergent event log, and a rejection restarts the replay in-process (consuming the events a world may attach to the rejection) rather than re-committing the rejected payload or re-invoking over the queue.@workflow/world-localand@workflow/world-postgresdo not implement the check.#3230
31f92dfThanks @karthikscale3! - Lazy hook resumption: on a fast path,resumeHook()writes thehook_receivedevent and dispatches the workflow queue message concurrently instead of sequentially, cutting a round trip off resume latency. A(runId, resumeId)dedup constraint keeps the two writers converging on exactly one event; the runtime falls back to the sequential path when dedup support is unavailable or whenWORKFLOW_DISABLE_LAZY_HOOK_RESUME=1.resumeHook()resolves to aResumedHook(aHookplus an optionalresilientResume: trueflag, set only when the direct write failed transiently and the resume was recovered via the queue consumer's re-ensure) — preserving the contract introduced alongside the resilient-resume work.#1834
438eaa6Thanks @TooTallNate! - MakeresumeHook()resilient to transienthook_receivedevent write failures (429/5xx) by carrying the payload on the queue message for the runtime to materialize. ReturnedHookgets a newresilientResume: trueflag when this fallback path is taken.Patch Changes
#3288
679dfa9Thanks @NathanColosimo! - Simplify hardened serialization: intrinsic captures assert at import instead of degrading per use,URLSearchParamsnow serializes natively on Node 18, and bound-function getters are reported as guest code (previously a getter defined viafn.bind()executed with an empty report).#3257
b732e91Thanks @TooTallNate! - Serializing values built inside thenode:vmworkflow VM no longer executes workflow code, using engine brand checks and host intrinsics captured at boot.Updated dependencies [
4a9d26b,ee944d2,1471f25,9cc11f5,679dfa9,b732e91,31f92df,4174a6e,4017597,438eaa6]:@workflow/world@5.0.0-beta.24
Minor Changes
#3186
4a9d26bThanks @alangenfeld! - Record the compute instance that ran each step attempt:CreateEventParams.computeInstanceIdis stamped onstep_startedwrites, forwarded in the world-vercel v4 frame meta alongsidevercelId, read back onAnalyticsEvent/AnalyticsStep, and surfaced as "Compute Instance ID" in the observability attribute panel.#3145
1471f25Thanks @VaguelySerious! - Strengthen the event-creation precondition guard: replay-context writes now also send the number of loaded events, so a snapshot that is missing an event is rejected instead of committing a divergent event log, and a rejection restarts the replay in-process (consuming the events a world may attach to the rejection) rather than re-committing the rejected payload or re-invoking over the queue.@workflow/world-localand@workflow/world-postgresdo not implement the check.#3230
31f92dfThanks @karthikscale3! - Lazy hook resumption: on a fast path,resumeHook()writes thehook_receivedevent and dispatches the workflow queue message concurrently instead of sequentially, cutting a round trip off resume latency. A(runId, resumeId)dedup constraint keeps the two writers converging on exactly one event; the runtime falls back to the sequential path when dedup support is unavailable or whenWORKFLOW_DISABLE_LAZY_HOOK_RESUME=1.resumeHook()resolves to aResumedHook(aHookplus an optionalresilientResume: trueflag, set only when the direct write failed transiently and the resume was recovered via the queue consumer's re-ensure) — preserving the contract introduced alongside the resilient-resume work.#1834
438eaa6Thanks @TooTallNate! - MakeresumeHook()resilient to transienthook_receivedevent write failures (429/5xx) by carrying the payload on the queue message for the runtime to materialize. ReturnedHookgets a newresilientResume: trueflag when this fallback path is taken.#3244
ee944d2Thanks @pranaygp! - Add an optionalWorld.getEnvironment()hook and an optionalenvironmentfield onRunInputSchema, so the environment a run was created in can travel with its queue message.Patch Changes
4017597Thanks @alangenfeld! - Report replay-divergence counts on event writes that recover or exhaust replay retries.@workflow/world-local@5.0.0-beta.33
Minor Changes
31f92dfThanks @karthikscale3! - Lazy hook resumption: on a fast path,resumeHook()writes thehook_receivedevent and dispatches the workflow queue message concurrently instead of sequentially, cutting a round trip off resume latency. A(runId, resumeId)dedup constraint keeps the two writers converging on exactly one event; the runtime falls back to the sequential path when dedup support is unavailable or whenWORKFLOW_DISABLE_LAZY_HOOK_RESUME=1.resumeHook()resolves to aResumedHook(aHookplus an optionalresilientResume: trueflag, set only when the direct write failed transiently and the resume was recovered via the queue consumer's re-ensure) — preserving the contract introduced alongside the resilient-resume work.Patch Changes
#3255
2677653Thanks @AndrewBarba! - Bound stalled local queue deliveries and redeliver their durable messages instead of waiting indefinitely.#3297
aa78a7eThanks @TooTallNate! - Converge a redeliveredhook_receivedre-ensure on its already-committed(runId, resumeId)claim instead of rejecting withHookNotFoundErrorwhen the hook was disposed after the resume was recorded. The rejection made the queue consumer ack the redelivery as "nothing left to resume", silently dropping any continuation the message carried.#3215
f05f642Thanks @AndrewBarba! - Retry transientEPERMunlink failures on Windows when deleting hook and entity JSON files. A concurrent reader briefly holding a file open madedeleteJSONthrow a share-violationEPERM, which surfaced as a failed operation — for example a failedrun.cancel()whiledeleteAllHooksForRunraced hook polling.Updated dependencies [
4a9d26b,1471f25,31f92df,4017597,438eaa6,ee944d2]:@workflow/world-vercel@5.0.0-beta.35
Minor Changes
#3186
4a9d26bThanks @alangenfeld! - Record the compute instance that ran each step attempt:CreateEventParams.computeInstanceIdis stamped onstep_startedwrites, forwarded in the world-vercel v4 frame meta alongsidevercelId, read back onAnalyticsEvent/AnalyticsStep, and surfaced as "Compute Instance ID" in the observability attribute panel.#3145
1471f25Thanks @VaguelySerious! - Strengthen the event-creation precondition guard: replay-context writes now also send the number of loaded events, so a snapshot that is missing an event is rejected instead of committing a divergent event log, and a rejection restarts the replay in-process (consuming the events a world may attach to the rejection) rather than re-committing the rejected payload or re-invoking over the queue.@workflow/world-localand@workflow/world-postgresdo not implement the check.#3230
31f92dfThanks @karthikscale3! - Lazy hook resumption: on a fast path,resumeHook()writes thehook_receivedevent and dispatches the workflow queue message concurrently instead of sequentially, cutting a round trip off resume latency. A(runId, resumeId)dedup constraint keeps the two writers converging on exactly one event; the runtime falls back to the sequential path when dedup support is unavailable or whenWORKFLOW_DISABLE_LAZY_HOOK_RESUME=1.resumeHook()resolves to aResumedHook(aHookplus an optionalresilientResume: trueflag, set only when the direct write failed transiently and the resume was recovered via the queue consumer's re-ensure) — preserving the contract introduced alongside the resilient-resume work.#3244
ee944d2Thanks @pranaygp! - ImplementgetEnvironment(), reporting the environment this client's writes are attributed to from the same resolution that produces thex-vercel-environmentrequest header.Patch Changes
#3212
c93f6f7Thanks @VaguelySerious! - Raise HTTP/2 receive windows on the events client, slightly decreasing read latency#3208
4017597Thanks @alangenfeld! - Report replay-divergence counts on event writes that recover or exhaust replay retries.Updated dependencies [
4a9d26b,1471f25,31f92df,4017597,438eaa6,ee944d2]:@workflow/astro@5.0.0-beta.39
Patch Changes
@workflow/builders@5.0.0-beta.39
Patch Changes
4a9d26b,ee944d2,1471f25,9cc11f5,679dfa9,b732e91,31f92df,4174a6e,4017597,438eaa6]:@workflow/cli@5.0.0-beta.39
Patch Changes
4a9d26b,ee944d2,1471f25,9cc11f5,c93f6f7,679dfa9,b732e91,31f92df,4174a6e,d06b55e,4017597,438eaa6,ee944d2,2677653,aa78a7e,f05f642,ee944d2]:@workflow/nest@5.0.0-beta.39
Patch Changes
@workflow/next@5.0.0-beta.39
Patch Changes
4a9d26b,ee944d2,1471f25,9cc11f5,679dfa9,b732e91,31f92df,4174a6e,4017597,438eaa6]:@workflow/nitro@5.0.0-beta.39
Patch Changes
4a9d26b,ee944d2,1471f25,9cc11f5,679dfa9,b732e91,31f92df,4174a6e,d06b55e,4017597,438eaa6]:@workflow/nuxt@5.0.0-beta.39
Patch Changes
@workflow/rollup@5.0.0-beta.39
Patch Changes
@workflow/sveltekit@5.0.0-beta.39
Patch Changes
@workflow/vite@5.0.0-beta.39
Patch Changes
@workflow/vitest@5.0.0-beta.39
Patch Changes
4a9d26b,ee944d2,1471f25,9cc11f5,679dfa9,b732e91,31f92df,4174a6e,4017597,438eaa6,ee944d2,2677653,aa78a7e,f05f642]:@workflow/world-postgres@5.0.0-beta.31
Patch Changes
#3230
31f92dfThanks @karthikscale3! - Lazy hook resumption: on a fast path,resumeHook()writes thehook_receivedevent and dispatches the workflow queue message concurrently instead of sequentially, cutting a round trip off resume latency. A(runId, resumeId)dedup constraint keeps the two writers converging on exactly one event; the runtime falls back to the sequential path when dedup support is unavailable or whenWORKFLOW_DISABLE_LAZY_HOOK_RESUME=1.resumeHook()resolves to aResumedHook(aHookplus an optionalresilientResume: trueflag, set only when the direct write failed transiently and the resume was recovered via the queue consumer's re-ensure) — preserving the contract introduced alongside the resilient-resume work.Updated dependencies [
4a9d26b,1471f25,31f92df,4017597,438eaa6,ee944d2,2677653,aa78a7e,f05f642]:@workflow/world-testing@5.0.0-beta.39
Patch Changes
4a9d26b,ee944d2,1471f25,9cc11f5,679dfa9,b732e91,31f92df,4174a6e,4017597,438eaa6,ee944d2]: