Packages

workflow

5.2.3 · 20 Oct 2026Apache-2.01.1M / weekRepositorynpmAtom feed

Latest releases

All 56 releases
  1. 5.x · latest line
  2. 5.2.3

    20 Oct 2026
    • security

      @pranaygp - Security: remove the nanoid dependency (pinned at 5.1.6, affected by GHSA-28wg-ghj8-5hjv). Default hook tokens now come from a built-in copy of the same generator, so tokens and seeded random values stay identical for runs recorded on earlier versions. Upgrading nanoid itself would have changed them, because nanoid@5.1.16 draws a different number of random bytes per id.

    • @pranaygp - Resolve a run's encryption key from metadata only, so Run#getReadable() and resuming a hook stored without a resume context no longer make the server resolve the run's whole input and output first.

    • @VaguelySerious - Fix cross-deployment start() to 4.x deployments being misread as a run invocation, and keep replayed runs in the original run's region.

  3. 5.2.2

    13 Oct 2026
    • @pranaygp - Order setAttributes() resolution with the replay delivery barriers so a branch awaiting it can no longer resume out of event-log order, which could fail the run with REPLAY_DIVERGENCE or hand concurrent branches each other's step results

    • @http-samc - Upgrade devalue to 6.0.3, which escapes large strings with native JSON.stringify instead of a per-character loop. Strings containing unpaired surrogates now round-trip exactly instead of being replaced with U+FFFD.

    • @VaguelySerious - Remove the experimental WORKFLOW_RESILIENT_STEP_DISPATCH option

  4. 5.2.1

    12 Oct 2026
    • @http-samc - Compress workflow arguments on the libuv threadpool when starting a run, so large inputs no longer block the caller's event loop during zstd compression.

    • @http-samc - Add a compressArguments option to start(); pass false to store the run's arguments uncompressed when the inputs are known to be incompressible.

    • @pranaygp - Record the queue namespace on a run's executionContext.queueNamespace in start(), so restart recovery re-enqueues the run to its own namespace.

  5. 5.2.0

    8 Oct 2026
    • security

      @TooTallNate - Upgrade react-router and @react-router/* to 7.18.4 to address CVE-2026-34077 and GHSA-qwww-vcr4-c8h2

    • @pranaygp - Start the queued branches of a wide Promise.all fan-out sooner. The batched fan-out now commits its writes in createBatch calls of at most 16 events instead of 32. Each queued branch's message waits on its chunk's commit and then its chunk's batched publish, and both are faster for smaller chunks. In production sweeps, the last branch of a 64-branch fan-out started about 90 ms sooner at p50, and of a 128-branch fan-out about 200 ms sooner, with no change to the first branch at those widths.

    • @VaguelySerious - Deliver a hook payload to the pending await when an earlier Promise.race over the same hook was lost

  6. 5.1.0

    6 Oct 2026
    • @wycats - Export the existing Serializable type from @workflow/core and workflow.

    • @TooTallNate - Remove the unused, stale vm-serde-bundle.generated.ts left over from the retired in-VM QuickJS serializer.

    • @alangenfeld - Wait for run creation before writing to writable streams passed as arguments to turbo steps.

Dependency tracking · free for 3 projects

Know when your own dependencies move

workflow had 1 security advisory in the last 12 months. Inlinr emails you the day one touches a project of yours, with the version that fixes it.

  • Advisories reach you

    An email when a critical or high advisory affects a project, before the next install.

  • Upgrades checked first

    Peer ranges, Node, ESM-only and types changes read before you bump.

  • Only what matters

    Majors and breaking notes stay; patches and sibling bumps fold into one line.

How dependency tracking works

Registry facts last checked 22 Oct 2026. Releases and advisories last read 22 Oct 2026.