A JavaScript library to zip and unzip files in the browser, Deno and Node.js
Last release 2 days ago
25 Aug 2026
Release timing varies
gaps range from 8 days to 3 months
Nearly every release is documented
notes for 60 of the last 60 stable releases
Nothing withdrawn
no release was ever pulled
6 years old
353 releases · first in 2021
Release timeline
353 releases since 2021Releases
- 2.6.355 Oct 2022
Nothing published for this version
- 2.6.344 Oct 2022
Release notes
Open source →Added
SplitZipWriterclass which can be used in order to create split zip files withZipWriter(cf. test here) - 2.6.3327 Sept 2022
Release notes
Open source →- Fixed potential issue related to zip64 format auto-detection when adding concurrently
ReadableStreamandReaderinstances simultaneously in a zip file weighting more than 4GB - Fixed unnecessary data retrieval (approx. 30 bytes) when extracting a zip entry
- Added rollup-es5.config.js and rollup-es5.config.dev.js scripts in order to build zip.js for older engines (see instructions in the header comment)
- Fixed potential issue related to zip64 format auto-detection when adding concurrently
- 2.6.3224 Sept 2022
Release notes
Open source →Improved implementation of the fix from the previous version (2.6.30) for the potential race data condition in Firefox when reading zip files
- 2.6.3124 Sept 2022
Nothing published for this version
- 2.6.3023 Sept 2022
Release notes
Open source →- Added support of split zip files when using
ZipReadervia theSplitZipReaderclass (see example here) - Fixed potential data race issue in Firefox when unzipping files with the option
transferStreamsset totrue(introduced in version 2.6.24) that could lead to truncated files - Make sure build scripts can run in environments where
globalThisisundefined(see https://github.com/gildas-lormeau/zip.js/issues/254#issuecomment-1254145896)
- Added support of split zip files when using
- 2.6.2919 Sept 2022
Release notes
Open source →Added support of CommonJS modules (see "Installation" here: https://gildas-lormeau.github.io/zip.js/)
- 2.6.2817 Sept 2022
Release notes
Open source →- Added new options when calling
configurein order to pass customCompressionStreamandDecompressionStreamimplementations - Reduced the size of built files (~ 2%)
- Fixed issue when getting
navigator.hardwareConcurrencyon Deno Deploy
- Added new options when calling
- 2.6.2613 Sept 2022
Nothing published for this version
- 2.6.2510 Sept 2022
Release notes
Open source →Fixed TypeScript compilation issue due to a syntax error in the
index.d.tsfile (see https://github.com/gildas-lormeau/zip.js/pull/366) - 2.6.248 Sept 2022
Release notes
Open source →Added a new option when creating a
ZipReaderinstance or when callingZipReader#getData(). This option is namedtransferStreamsand is set totrueby default.- When set to
false, zip.js should work as before. zip.js will read/write chunks of data when decompressing data by exchanging messages between the main thread and web workers. - When set to
true, zip.js will try to transfer theReadableStreamand theWritableStreaminstances used when decompressing data to the web workers. Thus, data is transferred natively between the main thread and the web workers. If the environment does not allow streams to be transferred to web workers, zip.js automatically falls back to the implementation corresponding totransferStreamsset tofalse.
Note that transferable streams are not supported in Deno currently.
- When set to
- 2.6.233 Sept 2022
- 2.6.223 Sept 2022
Nothing published for this version
- 2.6.2129 Aug 2022
Release notes
Open source →Improved automatic detection of entries that should use Zip64 data when compressing entries in parallel (i.e. if the zip file is going to weight more than 4GB)
- 2.6.2029 Aug 2022
Release notes
Open source →- Fixed back-pressure implementation when using web workers, this bug could lead to incomplete files when decompressing files (see https://github.com/gildas-lormeau/zip.js/discussions/359)
- 2.6.1927 Aug 2022
Release notes
Open source →- Added the missing method
FS#importUint8Array - Fixed a bug where zip.js would decide to use a buffer to write compressed data sequentially whereas it's not needed
- Improved implementation of compression abort
- Added the missing method
- 2.6.1821 Aug 2022
Release notes
Open source →Improve the implementation of
BlobWriterby using aTransformStreaminstance under the hood - 2.6.1721 Aug 2022
Nothing published for this version
- 2.6.1619 Aug 2022
Release notes
Open source →What's Changed
- Fix
ZipWriter.addreturning unresolved promises by @0f-0b in https://github.com/gildas-lormeau/zip.js/pull/355
Full Changelog: https://github.com/gildas-lormeau/zip.js/compare/v2.6.15...v2.6.16
- Fix
- 2.6.1517 Aug 2022
Release notes
Open source →- Fixed potential data corruption issue when aborting the compression of (unbuffered) data in a zip file
- Added basic example (i.e. not based on Streams) in the README file
- Updated and fixed API doc on deno.land
- 2.6.1414 Aug 2022
Release notes
Open source →- Improve the performance of
Uint8ArrayWriterwhen callingEntry#getData()
- Improve the performance of
- 2.6.1314 Aug 2022
Release notes
Open source →Make sure file names encoded in CP437 in zip files are properly decoded when the source code of zip.js is not parsed in UTF-8 (see #352)
- 2.6.129 Aug 2022
Release notes
Open source →- No changes in the code of the library
- Moved test launcher and build scripts in the
package.jsonfile - Improved UX of the test runner for Node.js
- 2.6.117 Aug 2022
Release notes
Open source →- Fixed a bug where adding 2 entries with the same filename concurrently with
ZipWriter#add()did not necessarily trigger an exception (the first entry was overridden by the second one). - Added some examples in the API documentation.
- Fixed a bug where adding 2 entries with the same filename concurrently with
- 2.6.106 Aug 2022
- 2.6.96 Aug 2022
Release notes
Open source →- Added feature test of
Workerconstructor and automatic fallback on the main thread if not present, i.e. you don't need to setuserWebWorkerstofalseanymore. - Added simple test suite for Node.js, see https://github.com/gildas-lormeau/zip.js/blob/master/tests/node-runner.js (tested on v18.4.0)
- Made
cryptoAPI optional when using ZipCrypto to decrypt files (fix)
- Added feature test of
- 2.6.82 Aug 2022
Release notes
Open source →- Fixed encoding and decoding of
Entry#internalFileAttribute - Added TSDoc documentation in the
index.d.tsfile and fixed minor issues - Added API doc generated using TypeDoc in the GitHub Page of the project: https://gildas-lormeau.github.io/zip.js/api/index.html
- Fixed encoding and decoding of
- 2.6.729 Jul 2022
Release notes
Open source →Fixed a regression introduced in version 2.5 that prevented the
keepOrderoption from working correctly when creating multiple entries in a zip file simultaneously (e.g. when callingawait Promise.all([zipWriter.add(...), zipWriter.add(...), ...])). - 2.6.628 Jul 2022
Release notes
Open source →Add support of Streams in the
FSAPI (see example here: https://github.com/gildas-lormeau/zip.js/blob/master/tests/all/test-fs-streams.js) - 2.6.526 Jul 2022
- 2.6.423 Jul 2022
- 2.6.322 Jul 2022
Release notes
Open source →What's Changed
- Fix
levelanduseCompressionStreambeing ignored by @0f-0b in https://github.com/gildas-lormeau/zip.js/pull/345
New Contributors
- @0f-0b made their first contribution in https://github.com/gildas-lormeau/zip.js/pull/345
Full Changelog: https://github.com/gildas-lormeau/zip.js/compare/v2.6.2...v2.6.3
- Fix
- 2.6.221 Jul 2022
Release notes
Open source →- Add support of
ReadableStreamreaders in theZipReaderconstructor. Although they will be automatically converted into aBlobReaderreaders transparently in order to allow random access to the data (see test here: https://github.com/gildas-lormeau/zip.js/blob/master/tests/all/test-readable-zip-stream.js).
- Add support of
- 2.6.120 Jul 2022
Release notes
Open source →- Fix security issue in terser (used to build minified files)
- Fix signatures of
getDatamethods inindex.d.ts
- 2.6.020 Jul 2022
Release notes
Open source →- Removes obsolete features:
ERR_ABORThas been removed. Instead, you can now check ifsignal.reasonequals to the error thrown when cancelling compression/decompression.ReadableStreamReaderandWritableStreamWriterhave been removed. Instead, you can now pass objects containing areadableorwritableproperty (respectively). See example of code in the README.MD.
- The README.MD shows a complete example of code using zip.js
- Removes obsolete features:
- 2.5.2619 Jul 2022
- 2.5.2516 Jul 2022
Release notes
Open source →Added handling of HTTP 416 "Range Not Satisfiable" errors when doing range requests
- 2.5.2416 Jul 2022
Nothing published for this version
- 2.5.2315 Jul 2022
Release notes
Open source →Fixed a bug where aborting the addition of an entry could result in a corrupted zip file under some conditions.
- 2.5.2215 Jul 2022
Nothing published for this version
- 2.5.2115 Jul 2022
Release notes
Open source →- Fixed handling of global comment when writing zip files
- Added support of global comment when reading zip files (cf.
ZipReader#comment)
- 2.5.2015 Jul 2022
Release notes
Open source →- Fixed potential race condition bug when writing multiple entries in parallel in a zip file (reproducible in v2.5.19 with
cli-deno/mc-zip.js) - Fixed bug when password was provided but the entry was not encrypted
- Fixed potential race condition bug when writing multiple entries in parallel in a zip file (reproducible in v2.5.19 with
- 2.5.1913 Jul 2022
Release notes
Open source →- Improved support of
TransformStream:- Added support of plain objects containing a
writableproperty (WritableStream) as an alternative toWriterinstances - Added support of plain objects containing a
readableproperty (ReadableStream) when callingZipWriter#add - See https://github.com/gildas-lormeau/zip.js/blob/master/cli-deno/mc-zip.js for an example of code using these features
- Added support of plain objects containing a
- Improved the test runner for browsers by limiting the number of simultaneous tests
- Improved support of
- 2.5.1813 Jul 2022
Nothing published for this version
- 2.5.1712 Jul 2022
- 2.5.1612 Jul 2022
Nothing published for this version
- 2.5.1512 Jul 2022
Nothing published for this version
- 2.5.1411 Jul 2022
Release notes
Open source →- removed now useless dependencies to
FileReader - added
preventCloseoption when creatingWritableStreamWriterinstances - made parameters of
WritableStreamWriterandReadableStreamReaderoptional
- removed now useless dependencies to
- 2.5.1311 Jul 2022
Release notes
Open source →- Make sure
chunkSizeis taken into account when sending data to web workers
- Make sure
- 2.5.1211 Jul 2022
Release notes
Open source →- added
onstartandonendevent handlers options when adding/reading zip entry data - added a simple example of CLI tool written in Deno in
/cli-denousing Streams to read and write data
- added
- 2.5.1110 Jul 2022
- 2.5.1010 Jul 2022
Release notes
Open source →- Fixed regression introduced in the version 2.5.x leading to potential data corruption
- Set the value of the option
keepOrdertotrue(by default) to avoid issues when zipping files using Zip64
- 2.5.910 Jul 2022
- 2.5.810 Jul 2022
Nothing published for this version
- 2.5.79 Jul 2022
Release notes
Open source →- set the value
keepOrdertofalseby default when compressing multiple files in parallel to improve performances (note that when unzipping the file, entries will stay ordered though) - minor improvement related to "AbortError" errors
- set the value
- 2.5.59 Jul 2022
Release notes
Open source →- Fixed handling of
useCompressionStreamoption which was ignored when callingzip.configure() - Finished the integration of web streams
- Reduced the size of the build files (~ 3%)
- Fixed handling of
- 2.5.46 Jul 2022
Release notes
Open source →What's Changed
- Fixed: Make useCompressionStream optional by @tim-we in https://github.com/gildas-lormeau/zip.js/pull/339
Full Changelog: https://github.com/gildas-lormeau/zip.js/compare/v2.5.3...V2.5.4
- 2.5.35 Jul 2022
Release notes
Open source →- Added handling of errors when creating
CompressionStreamandDecompressionStreaminstances (e.g. in Node.js) - Fixed Nodes.js test
- Added handling of errors when creating
- 2.5.24 Jul 2022
Release notes
Open source →- Added the support of
CompressionStreamandDecompressionStreamAPIs - Refactored the code to use the
TransformStreamAPI under the hood - Dropped support of built files for IE11
Warning: The
TransformStreamAPI is quite new (especially in Node.js and Firefox), update to 2.5.x if you're sure the environment you are targeting supports it (it can also be polyfilled with https://github.com/MattiasBuelens/web-streams-polyfill by including https://unpkg.com/web-streams-polyfill/dist/polyfill.min.js). - Added the support of
- 2.5.14 Jul 2022
Nothing published for this version