A JavaScript library to zip and unzip files in the browser, Deno and Node.js
Last release 3 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.2.3723 May 2021
Release notes
Open source →- Fix minor issues related to
ZipWriter#addand zip64 files (see https://github.com/gildas-lormeau/zip.js/commit/ba6c3faa5a26560fe4552a83deaa1772d81eb3db and https://github.com/gildas-lormeau/zip.js/commit/ba6c3faa5a26560fe4552a83deaa1772d81eb3db)
- Fix minor issues related to
- 2.2.3619 May 2021
Release notes
Open source →- fix potential issue when calling
ZipWriter#addwith more than 4GB of data
- fix potential issue when calling
- 2.2.3519 May 2021
- 2.2.3419 May 2021
Release notes
Open source →- add
onprogressoption when callingZipReader#getEntriesandZipWriter#close(useful when the file contains a lot of entries) - add
lastModDateoption when creatingZipWriterobjects in order to to set the same last modification date to all entries - throw an error if attempting to create a file needing zip64 (e.g. weighting more than 4 GB) but
keepOrderoption is explicitly set tofalse - avoid corrupting zip files if
ZipWriter#addthrows an error when writing data. The error object has a propertyfileEntryCorruptedset totrueif the entry is corrupted. When at least one entry is corruptedZipWriter#hasCorruptedEntriesis also set totrue.
- add
- 2.2.3315 May 2021
Release notes
Open source →- Expose
terminateWorkerTimeoutconfiguration option (seezip.configure()) to define the delay before terminating web workers automatically - Expose
zip.terminateWorkers()to terminate idle web workers
- Expose
- 2.2.3214 May 2021
Release notes
Open source →- Fix issue with files published on NPM (see https://github.com/gildas-lormeau/zip.js/issues/246)
- 2.2.3112 May 2021
Release notes
Open source →- Improve web workers usage by adding a timeout to terminate them (1000 ms by default).
- 2.2.3011 May 2021
Release notes
Open source →- Limit the number of simultaneous downloads (=
maxWorkers) when adding entries retrieved from HTTP in a zip file (see #235)
- Limit the number of simultaneous downloads (=
- 2.2.2911 May 2021
Release notes
Open source →- fixes thrown error when the option
bufferedWriteistrueand data weights 2GB+ (see #239) - improves
keepOrderoption implementation
- fixes thrown error when the option
- 2.2.284 May 2021
Release notes
Open source →index.d.ts: add types to addUint8Array's params (see https://github.com/gildas-lormeau/zip.js/pull/242)
- 2.2.2715 Apr 2021
- 2.2.265 Apr 2021
Release notes
Open source →- Setting the option
zip64explicitly allows to initialize reader instances as late as possible when creating aZipWriterinstance or when callingZipWriter#add(see #235) - Minor speed optimization when passing data from web workers to the main process
- Setting the option
- 2.2.2525 Mar 2021
- 2.2.2422 Mar 2021
Release notes
Open source →- Fix
onprogresscallback when callingZipEntry#getData()(see https://github.com/gildas-lormeau/zip.js/issues/234)
- Fix
- 2.2.2316 Mar 2021
Release notes
Open source →- Improve memory usage when computing the signature of encrypted files
- Fix minor potential issue when reading zip64 files
- 2.2.2211 Mar 2021
Release notes
Open source →- Write the AES extra field in the local header each encrypted entries
- set
keepOrdertotrueby default to avoid generating missing zip64 entries when they are added in parallel
- 2.2.219 Mar 2021
- 2.2.205 Mar 2021
Release notes
Open source →- Add the option
signaltoZipWriter,ZipReader,ZipWriter#addandEntry#getDatawhich allows you to abort the compression/decompression of a file (see usage examples here and here) - Add the option
dataDescriptortoZipWriter#addwhich allows you to include or not the data descriptor record (trueby default). Setting it tofalsewill automatically set the optionbufferedWritetotrue.
- Add the option
- 2.2.194 Mar 2021
Nothing published for this version
- 2.2.181 Mar 2021
Release notes
Open source →Add support for deflate and inflate implementation of fflate, see here for more info on how to integrate it in zip.js.
- 2.2.1723 Feb 2021
Release notes
Open source →Improve performances when writing multiple (large) entries in a zip file simultaneously
- 2.2.1614 Feb 2021
Release notes
Open source →- Add support of ZipCrypto encryption (option
zipCrypto: truewhen creating aZipWriterobject or callingZipWriter#add) - Fix issue leading to a potential invalid entry in a Zip64 file if the compressed file of the entry is larger than the original file and the total size of the zip file is > 4GB
- Fix minor performance issue with transferable objects when using web workers
- Add support of ZipCrypto encryption (option
- 2.2.1514 Feb 2021
Nothing published for this version
- 2.2.1411 Feb 2021
Release notes
Open source →- Fix issue when reading Zip64 files with appended data at the end of the file and minor issue related to the detection of Zip64 files
- Set
typetomoduleinpackage.json - Ignore errors that could be thrown by the
onprogresscallback passed as option
- 2.2.1310 Feb 2021
Nothing published for this version
- 2.2.127 Feb 2021
Release notes
Open source →- Add the new option
keepOrderto the constructorZipWriterand the methodZipWriter#addin order to keep ordered the list of files when callingZipWriter#addmultiple times in parallel - Support reading of zip files with invalid offsets due to data added at the start of the zip file
- Fix issue when calling
ZipWriter#addwith more than one custom extra field type as option - Update limit to locate the End Of Central Directory Record at the end of a zip file: 64 KB => 1MB
- Fix detection of unsupported encryption methods (e.g. ZipCrypto) and add a new constant
ERR_UNSUPPORTED_ENCRYPTION - Expose
Entry#zip64to know if a file entry is formatted in Zip64 - Update development dependencies
- Add the new option
- 2.2.117 Feb 2021
Nothing published for this version
- 2.2.107 Feb 2021
Nothing published for this version
- 2.2.96 Feb 2021
Release notes
Open source →- Add
zip-no-worker-deflate.min.jsandzip-no-worker-inflate.min.jsin the list of built files in the /dist folder - Add missing methods to use
Uint8Arrayobjects in the Filesystem API - When adding files in a zip file, auto-detect an entry is a directory if ithe name ends with a "/"
- Minor code improvements
- Add
- 2.2.83 Feb 2021
Release notes
Open source →- Fix issue when an
FSinstance contains imported zip content andFS#export*is called withbufferedWriteset totrue - Minor code improvements
- Fix issue when an
- 2.2.731 Jan 2021
Release notes
Open source →- Add new options to
HttpReaderandHttpRangeReader(see API doc) HttpReaderandHttpRangeReadernow rely onfetchinstead ofXMLHTTPRequestby default. This behavior can be changed by setting the optionuseXHRtotrueHttpReaderandHttpRangeReaderalso acceptwindow.fetchoptions (whenuseXHRis not set totrue)
- Add new options to
- 2.2.630 Jan 2021
- 2.2.528 Jan 2021
Release notes
Open source →- Fix issue with the
onprogresscallback where sometimes the first parameter was always returning0 - Replace
Entry#moveTo()withFS#move().Entry#moveTocan still be used but is deprecated. - Add missing
ZipFileEntry#replaceData64URImethod FSnow implementsZipDirectoryEntry- Add
ZipEntry#getRelativeName() - Add the option
relativePathwhen callingZipDirectoryEntry.export*methods
- Fix issue with the
- 2.2.427 Jan 2021
Release notes
Open source →- Improve the method
ZipDirectoryEntry#addFileSystemEntryadded in v2.2.3: it will now return theZipEntrylike otherZipDirectoryEntry#add*functions
- Improve the method
- 2.2.327 Jan 2021
Release notes
Open source →- add method
ZipDirectoryEntry#addFileSystemEntryto import files or directories from the filesystem into a zip
- add method
- 2.2.226 Jan 2021
- 2.2.126 Jan 2021
Release notes
Open source →- Fix bug if passing a comment as parameter when calling
ZipWriter#close() - Add support of AES-128 and AES-192 encryption (AES-192 encryption is not supported on Chrome currently)
- Fix bug if passing a comment as parameter when calling
- 2.2.025 Jan 2021
Release notes
Open source →- This version embeds the web worker code in the library itself.
The setting
workerScriptsPathis now totally obsolete and you don't need to copyz-worker.jsanymore in your library folder to use web workers. You can still copy and importz-worker.jswith the settingworkerScriptsif necessary (e.g. if the CSP of the page does not allow a Blob URI as a web worker URL).
- This version embeds the web worker code in the library itself.
The setting
- 2.1.124 Jan 2021
Release notes
Open source →zip: Fix typo in constant namezip.ERR_INVALID_PASSWORD(was previously namedzip.ERR_INVALID_PASSORD)zip: Add propertiesEntry#filenameUT8andEntry#commentUT8which help to determine if respectively the filename and the comment are encoded in UTF-8 in the zip filezip: Fix support of UTF8 comments stored in extra fieldszip.fs: Fix support ofoptionsparameter when importing/exporting data
- 2.1.023 Jan 2021
Release notes
Open source →- Breaking change
The path of the scripts after the first one in
workerScriptswill be be resolved against the URL of the first script instead of the base URI of the page. For example with the version 2.0.x, if you had in your code something similar to this:zip.configure({ workerScripts: { inflate: ["./lib/z-worker-pako.js", "./lib/pako_inflate.min.js"] } });You must replace it with:
zip.configure({ workerScripts: { inflate: ["./lib/z-worker-pako.js", "./pako_inflate.min.js"] // pako_inflate.min.js is in the same folder than z-worker-pako.js } });
- Fix a regression introduced in the version 2.0.13 when decoding UTF-8 filenames/comments found in the corresponding Extra Field
- Add
ZipFileEntry#replaceBlobandZipFileEntry#replaceTextmethods in the FileSystem API ZipWriter#addreturns a Promise with anEntryobject as resolved value instead ofundefined
- 2.0.1222 Jan 2021
Release notes
Open source →- Include
deflate.jsandinflate.jsas modules inzip.jsandz-worker.js. You don't need to includedeflate.jsandinflate.jsanymore in your page and your/libfolder. They have also been removed from the/distfolder. - Minor code improvements
- Include
- 2.0.1122 Jan 2021
Release notes
Open source →- Fix potential race condition bug when calling multiple times
ZipWriter.addin parallel with the same instance of options object (fix wasn't ok in v2.0.9) - Add options parameter to
ZipReader.getEntriesin order to use a user-provided encoding for filenames and comments
- Fix potential race condition bug when calling multiple times
- 2.0.1022 Jan 2021
Nothing published for this version
- 2.0.922 Jan 2021
Release notes
Open source →- Fix potential race condition bug when calling
ZipWriter.addin parallel with the same instance of options object - Add validation of the last modification date given as an option when calling
ZipWriter.add
- Fix potential race condition bug when calling
- 2.0.822 Jan 2021
Release notes
Open source →- Add
useWebWorkersoption when callingZipReader,ZipWriterconstructors andZipReader#getData,ZipWriter#addto force enabling/disabling the usage of web workers - Fix handling of the option
version - Remove usage of
unescapeandencodeURIComponentin the code (replaced withTextEncoder) - Add
FSAPI in the types declaration file - Various improvements in the code
- Add
- 2.0.721 Jan 2021
Nothing published for this version
- 2.0.621 Jan 2021
Nothing published for this version
- 2.0.520 Jan 2021
Nothing published for this version
- 2.0.420 Jan 2021
Nothing published for this version
- 2.0.319 Jan 2021
Nothing published for this version
- 2.0.219 Jan 2021
Nothing published for this version
- 2.0.119 Jan 2021
Nothing published for this version
- 2.0.019 Jan 2021
Nothing published for this version