🚀 Features
- (read) enforce header consistency on extract_with_options and expose duplicate name detection (#1109)
- Add borrowing
innermethod 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
⚡ 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)