Skip to content

Releases: Touffy/client-zip

Error propagation

02 Jun 13:49
c67d1eb
Compare
Choose a tag to compare

2.4.4:

  • options argument was missing in makeZip type declaration

2.4.3:

  • Cancelling the output stream will really cause an error in the source iterator

Unicode Filename Flag

08 May 21:22
3ba9f98
Compare
Choose a tag to compare

2.4.2:

  • Filenames can be flagged as UTF-8 using the EFS bit in the file header flags.
    • This is configurable with the new buffersAreUTF8 option.
  • And it should help the Windows Zip utility read non-ASCII filenames correctly.

2.4.1:

  • Cancelling the output stream will now cause an error in the source iterator.

Unicode Filename Flag (v1 branch)

08 May 21:16
1e030ab
Compare
Choose a tag to compare

1.6.2:

  • Filenames can be flagged as UTF-8 using the EFS bit in the file header flags.
    • This is configurable with the new buffersAreUTF8 option.
  • And it should help the Windows Zip utility read non-ASCII filenames correctly.

1.6.1:

  • Cancelling the output stream will now cause an error in the source iterator.

No more WebAssembly (for now…)

07 May 20:02
5d374f7
Compare
Choose a tag to compare

2.4.0

  • No more WASM for CRC32, JavaScript is faster now anyway.

Backporting recent improvements from v2

07 May 20:01
90fa292
Compare
Choose a tag to compare

1.6.0

  • No more WASM for CRC32, JavaScript is faster now anyway.
  • Added type and exports to package.json so client-zip can run in Node.js.
  • Remove trailing slashes from file names.
  • Fixed filename extraction from a Response when its URL has a trailing slash.
  • Fixed content-length prediction when some files have a length of zero (previously, this threw an error).

Empty folders, filename heuristics

29 Oct 13:36
0a0f7c3
Compare
Choose a tag to compare

2.3.0

  • Fixed filename extraction from a Response when its URL has a trailing slash.
  • Empty folders may be added to the archive with { name, lastModified? }.
    • Remove trailing slashes from file names and add one to folder names if needed.
  • Also export makeZip which returns a ReadableStream without its Response wrapper.

Content-Length prediction

30 Apr 20:57
d1c8366
Compare
Choose a tag to compare

2.2.0 (with typing and empty file size bugs fixed in 2.2.2 and 2.2.1)

  • Zip file size can now be predicted by the predictLength function before creating it.
  • Added an options parameter to downloadZip.
    • options.length can be set to include a "Content-Length" header in the Response.
    • options.metadata can instead be given the same argument as predictLength, as a shortcut to compute and set the Content-Length.

Content-Length prediction (without Zip64)

30 Apr 18:17
2dc0a7c
Compare
Choose a tag to compare

1.5.0 (and a typing fix in 1.5.1)

  • Zip file size can now be predicted by the predictLength function before creating it.
  • Added an options parameter to downloadZip.
    • options.length can be set to include a "Content-Length" header in the Response.
    • options.metadata can instead be given the same argument as predictLength, as a shortcut to compute and set the Content-Length.
  • The worker script now supports all the input types supported in the ES module, not only Responses.

Small files in big archives

29 Mar 12:43
6cf8bab
Compare
Choose a tag to compare

2.0.1

  • Fixed a bug where small files requiring a 64-bit offset (but not size) were corrupted.
  • Never use 64-bit sizes in data descriptor for small files, even at large offsets.

Zip64

16 Mar 10:02
c3ca53d
Compare
Choose a tag to compare

2.0.0

  • At last ! client-zip now generates Zip64 archives (only when necessary).
  • To do that, it uses BigInts which makes it incompatible with anything older than 2020. Fall back to version 1.x if you need to support older browsers. Or it wouldn't be too hard to ponyfill the BigInts, actually.