Skip to content

Releases: JohnTheCoolingFan/mtzip

MT-ZIP 3.0.2

04 May 12:29
6717296
Compare
Choose a tag to compare

This update contains fixes to critical bugs from version 3.0.0 and 3.0.1, which have been yanked from crates.io

  • Fixed wrong "amount of files" value being written into the archive
  • Fixed wrong "uncompressed size" value being used for the files compressed suing deflate

MT-ZIP 3.0.0

04 May 11:40
53081ee
Compare
Choose a tag to compare

Removal of interior mutability

All places that utilized interior mutability directly have been refactored to remove that layer. This means that many methods now require mutable access to ZipArchive.

Rayon support

After long last, the rayon crate is now supported via the optional feature rayon. This moves the thread management out of mtzip and gives the control to rayon or the user via ThreadPoolBuilder.

Performance improvements

Due to several changes to the logic of writing and compressing, both processes are now more efficient:

  • Removed wait for all zip files to become ready before starting to write the files into the output writer: bbe72e6
  • Using temporary in-memory arrays to more efficiently write headers without compromising code readability and maintainability: 2dd8411

Support for dynamic Readers

You can now add a file with data source being any type implementing Read. It will be stored as a trait object dyn Read to support any amount of reader types. Check the documentation for more details.

MT-ZIP 2.0.1

12 Apr 17:54
6adab1c
Compare
Choose a tag to compare

A minor release that fixes some wording and formatting of the documentation

MT-ZIP 2.0.0

08 Apr 14:18
7e9244a
Compare
Choose a tag to compare
  • Fixed unix file/dir bit flags.
  • Added support for extra fields, currently implemented ones are NTFS flags and unix timestamp and uid/gid as per Info-ZIP specification. These properties are automatically retrieved from filesystem when possible, but also can be set by the user.
  • Added more methods for more flexible usage.
  • Added ability to set compression method and level.
  • Added a feature flag zlib to enable flate2/zlib feature, some flate2 features have been propagated through the crate.
  • Rust's Cow is used for optionally borrowed paths and memory data.
  • Internal code rearrangement and refactoring.