is-async-function is a small JavaScript utility that checks whether a value is a native async function. It is useful for runtime type checks when you need to detect async functions versus regular, generator, or non-function values.
Project status
- Actively maintained: Evidence is mixed. The most recent published update in the provided summaries is v2.1.1 on 2025-01-23, but there is a GitHub upstream push on 2025-12-30, suggesting some ongoing work even though no newer version is shown here.
- Update cadence: The visible published updates are roughly yearly (v2.1.0 on 2025-01-02, v2.1.1 on 2025-01-23, then the next listed major update is much older), so the project appears slow-moving relative to today (2026-06-09).
AI summary generated
Recent updates
v2.1.1
v2.1.1 refactors async function detection to rely on the external `async-function` package instead of using an inline `Function`-constructor helper. Alongside the runtime change, the package metadata and TypeScript typings were adjusted (including adding a Node `exports` map).
Securityv2.1.0
Release v2.1.0 has no publisher-provided release notes, so the only information about changes comes from the actual repository diff. This update primarily refactors the async-function detection implementation, adds new runtime dependencies, and introduces TypeScript typings.
BreakingSecurityFeaturesv2.0.0
Release v2.0.0 was published on 2022-04-12, but the publisher did not provide any release notes. As a result, there is no documented information here about new features, breaking changes, bug fixes, security updates, performance improvements, migrations, or dependency changes.
v1.3.0
The published release notes for v1.3.0 are missing. The actual diff for the v1.2.4 to v1.3.0 range is almost entirely CI and documentation updates, but there is also a significant dependency classification change (micromatch moved) and a package version inconsistency between changelog and package.json.
Breakingv1.2.4
Release v1.2.4 includes no publisher release notes, but the diff shows runtime dependency upgrades plus a behavioral change in how the `names` argument is interpreted inside `index.js`. It also updates CI and project metadata/docs, and refreshes the test suite to match newer dependencies.
v1.2.3
v1.2.3 ships without publisher release notes. The diff shows a refactor of the implementation in index.js (removing the internal lazy-loaded utils wrapper) plus dependency and tooling updates, and the published CHANGELOG.md entry is mostly about docs and packaging.
v1.2.2
This release appears to be documentation-focused. The diff shows updates to README and verb documentation, plus a version bump and addition of a yarn.lock file, with no observable runtime code changes.
v1.2.1
v1.2.1 makes a targeted fix to the non-strict behavior of is-async-function. The code change alters how the callback name match index is computed, and the tests were updated to reflect different return values in non-strict mode.
Breakingv1.2.0
Version 1.2.0 introduces a new “strict mode” behavior for `is-async-function`, plus documentation and test updates. The core change is in `index.js`, where the exported `isAsyncFunction` now supports an additional `strict` parameter and can return either a boolean or a callback-name index depending on that mode.
BreakingFeaturesv1.1.5
Release v1.1.5 was published on 2016-09-21, but no release notes were provided by the publisher. As a result, there is no documented information here about new features, fixes, breaking changes, or dependency updates in this version.