v2.8.44
·
326 commits
to master
since this release
What's Changed in v2.8.44
New features
- New
checkCrc32option inZipReaderandgetData()replacing the deprecatedcheckSignatureoption. It also verifies the CRC-32 of entries encrypted with AES when the zip file uses the AE-1 format, which stores the real CRC-32 value - New
checkAuthenticationCodeoption, enabled by default, controlling the verification of the authentication code of entries encrypted with AES - New
crc32option replacing the deprecatedsignatureoption when adding entries withpassThroughset totrue - New
crc32property on entries replacing the deprecatedsignatureproperty. It isundefinedwhen the zip file does not store the CRC-32 value, e.g. for entries encrypted with AES in AE-2 format - New
ERR_INVALID_CRC32andERR_INVALID_AUTHENTICATION_CODEerror constants replacing the deprecatedERR_INVALID_SIGNATUREconstant. The CRC-32 verification throws the former, the verification of the authentication code of entries encrypted with AES throws the latter. The three constants share the same string value for backward compatibility, the two new constants will become distinct strings in the next minor version
Bug fixes
- Dates outside the range representable in the NTFS extra field are now clamped to its bounds, i.e. 1601-01-01 and the year 30828 (the maximum signed 64-bit
FILETIMEvalue, chosen because Windows and 7-Zip reject or misread values beyond it), instead of overflowing silently to an arbitrary value - The last modification date is now truncated to the whole second before rounding odd seconds up to the next even second in the DOS date. Sub-second fractions no longer round the DOS date up, aligning it with Info-ZIP and ditto and keeping it within 1 second of the extended timestamp (see #671)
- The deprecated
signatureproperty of entries encrypted with AES returned byZipWriter#add()is nowundefined, like the newcrc32property, instead of exposing the raw authentication code as aUint8Arraydespite being typed as anumber
Full Changelog: v2.8.43...v2.8.44