Back to Explore

isaacs/minizlib

GitHub
1 watchersOpen source

Last release:

minizlib is a smaller, faster zlib stream for Node.js, built on minipass and Node.js zlib bindings. It provides stream classes like Deflate and Inflate (plus gzip and optional Brotli and Zstd support) and is useful when you want fast, stream-based compression and decompression as you feed data. It was created to support projects like node-tar and minipass-fetch.

Project status

  • Maintenance status: Appears to be maintained with ongoing evolution, but there is no evidence of updates since 2025-09-21 (about 11 months ago as of 2026-08-12), so momentum looks sporadic rather than continuously active.
  • Update cadence (evidence-based): The most recent sequence shows updates roughly every 3 to 6 months when active (2024-03-19, 2024-04-06, 2025-03-31, 2025-09-21), with longer gaps in between.

AI summary generated

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

Recent updates

  • v3.1.0

    v3.1.0 introduces Zstandard (Zstd) compression streams and updates the public API surface in src/index.ts. It also changes error decoration behavior (stack trace origin and use of Error.cause) and adds an explicit runtime check for whether the requested compression method exists in Node's zlib.

    BreakingFeatures
  • v3.0.2

    Release v3.0.2 contains mostly internal implementation changes around how the library temporarily overrides Buffer.concat during zlib chunk processing, plus a set of dependency and CI/tooling updates. No release notes were provided, so the actual behavioral and packaging implications need to be inferred from the diff.

  • v3.0.1

    Release v3.0.1 is a small patch-level update with minimal code churn. The only functional code change in the diff is relaxing the Zlib options typing by making `level` and `strategy` optional, plus version metadata updates in package.json and package-lock.json.

    Features
  • v3.0.0

    v3.0.0 is a major rewrite that refactors the library into a TypeScript-based implementation with an ESM-first package setup (dual ESM/CommonJS builds via dist and the package "exports" field). It introduces a new ZlibBase abstraction (src/index.ts) to manage flush/end/error behavior, and adds a centralized, frozen constants export (src/constants.ts), alongside multiple dependency and tooling upgrades.

    Features
  • v2.1.2

    v2.1.2 makes a small internal change to how minizlib wires error handling for its zlib-backed stream. No release notes were provided, and the only substantive code change is related to attaching an 'error' listener in the ZlibBase class.

  • v2.1.1

    No release notes were provided for v2.1.1. The code changes focus on zlib stream error handling, specifically preventing multiple error emissions and ensuring the internal error listener remains attached during chunk processing.

  • v2.1.0

    This release primarily updates minizlib to support a new optional behavior for gzip output intended to improve reproducibility across operating systems. The code changes add a `portable` option to `Gzip`, and the test/CI setup is adjusted to account for environments where Brotli support is not available.

    Features
  • v2.0.0

    Release v2.0.0 has no provided release notes. The available diff shows this version bump is primarily driven by dependency upgrades (minipass 2 to 3, addition of yallist 4) plus Node engine/test assumptions changes.

  • v1.3.3

    Release v1.3.3 updates CI to test newer Node.js versions and changes how the library exposes zlib constants. The change centers on constants.js, which now merges in Node's `zlib.constants` object directly instead of relying on a fully hardcoded constant set.

    Breaking
  • v1.3.2

    Release v1.3.2 was published on 2019-09-26, but the publisher did not provide any release notes. As a result, there is no documented information available here about new features, bug fixes, security updates, breaking changes, or migration steps.