Skip to content

Releases: async/flow

v0.10.4

Choose a tag to compare

@PatrickJS PatrickJS released this 06 Jul 09:12

Release notes from CHANGELOG.md for @async/flow@0.10.4 (2026-07-06).

Added

  • Added release train workflows for Async dependency bumps and downstream
    Framework Flow pin updates after successful Flow releases.
  • Expanded validation coverage for builder, graph, definition, helper, and
    framework scheduler integration surfaces.

Changed

  • Released with the current Async Pipeline verification and release workflow
    pins.

Release evidence

  • Release type: stable
  • Package profile: node-library
  • npm pack files: 36
File Raw Gzip Brotli
src/framework-runtime.d.ts 7.6 KB 1.5 KB 1.3 KB
src/framework-runtime.js 50.4 KB 9.8 KB 8.6 KB
src/index.d.ts 1.6 KB 606 B 492 B
src/index.js 1.2 KB 531 B 444 B

Diff links:


Source: CHANGELOG.md in tag v0.10.4.

v0.10.3

Choose a tag to compare

@PatrickJS PatrickJS released this 02 Jul 04:34

Release notes from CHANGELOG.md for @async/flow@0.10.3 (2026-07-02).

Changed

  • Replaced the duplicated /helpers and /helpers/core implementations with
    shared helper construction while preserving each subpath's scheduler
    behavior.

Release evidence

  • Release type: stable
  • Package profile: node-library
  • npm pack files: 36
File Raw Gzip Brotli
src/framework-runtime.d.ts 7.6 KB 1.5 KB 1.3 KB
src/framework-runtime.js 50.4 KB 9.8 KB 8.6 KB
src/index.d.ts 1.6 KB 606 B 492 B
src/index.js 1.2 KB 531 B 444 B

Diff links:


Source: CHANGELOG.md in tag v0.10.3.

v0.10.2

Choose a tag to compare

@PatrickJS PatrickJS released this 02 Jul 04:24

Release notes from CHANGELOG.md for @async/flow@0.10.2 (2026-07-02).

Fixed

  • Kept public Flow ref views from exposing mutation wrappers for read-only
    computed refs so Framework and other consumers can reliably detect writable
    refs.

Release evidence

  • Release type: stable
  • Package profile: node-library
  • npm pack files: 35
File Raw Gzip Brotli
src/framework-runtime.d.ts 7.6 KB 1.5 KB 1.3 KB
src/framework-runtime.js 50.4 KB 9.8 KB 8.6 KB
src/index.d.ts 1.6 KB 606 B 492 B
src/index.js 1.2 KB 531 B 444 B

Diff links:


Source: CHANGELOG.md in tag v0.10.2.

v0.10.1

Choose a tag to compare

@PatrickJS PatrickJS released this 02 Jul 04:19

Release notes from CHANGELOG.md for @async/flow@0.10.1 (2026-07-02).

Fixed

  • Replaced Flow dispatch batching with dispatch-scoped batching so direct
    mutations after awaited handlers stay attributed to the dispatch that owns
    them, including concurrent dispatches.
  • Made whole-flow subscribers receive one named committed-state record after a
    dispatch settles, including mutate-then-reject handlers.
  • Made destroy() terminal and idempotent for Flow instance APIs, public refs,
    async signals, subscriptions, timers, and Flow-owned async work while keeping
    final-state reads available.
  • Prevented unhandled process failures from immediate async-signal loaders,
    timer-driven dispatches, standalone after(...) tasks, abandoned
    parallel(...) branch promises, and throwing scheduled subscribers.
  • Made async-signal restore cancel in-flight loads before applying hydrated
    state.
  • Adopted live signal and status refs declared in stores instead of copying
    them into split-brain Flow-owned refs.
  • Preserved composed transition and guard metadata so can(...),
    explain(...), builder output, and graph inspection stay truthful.

