Async is a JavaScript utility module that provides functions for working with asynchronous code, originally designed for Node.js but usable in the browser as well. It offers callback-based helpers and supports use with modern JavaScript via an ESM/MJS version, and is useful for patterns like iterating over collections with concurrency limits.
Project status
- Async (caolan/async) shows signs of ongoing work (latest upstream push on 2026-08-07), but the most recent tagged updates were much earlier (v3.2.6 on 2024-08-19, then v3.2.5 on 2023-11-03), so release cadence appears infrequent relative to today.
- Update/release cadence for version tags looks like roughly yearly, with small patch releases and relatively light change sets, often dominated by build or distributed bundle adjustments.
AI summary generated
Recent updates
v3.2.6
v3.2.6 has no publisher release notes, but the diff shows a few real behavioral changes in the distributed bundle plus several developer workflow updates. The main customer-facing code impact appears to be improved error propagation behavior (asyncify) and adjustments to function-signature parsing logic in the distributed build.
v3.2.5
Release v3.2.5 has no publisher-provided release notes. The diff is dominated by documentation/regenerated HTML and build config updates, with a small but real set of changes in the distributed async bundle (dist/async.js, dist/async.min.js) affecting UMD global resolution and error normalization behavior.
v3.2.4
Release v3.2.4 was published on 2022-06-07, but the publisher did not include any release notes or change log details. As a result, there is no documented information here about new features, bug fixes, breaking changes, or security updates.
v2.0.0
Async v2.0.0 introduces modularized imports (CommonJS per-function and an ES2015 module package via async-es), plus several new utilities like race, timeout, reflect/reflectAll, and mapValues. The release also standardizes callback behavior to follow Node-style continuation passing, removes some legacy behaviors, and makes notable performance and queue implementation changes.
BreakingFeaturesv2.1.0
v2.1.0 adds an optional synchronous errorFilter option to retry and retryable to let callers decide which errors should trigger another attempt. The release notes also claim performance-focused iteration optimizations for race, cargo, queue, and priorityQueue.
Featuresv2.1.2
v2.1.2 contains an internal fix intended to prevent stack overflows in async's `detect`, `some`, and `every` helpers when processing large inputs. The release notes only describe the user-visible symptom, but the code shows a broader internal change to how early termination is implemented in the iteration machinery.
v2.1.3
v2.1.3 focuses on reducing bundle size and improving `filter` performance for arrays. The code diff shows additional internal refactors around how lodash’s `baseRest` is handled and how callbacks are wrapped, plus a meaningful rewrite of `filter` that changes the implementation strategy and callback handling.
v2.1.5
v2.1.5 focuses on bug fixes and internal cleanups. It addresses an async.auto listener collision issue, prevents a queue stack overflow scenario, and ensures some/every/find stop processing once the result is determined, with improved error messages.
v2.2.0
v2.2.0 introduces new collection helpers, groupBy plus concurrency-limited variants groupByLimit and groupBySeries, and fixes a transform edge case related to a missing callback. The code changes also show additional non-feature modifications in the bundled dist output and documentation.
Featuresv2.3.0
v2.3.0 adds automatic support for native ES2017 async functions in places where async.js expects Node-style (CPS) functions that use a callback. The implementation detects true native AsyncFunction values and converts them using asyncify so callbacks are invoked from the returned Promise/async return value.
Features