Releases: async/flow
Release list
v0.10.4
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:
- src/framework-runtime.d.ts: https://github.com/async/flow/compare/HEAD%5E...v0.10.4?diff=unified#diff-src%2Fframework-runtime.d.ts
- src/framework-runtime.js: https://github.com/async/flow/compare/HEAD%5E...v0.10.4?diff=unified#diff-src%2Fframework-runtime.js
- src/index.d.ts: https://github.com/async/flow/compare/HEAD%5E...v0.10.4?diff=unified#diff-src%2Findex.d.ts
- src/index.js: https://github.com/async/flow/compare/HEAD%5E...v0.10.4?diff=unified#diff-src%2Findex.js
Source: CHANGELOG.md in tag v0.10.4.
v0.10.3
Release notes from CHANGELOG.md for @async/flow@0.10.3 (2026-07-02).
Changed
- Replaced the duplicated
/helpersand/helpers/coreimplementations 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:
- src/framework-runtime.d.ts: https://github.com/async/flow/compare/HEAD%5E...v0.10.3?diff=unified#diff-src%2Fframework-runtime.d.ts
- src/framework-runtime.js: https://github.com/async/flow/compare/HEAD%5E...v0.10.3?diff=unified#diff-src%2Fframework-runtime.js
- src/index.d.ts: https://github.com/async/flow/compare/HEAD%5E...v0.10.3?diff=unified#diff-src%2Findex.d.ts
- src/index.js: https://github.com/async/flow/compare/HEAD%5E...v0.10.3?diff=unified#diff-src%2Findex.js
Source: CHANGELOG.md in tag v0.10.3.
v0.10.2
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:
- src/framework-runtime.d.ts: https://github.com/async/flow/compare/HEAD%5E...v0.10.2?diff=unified#diff-src%2Fframework-runtime.d.ts
- src/framework-runtime.js: https://github.com/async/flow/compare/HEAD%5E...v0.10.2?diff=unified#diff-src%2Fframework-runtime.js
- src/index.d.ts: https://github.com/async/flow/compare/HEAD%5E...v0.10.2?diff=unified#diff-src%2Findex.d.ts
- src/index.js: https://github.com/async/flow/compare/HEAD%5E...v0.10.2?diff=unified#diff-src%2Findex.js
Source: CHANGELOG.md in tag v0.10.2.
v0.10.1
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, standaloneafter(...)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
typecheckfor root and exported
subpaths. - Added a helpers parity guard for
@async/flow/helpersand
@async/flow/helpers/core. - Documented stable public subpaths and removed
explainfrom 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:
- src/framework-runtime.d.ts: https://github.com/async/flow/compare/HEAD%5E...v0.10.1?diff=unified#diff-src%2Fframework-runtime.d.ts
- src/framework-runtime.js: https://github.com/async/flow/compare/HEAD%5E...v0.10.1?diff=unified#diff-src%2Fframework-runtime.js
- src/index.d.ts: https://github.com/async/flow/compare/HEAD%5E...v0.10.1?diff=unified#diff-src%2Findex.d.ts
- src/index.js: https://github.com/async/flow/compare/HEAD%5E...v0.10.1?diff=unified#diff-src%2Findex.js
Source: CHANGELOG.md in tag v0.10.1.
v0.10.0
Release notes from CHANGELOG.md for @async/flow@0.10.0 (2026-06-26).
Added
- Added
@async/flow/protocolas the shared symbol-brand subpath for Flow
definitions, live instances, helper metadata, compose batching, and graph
objects.
Changed
- Made
@async/flow/graphconsume Flow instances through theFLOW_INSPECT
protocol symbol instead of importing helper APIs. - Made
@async/flow/buildercompile 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:
- src/framework-runtime.d.ts: https://github.com/async/flow/compare/HEAD%5E...v0.10.0?diff=unified#diff-src%2Fframework-runtime.d.ts
- src/framework-runtime.js: https://github.com/async/flow/compare/HEAD%5E...v0.10.0?diff=unified#diff-src%2Fframework-runtime.js
- src/index.d.ts: https://github.com/async/flow/compare/HEAD%5E...v0.10.0?diff=unified#diff-src%2Findex.d.ts
- src/index.js: https://github.com/async/flow/compare/HEAD%5E...v0.10.0?diff=unified#diff-src%2Findex.js
Source: CHANGELOG.md in tag v0.10.0.
v0.9.0
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-runtimeand@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:
- src/framework-runtime.d.ts: https://github.com/async/flow/compare/HEAD%5E...v0.9.0?diff=unified#diff-src%2Fframework-runtime.d.ts
- src/framework-runtime.js: https://github.com/async/flow/compare/HEAD%5E...v0.9.0?diff=unified#diff-src%2Fframework-runtime.js
- src/index.d.ts: https://github.com/async/flow/compare/HEAD%5E...v0.9.0?diff=unified#diff-src%2Findex.d.ts
- src/index.js: https://github.com/async/flow/compare/HEAD%5E...v0.9.0?diff=unified#diff-src%2Findex.js
Source: CHANGELOG.md in tag v0.9.0.
v0.8.0
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.storeinstead of sparse changed-key patches.
Added
- Added the opt-in
@async/flow/graphsubpath withtoGraph(...)and
toMermaid(...)for runtime graph metadata and Mermaid state diagrams. - Added the opt-in
@async/flow/buildersubpath withtoFlowConfig(...)for
compiling declarativestoreplusongraphs 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:
- src/index.d.ts: https://github.com/async/flow/compare/HEAD%5E...v0.8.0?diff=unified#diff-src%2Findex.d.ts
- src/index.js: https://github.com/async/flow/compare/HEAD%5E...v0.8.0?diff=unified#diff-src%2Findex.js
Source: CHANGELOG.md in tag v0.8.0.
v0.7.0
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
statusHelperexport. - Removed
statusfrom@async/flow/define; usedefineStatus(...). - Removed Flow instance and receiver availability methods. Use imported
can(flow, eventName).get()orcan(receiver, eventName).get(). - Removed Flow instance and receiver description methods. Use imported
inspect(flow)orinspect(receiver). - Removed private
_describereceiver metadata. Helper inspection and status
inference now use theFLOW_INSPECTsymbol. - Renamed public metadata and ref discriminator fields from
kindtotype. transition("name", rules)now requires a Flow store argument or
symbol-branded Flow receiver. It no longer falls back to any object with a
storeproperty.- 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 withSTANDALONE_AFTER = Symbol.for("@async/flow.standaloneAfter").dispatch("event", payload?)now creates a proxy-backed reusable sender
branded withSTANDALONE_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:
- src/index.d.ts: https://github.com/async/flow/compare/HEAD%5E...v0.7.0?diff=unified#diff-src%2Findex.d.ts
- src/index.js: https://github.com/async/flow/compare/HEAD%5E...v0.7.0?diff=unified#diff-src%2Findex.js
Source: CHANGELOG.md in tag v0.7.0.
v0.6.0
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(...), anddescribe(). - Removed the legacy lifecycle compatibility surface in favor of async signal names:
ASYNC_SIGNAL,ASYNC_SIGNAL_IMMEDIATE,asyncSignals, and the
@async/flow/async-signalsubpath 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:
- src/index.d.ts: https://github.com/async/flow/compare/HEAD%5E...v0.6.0?diff=unified#diff-src%2Findex.d.ts
- src/index.js: https://github.com/async/flow/compare/HEAD%5E...v0.6.0?diff=unified#diff-src%2Findex.js
Source: CHANGELOG.md in tag v0.6.0.
v0.5.0
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-enumerableflow._namespace for integration code. - Added getter-backed computed store entries and direct computed receiver reads
such asthis.count. - Added
bool(...),every(...),some(...), andnot(...)helpers for
composing boolean conditions acrosswhen(...),branch(...),
guard(...), andtransition(...). - 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:
- src/index.d.ts: https://github.com/async/flow/compare/HEAD%5E...v0.5.0?diff=unified#diff-src%2Findex.d.ts
- src/index.js: https://github.com/async/flow/compare/HEAD%5E...v0.5.0?diff=unified#diff-src%2Findex.js
Source: CHANGELOG.md in tag v0.5.0.