Skip to content

workflow@5.1.0

Choose a tag to compare

@github-actions github-actions released this 06 Oct 20:01
Immutable release. Only release title and notes can be modified.
2f9edf3

@workflow/core@5.1.0

  • #4578 941e031 @wycats - Export the existing Serializable type from @workflow/core and workflow.
  • #4595 09bc2f8 @TooTallNate - Remove the unused, stale vm-serde-bundle.generated.ts left over from the retired in-VM QuickJS serializer.
  • #4667 a7cc482 @alangenfeld - Wait for run creation before writing to writable streams passed as arguments to turbo steps.
  • #4496 8fa7584 @alangenfeld - Mark step_failed writes that record a failed step body with afterStepBody, so a World can keep waiting out a throttled write instead of re-running the body.
  • #4605 94e3890 @alangenfeld - Release drained stream writer sockets without closing the shared stream, preserve handle reuse over HTTP, and dispose transports when public writable streams abort. Propagate source failures to readers of flushable stream pipes.
  • #4594 c1e70ef @TooTallNate - Serialize only the viewed bytes of a Float16Array (no longer the whole Node Buffer pool behind it), and support Float16Array in the QuickJS engine with the same wire format as the node:vm engine.
  • #4640 e71d1c7 @VaguelySerious - Fix cross-deployment hook resumes and starts writing zstd payloads to runs on Node.js versions that cannot decode them. Required for upgrading to a newer Node.js version while existing runs on older Node.js versions are still receiving hooks.

@workflow/world@5.0.2

  • #4496 8fa7584 @alangenfeld - Mark step_failed writes that record a failed step body with afterStepBody, so a World can keep waiting out a throttled write instead of re-running the body.
  • #4605 94e3890 @alangenfeld - Release drained stream writer sockets without closing the shared stream, preserve handle reuse over HTTP, and dispose transports when public writable streams abort. Propagate source failures to readers of flushable stream pipes.
  • #4640 e71d1c7 @VaguelySerious - Fix cross-deployment hook resumes and starts writing zstd payloads to runs on Node.js versions that cannot decode them. Required for upgrading to a newer Node.js version while existing runs on older Node.js versions are still receiving hooks.

@workflow/world-local@5.0.2

  • #4636 2d2159e @alangenfeld - Prevent duplicate hook creation events when a retry publishes before the original token-claim owner.

@workflow/world-postgres@5.0.2

  • #4658 a5c3983 @VaguelySerious - Reconnect the stream and run-status LISTEN connection after the database drops it, instead of crashing the process.

@workflow/world-vercel@5.1.0

  • #4589 9ca188a @VaguelySerious - Default the events transport to WebSockets. Set WORKFLOW_EVENTS_TRANSPORT=http to opt out.
  • #4333 a6c455a @pranaygp - Upgrade @vercel/queue to 0.6.0 so queue callbacks for messages that are already claimed or processed (409 / 410) respond 200 instead of logging Queue callback error and returning 500
  • #4496 8fa7584 @alangenfeld - Wait out a throttled (429) write recording a step body's outcome until the invocation's deadline instead of 30 seconds, and resend a throttled event-log read from its cursor instead of restarting it.
  • #4605 94e3890 @alangenfeld - Release drained stream writer sockets without closing the shared stream, preserve handle reuse over HTTP, and dispose transports when public writable streams abort. Propagate source failures to readers of flushable stream pipes.
  • #4648 81eac1d @VaguelySerious - Upgrade @vercel/queue to 0.8.0 so throttled queue sends honor the server's Retry-After and queue errors carry clean messages

@workflow/web@5.0.2

  • #4291 d7217a8 @mitul-s - De-duplicate separate shadcn button implementations between @workflow/web-shared and @workflow/web

@workflow/web-shared@5.0.2

  • #4291 d7217a8 @mitul-s - De-duplicate separate shadcn button implementations between @workflow/web-shared and @workflow/web

@workflow/builders@5.0.2

  • #4268 ab9e640 @VaguelySerious - Fail the build when the workflow bundle still contains require(). The workflow sandbox has no require, so an import esbuild left external (most often a Node.js builtin reached through a transitive dependency or a re-export) or an unresolved dynamic require() used to produce a bundle that threw ReferenceError: require is not defined on its first load. The build now reports the specifier, the module that imported it and the import chain back to user code. A require() inside a try/catch block, or behind a typeof require check, is left alone, since that is how packages probe for an optional dependency and the call either fails harmlessly or never runs. Set WORKFLOW_ALLOW_UNSAFE_FLOW_BUNDLE=1 to downgrade the failure to a warning.

@workflow/next@5.0.2

  • #4268 ab9e640 @VaguelySerious - Fail the build when the workflow bundle still contains require(). The workflow sandbox has no require, so an import esbuild left external (most often a Node.js builtin reached through a transitive dependency or a re-export) or an unresolved dynamic require() used to produce a bundle that threw ReferenceError: require is not defined on its first load. The build now reports the specifier, the module that imported it and the import chain back to user code. A require() inside a try/catch block, or behind a typeof require check, is left alone, since that is how packages probe for an optional dependency and the call either fails harmlessly or never runs. Set WORKFLOW_ALLOW_UNSAFE_FLOW_BUNDLE=1 to downgrade the failure to a warning.

@workflow/utils@5.0.1

  • #4651 a216e77 @pranaygp - sleep(), RetryableError's retryAfter, and a hook's experimental_minRetention now throw on an Invalid Date, or on a duration that ends past the latest time a Date can hold, instead of sending the Invalid Date to the World.

@workflow/nest@5.1.0

  • #4604 482b918 @pranaygp - Harden the NestJS integration against the framework features a real application uses. Fastify applications now boot correctly, queue deliveries are no longer capped at 100, app.enableVersioning() no longer moves the workflow routes, setGlobalPrefix(prefix, { exclude }) is honoured, isWorkflowRequest(context) export added, the Vercel app function is bundled for the runtime it is deployed on, --external <pkgs> is honored, and the builder warns when a second copy of @nestjs/core is present