Back to Explore

isaacs/node-graceful-fs

GitHub
1 watchersOpen source

Last release: 3/16/2023

graceful-fs is a drop-in replacement for Node’s built-in fs module that improves filesystem access behavior across platforms, focusing on resilience to errors. It queues and retries certain operations to reduce failures like EMFILE “too many file descriptors”, helping apps avoid crashing when they open many files at once.

Project status

  • The repository appears to be maintained, with a recent upstream push dated 2025-10-25, though the most recently summarized tagged updates are older.
  • Apparent update cadence is slow and irregular, with the latest cited update v4.2.11 dated 2023-03-16, and prior summarized updates from 2022 and 2022 (roughly 1 to 2 year gaps between those tagged versions).

AI summary generated Today

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

Recent updates

  • v4.2.11

    3/16/2023

    Release v4.2.11 contains mostly build/test maintenance changes. The only substantive runtime-related code change in the diff is in graceful-fs' polyfills logic for filesystem rename retry behavior, where EBUSY is newly treated as a retryable error.

  • v4.2.10

    4/4/2022

    v4.2.10 includes code changes in the graceful-fs polyfill and queueing logic, plus various CI workflow and test harness updates. Release notes were not provided, so the actual behavioral implications are only visible from the code diff.

    Breaking
  • v4.2.9

    1/5/2022

    Release v4.2.9 was published on 2022-01-05, but no release notes were provided by the publisher. As a result, this update cannot be assessed for new features, breaking changes, bug fixes, or security/performance improvements from the release documentation alone.

  • v4.2.8

    8/5/2021

    Release v4.2.8 contains no provided release notes. The code diff shows changes to graceful-fs internal retry scheduling and queue timing, plus an accompanying test adjustment to match the new timeout-based behavior.

  • v4.2.7

    8/5/2021

    v4.2.7 updates graceful-fs to adjust its internal EMFILE/ENFILE retry mechanism for patched async fs methods, including tracking retry attempts and updating queue scheduling behavior. It also updates documentation (README) about limitations with sync methods and adds a test verifying the retry count behavior.

  • v4.2.6

    2/9/2021

    This release (v4.2.6) includes small compatibility and test changes, with a notable update to graceful-fs copyFile handling. There were no release notes provided, so the following changes are inferred only from the code diff.

    Features
  • v4.2.5

    2/5/2021

    This release (v4.2.5) updates the CI/test setup and makes targeted changes to graceful-fs internals. The main functional code change is adding a copyFile wrapper to inherit graceful-fs retry behavior for EMFILE/ENFILE errors, plus some prototype handling fixes to better support util.promisify.

    Features
  • v4.2.4

    4/28/2020

    Release v4.2.4 contains no publisher release notes. The code diff shows only internal changes in graceful-fs.js related to how the shared retry queue is stored and accessed, plus a version bump in package metadata.

  • v4.2.3

    10/23/2019

    v4.2.3 updates graceful-fs to adjust how the legacy stream alias properties FileReadStream and FileWriteStream behave. The release notes are not provided, but the code change adds internal variables to decouple these legacy aliases from the primary ReadStream and WriteStream properties, and a new test was added to lock in the new behavior.

  • v4.2.2

    8/14/2019

    Release v4.2.2 was published on 2019-08-14, but no release notes were provided by the publisher. Because the changelog content is missing, there is no documented information to assess potential API, behavioral, or security changes for this upgrade.