Changed

  • Added strict TypeScript consumer checks to typecheck for root and exported
    subpaths.
  • Added a helpers parity guard for @async/flow/helpers and
    @async/flow/helpers/core.
  • Documented stable public subpaths and removed explain from importable
    helper lists.

Release evidence

  • Release type: stable
  • Package profile: node-library
  • npm pack files: 35
File Raw Gzip Brotli
src/framework-runtime.d.ts 7.6 KB 1.5 KB 1.3 KB
src/framework-runtime.js 50.3 KB 9.8 KB 8.6 KB
src/index.d.ts 1.6 KB 606 B 492 B
src/index.js 1.2 KB 531 B 444 B

Diff links:


Source: CHANGELOG.md in tag v0.10.1.

v0.10.0

Choose a tag to compare

@PatrickJS PatrickJS released this 26 Jun 18:33

Release notes from CHANGELOG.md for @async/flow@0.10.0 (2026-06-26).

Added

  • Added @async/flow/protocol as the shared symbol-brand subpath for Flow
    definitions, live instances, helper metadata, compose batching, and graph
    objects.

Changed

  • Made @async/flow/graph consume Flow instances through the FLOW_INSPECT
    protocol symbol instead of importing helper APIs.
  • Made @async/flow/builder compile through the scheduler-free helper layer so
    graph-to-config compilation does not pull in the default scheduler wrapper.

Release evidence

  • Release type: stable
  • Package profile: node-library
  • npm pack files: 35
File Raw Gzip Brotli
src/framework-runtime.d.ts 7.3 KB 1.5 KB 1.3 KB
src/framework-runtime.js 41.8 KB 8.2 KB 7.2 KB
src/index.d.ts 1.6 KB 606 B 492 B
src/index.js 1.2 KB 531 B 444 B

Diff links:


Source: CHANGELOG.md in tag v0.10.0.

v0.9.0

Choose a tag to compare

@PatrickJS PatrickJS released this 26 Jun 18:11

Release notes from CHANGELOG.md for @async/flow@0.9.0 (2026-06-26).

Added

  • Added scheduler-free integration subpaths for framework adapters:
    @async/flow/framework-runtime and @async/flow/helpers/core.

Release evidence

  • Release type: stable
  • Package profile: node-library
  • npm pack files: 33
File Raw Gzip Brotli
src/framework-runtime.d.ts 7.3 KB 1.5 KB 1.3 KB
src/framework-runtime.js 42.0 KB 8.2 KB 7.2 KB
src/index.d.ts 1.6 KB 606 B 492 B
src/index.js 1.2 KB 531 B 444 B

Diff links:


Source: CHANGELOG.md in tag v0.9.0.

v0.8.0

Choose a tag to compare

@PatrickJS PatrickJS released this 25 Jun 08:10

Release notes from CHANGELOG.md for @async/flow@0.8.0 (2026-06-25).

Breaking Changes

  • Whole-flow subscribers now receive full public store snapshots in
    change.store instead of sparse changed-key patches.

Added

  • Added the opt-in @async/flow/graph subpath with toGraph(...) and
    toMermaid(...) for runtime graph metadata and Mermaid state diagrams.
  • Added the opt-in @async/flow/builder subpath with toFlowConfig(...) for
    compiling declarative store plus on graphs into ordinary Flow config.
  • Added builder support for named handler registries, external signal guards,
    transitions, handlers, set, dispatch, after, and parallel steps.
  • Documented projected handler methods and target-first dispatch as the
    preferred authoring model for known events and dynamic routing.

Release evidence

  • Release type: stable
  • Package profile: node-library
  • npm pack files: 29
File Raw Gzip Brotli
src/index.d.ts 1.6 KB 606 B 492 B
src/index.js 1.2 KB 531 B 444 B

Diff links:


Source: CHANGELOG.md in tag v0.8.0.

v0.7.0

Choose a tag to compare

@PatrickJS PatrickJS released this 24 Jun 20:16

Release notes from CHANGELOG.md for @async/flow@0.7.0 (2026-06-24).

