cargo zip 9.1.0
v9.1.0

3 hours ago

🚀 Features

  • (read) enforce header consistency on extract_with_options and expose duplicate name detection (#1109)
  • Add borrowing inner method to reader wrappers (#1050)
  • add with_size_limit to ExtractOptions to limit total declared uncompressed size (#1019)
  • add file_names_raw iterator (#1082)

🐛 Bug Fixes

  • raw_copy_file keeps an entry's name bytes and UTF-8 flag as stored (#1124)
  • (write) prevent seek panic on streaming writer with comment (#1151)
  • Accept bounded central directory digital signature record when enforcing header consistency in ZipStreamReader (#1134)
  • apply unix permissions at creation (#1104)
  • raw_copy_file should work with any extra fields (#1120)
  • (read) avoid full-file forward scans and redundant allocations in central directory (#1142)
  • don't enable typed-path's default std feature (#1112)
  • ZIP64 size fields were being deep-copied incorrectly (via Copilot gpt-6-luna) (#1107)
  • resolve decoded CP437 member names (#1080) (#1085)
  • Debug assertion doesn't account for length of archive comment (#1097)

🚜 Refactor

  • Lazy instantiation for all decompressors (#1046) (#1047)

⚡ Performance

  • (write) reuse the DEFLATE compressor across entries (#1119)

⚙️ Miscellaneous Tasks

  • Fix reference to nonexistent variable on #[cfg(not(any(unix, windows)))] (#1138)
  • target lzma-rust2 v0.23 (#1096)

Bench

  • add Criterion benchmarks (#754)
  • add deflate_many_small_files bench for #633 (#964)

Don't miss a new zip release

NewReleases is sending notifications on new releases.