What's Changed in v2.24.0
New features
- The
uncompressedSizeoption ofZipWriter#add()is now read for aReadableStreamor any reader without asize, as the size the stream is expected to have: the entry is then laid out like one read from a reader of that size, i.e. without Zip64 structures below 4 GB and, withbufferedWrite, without a data descriptor. The sizes written remain the measured ones. The option is validated on every path and throws the newERR_INVALID_UNCOMPRESSED_SIZE_OPTIONerror when it is not a non-negative integer
Improvements
- Skip the data descriptor by default when the local header can carry the CRC-32 and the sizes: a
passThroughentry read from a reader of known size withcrc32provided (or AES-encrypted, which stores no CRC-32), which also keeps the direct write path instead of a temporary stream, and a reader of unknown size written withbufferedWriteordataDescriptor: false. ZipCrypto entries, entries copied with theentryoption and explicitdataDescriptor: truekeep their descriptor - Split the Node.js and Deno CI job into three lanes
Documentation
- State that the
duplicatespolicy of the filesystem imports applies to the entries kept by thefilteroption only
Full Changelog: v2.23.0...v2.24.0
Co-Authored-By: Claude Fable 5.1 noreply@anthropic.com