Releases: JohnTheCoolingFan/mtzip
MT-ZIP 4.0.2
- Added a note about using with async
- Replaced
derivative
withderive_more
: https://rustsec.org/advisories/RUSTSEC-2024-0388.html
MT-ZIP 4.0.1
MacOS build fix and other miscellaneous fixes regarding platform-specific behavior.
MT-ZIP 4.0.0
- Lots of internal fixes
- Better target support
- WASI target support
- File comment support
- Redesigned API for adding files and modifying their attributes
MT-ZIP 3.0.2
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
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 Read
ers
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
A minor release that fixes some wording and formatting of the documentation
MT-ZIP 2.0.0
- 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 enableflate2/zlib
feature, someflate2
features have been propagated through the crate. - Rust's
Cow
is used for optionally borrowed paths and memory data. - Internal code rearrangement and refactoring.