- Add
get_by_nameandindex_ofmethods toRawArchive. This comes at no performance cost but a slight memory one. - Rename
Archivetype toArchiveReaderand add a type alias for compatibility. This is in prevision to the rename that will come in a future breaking version.
- Relax some
BufReadbounds onArchiveandFile - Use
hashbrownto significantly improve performance and reduce memory usage.
- Check that file names don't end with a slash when writing.
- Canonicalize file names before checking duplicates when writing.
- Enable adding a modification timestamp when writing a file to an archive.
Timestamp::UNIX_EPOCHconstant.- Detect PKWARE "Strong Encryption" when reading archives. No additional validation is performed on encryption metadata for now.
- Improve extra fields validation.
- Fix a consistency check on file creation time caused by a bad copy/paste.
- Fix a debug assertion triggering when writing a file name of length 65535.
- Fix typo in
Decompressor'sDebugimpl
- Improve validation checks when reading.
- Fix
creation_timeandaccess_timesometimes missing inMetadata. - Use vectored IO where possible when writing.
- Specialize
write_vectoredmethods forCompressorandFileStreamer. - Validate and canonicalize file names when writing.
- Add
get_refmethod toCompressorandDecompressor. - Implement common traits for
Timestamp - Implement
Debugfor all public types
- Add
Archive::open_parallelto easily open files forparallel_extract - Add
File::read_storedandMetadata::read_storedmethods to easily read files that are not compressed while keepingSeekandBufReadimpls - Add
ArchiveWriter::get_refandArchive::get_refmethods - Add tests for Go and Python
- Add
Archive::index_ofandFile::into_readermethods (#1, thanks @sunshowers!) - Add public
Metadata::data_offset - Add
read::EncryptionMethodtype andMetadata::encryptionfield to get encryption metadata - Add documention
- Add tests Windows 11 and InfoZIP tests
Initial public release.