Back to Explore

101arrowz/fflate

GitHub
1 updates · last 90 days1 watchersOpen source

Last release: 2 weeks ago

fflate is a pure JavaScript library for high performance compression and decompression, designed to be very small (about an 8 kB package). It supports DEFLATE, GZIP, and Zlib, and also includes ZIP file archiving plus streaming and multi-threaded asynchronous compression.

Project status

  • The repository appears actively maintained, with a recent update published on 2026-05-16 (v0.8.3) and a latest upstream push recorded shortly after (same day).
  • Update cadence looks intermittent, with a long gap between v0.8.3 (2026-05-16) and the previous tagged update v0.8.2 (2024-02-07), and an earlier gap to v0.8.0 (2023-05-22).

AI summary generated Today

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

Recent updates

  • v0.8.3

    2 weeks ago

    v0.8.3 focuses on correctness and streaming improvements around ZIP/Zip64, and adds support for zlib Z_SYNC_FLUSH to enable immediate decompression of pushed bytes during streaming. It also includes TypeScript typing fixes for newer TS versions and reduces memory usage after compression stream completion.

    SecurityFeatures
  • v0.8.2

    2/7/2024

    v0.8.2 focuses on streaming compression and decompression correctness and runtime behavior, including fixes for skipped data and GZIP member-boundary issues. It also adds async-streaming backpressure handling (via a new `ondrain` handler and `queuedSize`) and flush support for the streaming API. The release notes also mention a UMD build fix and performance improvements for streaming and `unzip` on certain archive sizes.

    Features
  • v0.8.0

    5/22/2023

    v0.8.0 introduces dictionary support for compression and decompression, adds multi-member GZIP support for streaming decompression, and claims dramatically improved streaming performance plus a malformed GZIP error fix. No release notes were provided in the publisher release-note section, but the repository changelog documents an API-breaking change for synchronous decompression to use an options object as the second parameter.

    BreakingFeatures
  • v0.7.4

    10/1/2022

    v0.7.4 has no publisher release notes provided. The code diff shows primarily internal changes plus several public TypeScript type definition updates around ZIP “zippable” directory/object structures, alongside small robustness fixes.

    Breaking
  • v0.7.3

    1/20/2022

    v0.7.3 focuses on ZIP folder handling, fixing folder creation for certain operating systems, including support for empty folders and adding support for specifying options on folders when using the object syntax. It also includes a SWC/minification hardening pass to avoid relying on `instanceof` checks and on overly strict whitespace assumptions in async-related code paths.

    BreakingFeatures
  • v0.7.2

    12/14/2021

    v0.7.2 is a small maintenance release focused on correcting TypeScript callback typings under strictNullChecks, fixing compression behavior for large inputs when using { level: 0 }, and adjusting the AMD/UMD module wrapper. It also includes an AMD definition fix in the UMD build output generation.

  • v0.7.1

    6/18/2021

    No release notes were provided for v0.7.1 in the supplied release_notes payload. Based on the actual diff, this release primarily adds ZIP unzip filtering support and includes internal fixes related to streaming gunzip/unzlib behavior.

  • v0.7.0

    5/27/2021

    No publisher release notes were provided for v0.7.0, but the code diff shows multiple API and behavioral changes. The most significant are structured flate errors (numeric error codes, Error objects instead of strings), TypeScript callback/type signature changes for error parameters, updated worker error propagation, and a breaking change in the Rust WASM binding API.

  • v0.6.9

    3/21/2021

    Release v0.6.9 contains a small set of documentation and demo updates plus a TypeScript signature change for the AsyncGunzip constructor. The provided release notes are empty, so the differences observed in the code diff are effectively undocumented.

  • v0.6.7

    3/1/2021

    Release v0.6.7 updates stream handling in fflate, mainly around how the library treats the `final` chunk for UTF-8 decoding/encoding and zip unzipping. The code changes add stricter stream lifecycle checks (throwing on pushes after finish) and adjust finalization behavior to better detect invalid UTF-8 and improperly finalized zip streams.