fetch-blob is a Node.js Blob implementation originally from node-fetch, useful when you need Blob-like APIs such as text(), arrayBuffer(), and streaming in environments where you want a polyfilled Blob. It also includes helpers in fetch-blob/from.js to create Blob or File handles from filesystem paths without loading the full contents into memory, and utilities for creating temporary Blob or File data that can be cleaned up automatically.
Project status
- Maintenance status: The repo appears quiet/dormant now, with the last upstream push on 2023-08-14 and no listed
updatesafter v4.0.0 (2023-05-18), which is over two years ago relative to 2026-06-09. - Update cadence: Historically sporadic, with meaningful
updatesclustering around 2021, 2022, and 2023, and then a long silence since mid-2023.
AI summary generated
Recent updates
v4.0.0
v4.0.0 removes the dependency on the streams polyfill and instead relies on Node's built-in web streams implementation when needed. The release notes only mention the streams polyfill removal, but the code diff also includes other compatibility breaking changes (exports, MIME type casing, and blob-part requirements).
Breakingv3.2.0
v3.2.0 introduces new helpers for creating temporary filesystem-backed Blobs and Files, and it also bumps the @types/node development dependency. The release notes only broadly describe the feature, while the code adds new exported APIs and some module-level side effects related to cleanup.
Featuresv3.1.5
Release v3.1.5 contains a small behavioral fix focused on handling empty inputs when constructing or reading blobs. The release notes mention avoiding reading files when the file size is empty. The code diff shows additional internal and validation changes beyond that single documented scenario.
v3.1.4
Release v3.1.4 mainly focuses on bug fixes in Blob/File behavior, plus updates to the test setup. The code diff shows changes to Blob construction/iteration internals and also introduces a new File instanceof behavior and a different DOMException implementation strategy.
3.1.3
fetch-blob 3.1.3 updates the Blob/File implementation with better WHATWG stream support (via Node's stream/web when available, otherwise falling back to a polyfill) and improves compatibility with broader input types such as iterable objects. The code also tightens behavior around File construction and adds infrastructure for running WPT tests in Node.
BreakingFeatures3.0.0
Version 3.0.0 finalizes the ESM-based release and adds first-class File support. The code introduces a new File class plus new filesystem conversion helpers, and it also changes how DOMException is obtained when reading files.
Features3.0.0-rc.0
Release v3.0.0-rc.0 makes fetch-blob fully ESM and refactors Blob internals away from WeakMap and Node Buffers, using private fields plus TextEncoder/TextDecoder. The biggest user-facing API change is that Blob.stream() no longer returns a Node readable stream, instead yielding an async sequence of Uint8Array chunks. Additional changes adjust MIME type handling (no lowercasing) and update project configuration for newer Node versions.
BreakingFeatures2.1.2
No publisher release notes were provided for v2.1.2. The repo changelog indicates this release focuses on fixing BlobDataItem behavior (especially around undefined start values and empty files), with additional internal/testing and typing generation updates.
v2.1.1
Release v2.1.1 was published on 2020-07-28. The provided release notes do not include specific change descriptions and instead direct readers to the project CHANGELOG for details, so developer-impactful items cannot be determined from this content alone.
v2.1.0
v2.1.0 adds a filesystem-backed way to create Blob parts via a new from.js helper, and includes a fix for a Blob.prototype.slice implementation bug. The code diff also contains several internal changes to Blob type detection and chunk sizing logic, plus updates to test and CI tooling.
Features