Skip to content

Releases: gildas-lormeau/zip.js

v2.8.3

29 Sep 01:11
Compare
Choose a tag to compare
  • Added support of JavaScript-based implementation (based on zlib) of Compression Streams API (see https://github.com/gildas-lormeau/zlib-streams-ts) as an alternative to the default WASM-based implementation. See the new exports property in the package.json file and files in the /dist folder, JavaScript-based implementations are suffixed with -native (e.g. ./index-native.js).
  • Fixed malloc error in environments not fully supporting WASM (see #605)

v2.8.2

09 Sep 09:34
Compare
Choose a tag to compare

New in version 2.8

  1. WebAssembly Integration
  • Replaced JavaScript compression and decompression implementation with WebAssembly zlib module (https://github.com/gildas-lormeau/zlib-streams. This improves security and performance when native CompressionStream and DecompressionStream APIs are not used (for example, when using custom compression levels or decompressing deflate64 data) or unavailable.
  • Added the wasmURI configuration property to provide the module URI if necessary (for example, when the CSP blocks data URIs).
  1. Deflate64 Decompression Support
  • Added support of proprietary Deflate64 decompression algorithm which can be used by Windows when compressing large files (see #517)
  1. Simplified Configuration
  • Replaced the complex workerScripts configuration with a single workerURI property, making it easier to set up web workers.
  • Default values for workerURI and wasmURI are provided, reducing the need for manual configuration when building code.
  1. Improved Type Safety and Clarity
  • Refined TypeScript definitions, including clearer distinctions between DirectoryEntry and FileEntry.
  • Deprecated and removed legacy APIs and classes, streamlining the library for current use cases.

Breaking Changes

  1. Worker Configuration Changes:
  • The workerScripts property in the configuration was removed and replaced with workerURI (and wasmURI for the WASM module).
  1. Stream Implementation Updates:
  • The Deflate and Inflate properties in the configuration were removed and replaced with CompressionStream and DecompressionStream.
  1. Deprecated Classes Removed:
  • The deprecated classes SplitZipReader and SplitZipWriter were removed.
  1. Event-Based Codec Support Removed:
  • Interfaces and classes related to event-based codecs, such as EventBasedZipLibrary, initShimAsyncCodec, and EventBasedCodec were removed.
  1. Entry Metadata Changes in index.d.ts:
  • The directory property was removed from EntryMetaData and moved to DirectoryEntry and FileEntry interfaces.

What's Changed in v2.8.2

  • Fix edge cases of uncompressed size check by @0f-0b in #600

Full Changelog: v2.8.1...v2.8.2

v2.8.1

08 Sep 19:49
Compare
Choose a tag to compare

New in version 2.8

  1. WebAssembly Integration

  2. Deflate64 decompression support

    • Added support of proprietary Deflate64 decompression algorithm which used by Windows when compressing large files (see #517)
  3. Simplified Configuration

    • Replaced the complex workerScripts configuration with a single workerURI property, making it easier to set up web workers.
    • Default values for workerURI and wasmURI are provided, reducing the need for manual configuration.
  4. Improved Type Safety and Clarity

    • Refined TypeScript definitions, including clearer distinctions between DirectoryEntry and FileEntry.
    • Deprecated and removed legacy APIs and classes, streamlining the library for current use cases.

Breaking Changes

  1. Worker Configuration Changes:

    • The workerScripts property in the configuration was removed and replaced with workerURI and wasmURI.
  2. Stream Implementation Updates:

    • The Deflate and Inflate properties in the configuration were removed and replaced with CompressionStream and DecompressionStream.
  3. Deprecated Classes Removed:

    • The deprecated classes SplitZipReader and SplitZipWriter were removed.
  4. Event-Based Codec Support Removed:

    • Interfaces and classes related to event-based codecs, such as EventBasedZipLibrary, initShimAsyncCodec, and EventBasedCodec were removed.
  5. Entry Metadata Changes:

    • The directory property was removed from EntryMetaData and moved to DirectoryEntry and FileEntry interfaces.

v2.8.1: Fixed exports in package.json (see #599)

v2.8.0

08 Sep 15:30
Compare
Choose a tag to compare

New in version 2.8

  1. WebAssembly Integration

  2. Deflate64 decompression support

    • Added support of proprietary Deflate64 decompression algorithm which used by Windows when compressing large files (see #517)
  3. Simplified Configuration

    • Replaced the complex workerScripts configuration with a single workerURI property, making it easier to set up web workers.
    • Default values for workerURI and wasmURI are provided, reducing the need for manual configuration.
  4. Improved Type Safety and Clarity

    • Refined TypeScript definitions, including clearer distinctions between DirectoryEntry and FileEntry.
    • Deprecated and removed legacy APIs and classes, streamlining the library for current use cases.

Breaking Changes

  1. Worker Configuration Changes:

    • The workerScripts property in the configuration was removed and replaced with workerURI and wasmURI.
  2. Stream Implementation Updates:

    • The Deflate and Inflate properties in the configuration were removed and replaced with CompressionStream and DecompressionStream.
  3. Deprecated Classes Removed:

    • The deprecated classes SplitZipReader and SplitZipWriter were removed.
  4. Event-Based Codec Support Removed:

    • Interfaces and classes related to event-based codecs, such as EventBasedZipLibrary, initShimAsyncCodec, and EventBasedCodec were removed.
  5. Entry Metadata Changes:

    • The directory property was removed from EntryMetaData and moved to DirectoryEntry and FileEntry interfaces.

v2.7.73

01 Sep 22:13
Compare
Choose a tag to compare

What's Changed

New Contributors

Full Changelog: v2.7.72...v2.7.73

v2.7.72

04 Aug 15:20
Compare
Choose a tag to compare
  • Fixed regression when using zip.js in Node < 21.2 with the option useCompressionStream not explicitly set to false (Node.js does not support the deflate-raw format of the CompressionStream API in version < 21.2)
  • Removed useless files from the JSR repository

v2.7.71

01 Aug 00:31
Compare
Choose a tag to compare
  • Improved security in ZipReader by:
  • Fixed URLString type in the type definition file
  • Updated dev dependencies

v2.7.70

29 Jul 17:00
Compare
Choose a tag to compare
  • Fixed bug in Data64URIWriter when writing small succeeding amounts of data (see #588)
  • Improved security when uncompressing ZIP files. ZipReader will trigger an error as soon as the output size of an entry exceeds the expected "uncompressed size" defined in the central directory (see #587)

v2.7.69

26 Jul 11:12
Compare
Choose a tag to compare
  • Ensure the compressed size, the uncompressed size, and the CRC2 checksum are written in the local header if the data descriptor is not used (see #585)

v2.7.68

23 Jul 12:59
Compare
Choose a tag to compare

Fixed regression introduced in version 2.7.65 when using HttpRangeReader with ZipWriter#add() (see #586)