NewYour coding agent can read the release notes before it upgrades.Set up the MCP server →
crates.io · #4141 most downloaded on crates.io
An asynchronous ZIP archive reading/writing crate.
Last release 1 months ago
22 Aug 2026
Release timing varies
gaps range from 5 weeks to 1.4 years
Some releases are documented
notes for 5 of 18 stable releases
1 version withdrawn
withdrawn after publishing
5 years old
19 releases · first in 2021
One column per quarter.
Bumps to v0.0.19, which lands #192 , a rewrite of the seek reader. See CHANGELOG.md and MIGRATION.md .
Bumps to v0.0.19, which lands #192, a rewrite of the seek reader. See CHANGELOG.md and MIGRATION.md.
base] module, and used consistently across the new API.tracing feature. Included in full.read module with it. Improvements
include a large set of configurable validation checks. This reader is intended to be in feature
parity with the old read module. It lives at [base::read1] until then, and provides:
base::read1::seek::ZipArchiveReader], which reads the central directory up-front and opens
files by index without consuming the source reader ([file()], or [file_oneshot()]).base::read1::seek::ZipArchiveFactory], a user-supplied generator function which produces
additional readers over the same archive for concurrent/parallel file reads.base::read1::seek::ZipArchiveInner], shareable archive metadata which can be reused across
readers via [new_with_inner()] to avoid re-reading the central directory.base::read1::ZipFileReader], an [AsyncRead] over a single file which validates the CRC32
and uncompressed size on EOF.base::read1::ZipOptions], a set of configurable validations and limits, plus
[ZipOptions::untrusted()] as a conservative starting point for untrusted archives.LF], [CDR] and [CEOCDR].spec] module is now public, exposing [spec::headers1] (primitive headers),
[spec::constructs] (headers combined with their variable-length data), [spec::extra]
(extra fields), [spec::ZipString] and the [spec::KnownSize] trait.ZipError] variants covering header/CDR mismatches, configured limits, invalid offsets,
missing ZIP64 records, and binary parse failures.full feature now includes tracing.base::read::seek::ZipFileReader], [base::read::mem::ZipFileReader] and
[tokio::read::fs::ZipFileReader] in favour of [base::read1].Start consuming a data descriptor for read::stream, removing a previous hard-error. Note that this data descriptor currently gets voided, meaning CRC/
Release notes:
read() calls didn't fully fill the internal buffer.write_entry_whole_precompressed() and write_entry_stream_precompressed(), allowing for pre-compressed data to be provided.compress() and crc32() helpers in base::write to help with pre-compression. The specifics of these are likely to change in future versions. Added a CRC32 setter for ZipEntryBuilder also.Re-introduce support for reading entries with data descriptors within read::stream
Re-introduce support for reading entries with data descriptors within read::stream
read::stream's documentation, does not and cannot support the combination of data descriptor + Stored compression mode.Swap AsyncRead requirement for AsyncBufRead
async-compression and we previously created internal BufReaders. Moving this requirement up the chain allows you to specify custom AsyncBufRead implementations or customise BufReader's buffer size where needed.read::stream data descriptor changes. Buffering via BufReader or similar was always a good idea, even prior to this change, so we don't expect this to negatively impact too many users.Adds a ZipDateTime builder
chrono integration/feature, or by receiving one when reading an entry.Swaps out futures-util for futures-lite .
defalate64 support via its associated feature flag.header_size() for StoredZipEntry, with the caveat that it uses the extra field length stored within the central directory record.Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Merge pull request #34 from citreae535/main
Merge pull request #34 from citreae535/main
Add an example demonstrating how to safely extract ZIP files
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Your coding agent can read these notes before it upgrades. Set up the MCP server →