v3.10.1 2022-08-02 Add sponsorship files. If you appreciate the time spent maintaining JSZip then I would really appreciate your sponsorship. Consolidate metadata types and expose OnUpdateCallback #851 and #852 use const instead var in example from README.markdown #828 Switch manual download link to HTTPS #839 Internals: Replace jshint with eslint #842 Add performance tests #834 ### v3.10.0 2022-05-20 - Change setimmediate dependency to more efficient one. Fixes https://github.com/Stuk/jszip/issues/617 (see [#829](https://github.com/Stuk/jszip/pull/829)) - Update types of `currentFile` metadata to include `null` (see [#826](https://github.com/Stuk/jszip/pull/826)) ### v3.9.1 2022-04-06 - Fix recursive definition of `InputFileFormat` introduced in 3.9.0. ### v3.9.0 2022-04-04 - Update types JSZip#loadAsync to accept a promise for data, and remove arguments from `new JSZip()` (see [#752](https://github.com/Stuk/jszip/pull/752)) - Update types for `compressionOptions` to JSZipFileOptions and JSZipGeneratorOptions (see [#722](https://github.com/Stuk/jszip/pull/722)) - Add types for `generateInternalStream` (see [#774](https://github.com/Stuk/jszip/pull/774)) ### v3.8.0 2022-03-30 - Santize filenames when files are loaded with `loadAsync`, to avoid ["zip slip" attacks](https://snyk.io/research/zip-slip-vulnerability). The original filename is available on each zip entry as `unsafeOriginalName`. See the [documentation](https://stuk.github.io/jszip/documentation/api_jszip/load_async.html). Many thanks to McCaulay Hudson for reporting.