Back to Explore

suguru03/neo-async

GitHub
1 watchersOpen source

Last release:

Neo-Async is a JavaScript and Node.js async utility that is intended as a drop-in replacement for Async. It aims to almost fully cover Async functionality while running faster, and it includes many common async control flow functions for collections, such as each, map, filter, reduce, and others.

Project status

  • The repository appears effectively dormant as of today (2026-08-12). The last upstream push was 2022-12-02, and the most recent published updates listed here are from 2020-07-09 (v2.6.2), with no evidence of ongoing development or recent activity.
  • Update cadence looks sporadic, with updates in 2018-10-15 (v2.6.0), 2019-05-13 (v2.6.1), and 2020-07-09 (v2.6.2), then a long gap with no further updates evidenced in the provided history.

AI summary generated

AI-generated from public sources. May be inaccurate. Report

Recent updates

  • v2.6.2

    Release v2.6.2 updates the package metadata and makes several internal changes in the core async implementation. The release notes section is empty, so all behavioral or structural changes need to be inferred from the code diff.

    Breaking
  • v2.6.1

    v2.6.1 is a small maintenance release that claims to fix a generator-related issue (neo-async/issues/69). The code diff shows a targeted change to how the library decides when generator/iterators are finished, plus a number of repo and build configuration updates.

  • v2.6.0

    v2.6.0 primarily changes how neo-async iterates over collections that use Symbol.iterator, aiming to fix an iterator issue and to match async.js behavior. The release notes are minimal and do not describe the concrete behavioral implications of these iterator changes when collection size changes during iteration.

  • v2.5.2

    v2.5.2 mainly addresses a memoize behavior issue and improves npm packaging by including the LICENSE file. The core library change alters memoize caching semantics around error-first callbacks.

  • v2.5.1

    v2.5.1 focuses on bug fixes in auto and asyncify, plus a performance improvement to sortBy. The release notes mention three targeted issues/commits, but the code diff shows a more substantial internal rework of sortBy than the notes suggest.

  • v2.5.0

    v2.5.0 adds a new `queue.remove(test)` API. The implementation introduces new linked-list removal logic (`DLL.prototype.remove`) and wires it into the queue internals via `q._tasks.remove(test)`.

    Features
  • v2.4.0

    Release v2.4.0 is primarily described as implementing “individual methods” (referencing neo-async issue #55). The diff, however, shows the runtime library version bump plus substantial changes to the build and publishing pipeline, with additional tooling and CI configuration updates that are not mentioned in the release notes.

    BreakingFeatures
  • v2.3.0

    v2.3.0 updates the implementations of `concat` and related concat utilities to produce results in the original collection order instead of completion order. The code changes also adjust how `concat` interprets the value provided to the iterator callback, including explicit handling of falsy values and missing return arguments.

    Breaking
  • v2.2.2

    v2.2.2 is a small bug fix release for neo-async. The release notes only mention a queue bug fix, but the code diff shows a specific behavioral adjustment in queue internals around worker counting and the timing of the q.empty callback.

  • v2.2.0

    v2.2.0 adds a new helper, `tryEach`, and improves error handling across several core control flow utilities. This release focuses on fixing how errors are propagated and reported in `waterfall`, `asyncify`, and `auto`.

    Features