Breaking Changes

  • status(...) now creates a live signal-based status ref. Use
    defineStatus(...) when a pure declaration object is required.
  • Removed the root statusHelper export.
  • Removed status from @async/flow/define; use defineStatus(...).
  • Removed Flow instance and receiver availability methods. Use imported
    can(flow, eventName).get() or can(receiver, eventName).get().
  • Removed Flow instance and receiver description methods. Use imported
    inspect(flow) or inspect(receiver).
  • Removed private _describe receiver metadata. Helper inspection and status
    inference now use the FLOW_INSPECT symbol.
  • Renamed public metadata and ref discriminator fields from kind to type.
  • transition("name", rules) now requires a Flow store argument or
    symbol-branded Flow receiver. It no longer falls back to any object with a
    store property.
  • Standalone transitions are now branded with
    STANDALONE_TRANSITION = Symbol.for("@async/flow.standaloneTransition").
  • after(ms, callback, input?) now creates a standalone cancellable timer
    helper branded with STANDALONE_AFTER = Symbol.for("@async/flow.standaloneAfter").
  • dispatch("event", payload?) now creates a proxy-backed reusable sender
    branded with STANDALONE_DISPATCH = Symbol.for("@async/flow.standaloneDispatch").
  • dispatch(target, "event", payload?) now dispatches immediately to Flow,
    DOM, emitter, and sender-style targets.
  • can(...), matches(...), set(...), update(...), dispatch(...), and
    boolean helpers now prefer live ref behavior when passed signal, status,
    computed, Flow, or standalone refs.

Release evidence

  • Release type: stable
  • Package profile: node-library
  • npm pack files: 25
File Raw Gzip Brotli
src/index.d.ts 1.6 KB 606 B 492 B
src/index.js 1.2 KB 531 B 444 B

Diff links:


Source: CHANGELOG.md in tag v0.7.0.

v0.6.0

Choose a tag to compare

@PatrickJS PatrickJS released this 24 Jun 11:40

Release notes from CHANGELOG.md for @async/flow@0.6.0 (2026-06-24).

  • Added explicit compose availability metadata with AVAILABILITY,
    when(..., { availability: true }), and leading-gate lifting into
    can(...), explain(...), and describe().
  • Removed the legacy lifecycle compatibility surface in favor of async signal names:
    ASYNC_SIGNAL, ASYNC_SIGNAL_IMMEDIATE, asyncSignals, and the
    @async/flow/async-signal subpath now own the lifecycle API.
  • Removed the old compatibility aliases and subpath.
  • Renamed public inspection metadata to
    describe().asyncSignals.

Release evidence

  • Release type: stable
  • Package profile: node-library
  • npm pack files: 25
File Raw Gzip Brotli
src/index.d.ts 1.3 KB 534 B 422 B
src/index.js 1.2 KB 505 B 402 B

Diff links:


Source: CHANGELOG.md in tag v0.6.0.

v0.5.0

Choose a tag to compare

@PatrickJS PatrickJS released this 23 Jun 23:04

Release notes from CHANGELOG.md for @async/flow@0.5.0 (2026-06-23).

  • Added projected Flow instance store values, including direct flow.name
    reads and writes for public store entries.
  • Added _ store field support for internal async signal controllers, plus a
    non-enumerable flow._ namespace for integration code.
  • Added getter-backed computed store entries and direct computed receiver reads
    such as this.count.
  • Added bool(...), every(...), some(...), and not(...) helpers for
    composing boolean conditions across when(...), branch(...),
    guard(...), and transition(...).
  • Renamed the async signal lifecycle guide from resources to async signals
    while preserving resource compatibility exports.

Release evidence

  • Release type: stable
  • Package profile: node-library
  • npm pack files: 27
File Raw Gzip Brotli
src/index.d.ts 1.3 KB 527 B 423 B
src/index.js 1.2 KB 510 B 427 B

Diff links:


Source: CHANGELOG.md in tag v0.5.0.