Skip to content

Releases: zip-rs/zip2

v2.0.0

24 May 06:14
94765a4
Compare
Choose a tag to compare

🚀 Features

  • Add fmt::Display for DateTime
  • Implement more traits for DateTime

🚜 Refactor

  • Change type of last_modified_time to Option<DateTime>
  • [breaking] Rename from_msdos to from_msdos_unchecked, make it unsafe, and add try_from_msdos (#145)

⚙️ Miscellaneous Tasks

  • Continue to accept archives with invalid DateTime, and use now_utc() as default only when writing, not reading

v1.3.1

22 May 03:45
6c60c67
Compare
Choose a tag to compare

🚜 Refactor

  • Make deflate enable both default implementations
  • Merge the hidden deflate-flate2 flag into the public one
  • Rename _deflate-non-zopfli to _deflate-flate2
  • Reject encrypted and using_data_descriptor files slightly faster in read_zipfile_from_stream
  • Convert impl TryInto<NaiveDateTime> for DateTime to impl TryFrom<DateTime> for NaiveDateTime (#136)

⚡ Performance

  • Change default compression implementation to flate2/zlib-ng

⚙️ Miscellaneous Tasks

  • chore(#132): Attribution for some copied test data
  • chore(#133): chmod -x src/result.rs

v1.3.0

17 May 10:40
102e311
Compare
Choose a tag to compare

🚀 Features

  • Add is_symlink method

🐛 Bug Fixes

  • Extract symlinks into symlinks on Unix and Windows, and fix a bug that affected making directories writable on MacOS

🚜 Refactor

  • Eliminate deprecation warning when --all-features implicitly enables the deprecated feature
  • Check if archive contains a symlink's target, without borrowing both at the same time
  • Eliminate a clone that's no longer necessary
  • is_dir only needs to look at the filename
  • Remove unnecessary #[cfg] attributes

⚙️ Miscellaneous Tasks

  • Fix borrow-of-moved-value
  • Box doesn't directly convert to PathBuf, so convert back to String first
  • partial revert - only &str has chars(), but Box should auto-deref
  • contains_key needs a Box<str>, so generify is_dir to accept one
  • Add missing ZipFileData::is_dir() method
  • Fix another Windows-specific error
  • More bug fixes for Windows-specific symlink code
  • More bug fixes for Windows-specific symlink code
  • Bug fix: variable name change
  • Bug fix: need both internal and output path to determine whether to symlink_dir
  • Another bug fix
  • Fix another error-type conversion error
  • Fix error-type conversion on Windows
  • Fix conditionally-unused import
  • Fix continued issues, and factor out the Vec-to-OsString conversion (cc: #125)
  • Fix CI failure involving conversion to OsString for symlinks (see my comments on #125)
  • Move path join into platform-independent code

v1.2.3

11 May 06:30
adb40b8
Compare
Choose a tag to compare

🐛 Bug Fixes

  • Remove a window when an extracted directory might be unexpectedly listable and/or cdable by non-owners
  • Extract directory contents on Unix even if the directory doesn't have write permission (https://github.com/zip-rs/zip-old/issues/423)

⚙️ Miscellaneous Tasks

  • More conditionally-unused imports

v1.2.2

09 May 18:07
af77679
Compare
Choose a tag to compare

🐛 Bug Fixes

  • Failed to clear "writing_raw" before finishing a symlink, leading to dropped extra fields

⚡ Performance

  • Use boxed slice for archive comment, since it can't be concatenated
  • Optimize for the fact that false signatures can't overlap with real ones

v1.2.1

07 May 02:24
b725303
Compare
Choose a tag to compare

🐛 Bug Fixes

  • Prevent panic when trying to read a file with an unsupported compression method
  • Prevent panic after reading an invalid LZMA file
  • Make Stored the default compression method if Deflated isn't available, so that zip files are readable by as much software as possible
  • version_needed was wrong when e.g. cfg(bzip2) but current file wasn't bzip2 (#100)
  • file paths shouldn't start with slashes (#102)

🚜 Refactor

  • Overhaul impl Arbitrary for FileOptions
  • Remove unused atomic module

v1.2.0

06 May 14:30
026b26b
Compare
Choose a tag to compare

🚀 Features

  • Add method decompressed_size() so non-recursive ZIP bombs can be detected

🚜 Refactor

  • Make ZipWriter::finish() consume the ZipWriter

⚙️ Miscellaneous Tasks

  • Use panic! rather than abort to ensure the fuzz harness can process the failure
  • Update fuzz_write to use replace_with
  • Remove a drop that can no longer be explicit
  • Add #![allow(unexpected_cfgs)] in nightly

v1.1.4

04 May 16:24
a9482ea
Compare
Choose a tag to compare

🐛 Bug Fixes

  • Rare bug where find_and_parse would give up prematurely on detecting a false end-of-CDR header

v1.1.3

30 Apr 18:16
2156d88
Compare
Choose a tag to compare

🐛 Bug Fixes

  • Alignment was previously handled incorrectly (#33)

🚜 Refactor

  • deprecate deflate-miniz feature since it's now equivalent to deflate (#35)

v1.1.2

28 Apr 17:51
12b988b
Compare
Choose a tag to compare

Added

  • index_for_name, index_for_path, name_for_index: get the index of a file given its path or vice-versa, without
    initializing metadata from the local-file header or needing to mutably borrow the ZipArchive.
  • add_symlink_from_path, shallow_copy_file_from_path, deep_copy_file_from_path, raw_copy_file_to_path: copy a
    file or create a symlink using AsRef<Path> arguments

Changed

  • add_directory_from_path and start_file_from_path are no longer deprecated, and they now normalize .. as well as
    ..