A JavaScript utility for retrying failed async calls, based on a predicate that checks the error returned. Useful for re-running operations after transient failures, with options to control timeout, concurrency, and support canceling retries with an AbortSignal.
Project status
- The source appears to be maintained but quiet in practice: the most recent published update shown is
retry-v0.4.3on 2025-05-07, while a GitHub push occurred later on 2026-04-22 (no correspondingvupdate is shown in the provided summaries since 0.4.3). - The apparent update cadence was relatively steady through 2024 to mid-2025 (multiple updates spanning months apart), but there is a long gap between the last known update (2025-05-07) and today (2026-06-09), suggesting a slowdown or maintenance mode for published updates.
AI summary generated
Recent updates
retry-v0.4.3
Release 0.4.3 primarily improves the TypeScript type definitions for Retrier.retry. The only code change in src/retrier.js is a more precise JSDoc generic typing for the function argument and the returned Promise type, with the rest of the diff consisting of repository metadata and release bookkeeping.
retry-v0.4.2
retry v0.4.2 (2025-02-19) primarily fixes an issue where temporary promises could reject and trigger unhandledRejection behavior. The code change is centered in Retrier.retry, with supporting test coverage and additional CI/workflow adjustments.
retry-v0.4.1
v0.4.1 primarily updates the library's debug logging behavior. The release notes describe gating debug output behind a specific DEBUG value, and the code implements that change with additional logging semantics.
retry-v0.4.0
v0.4.0 introduces concurrency support to the Retrier so multiple retried function calls can be in flight at the same time. The core implementation in src/retrier.js was reworked around new internal queues and task counters, and the test suite was expanded to validate concurrent behavior. Release notes only mention concurrency at a high level, but the code includes additional observable API and runtime changes.
Featuresretry-v0.3.1
Release v0.3.1 focuses on bug fixes, specifically addressing long retries behavior and correcting the repository URL metadata in package.json. The code diff shows changes to the retry scheduler in src/retrier.js that alter how tasks are re-queued and when the queue processing loop continues.
retry-v0.3.0
v0.3.0 adds retry cancellation support via AbortSignal. It also includes fixes related to shipping correct TypeScript types for npm and JSR.
Featuresretry-v0.2.4
v0.2.4 focuses on improving how retry handles asynchronous return values. Specifically, it now supports retrying when the retried function returns a non-Promise thenable (an object with a then method).
retry-v0.2.3
retry v0.2.3 includes a metadata-oriented change to how the package exports are ordered, intended to satisfy tooling expectations. The diff also updates packaging configuration for JSR and bumps the TypeScript devDependency.
retry-v0.2.2
Release v0.2.2 contains a CI-only fix to ensure the dist output is built before publishing to JSR. The rest of the diff is version and changelog bookkeeping to reflect 0.2.2.
retry-v0.2.1
Release v0.2.1 primarily updates CI configuration to enable publishing by adding an OpenID Connect (OIDC) token permission. No runtime/library code changes are evident in the provided diff, aside from version and changelog metadata updates.