koni_gzip 0.9.0
koni_gzip: ^0.9.0 copied to clipboard
GZIP adapter for the koni_archive ecosystem — single-entry .gz archives and layered .tar.gz handling.
Changelog #
0.9.0 - 2026-07-17 #
- Honors
ArchiveReadOptions.maxContainerDecodeSizefor the one open-time decode gzip does: a layered.tar.gzis decompressed while its inner TAR is enumerated at open, and a container that decompresses past the limit is now rejected there rather than read fully into memory. The check reads only the gzip trailer (ISIZE), so it costs nothing before deciding. WhenmaxContainerDecodeSizeis unset it falls back tomaxEntrySizefor this open-time decode, so a per-entry limit alone still guards the open.
0.8.0 - 2026-07-16 #
- Lockstep release; no changes to this package since 0.7.0.
0.7.0 - 2026-07-16 #
- Lockstep release; no changes to this package since 0.6.0.
0.6.0 - 2026-07-15 #
- Lockstep release with Phase 4 (write-side encryption for ZIP/7z); no changes to koni_gzip. First release published to pub.dev.
0.5.0 - 2026-07-15 #
- Lockstep release with the Phase 3 (decryption) work; no changes to koni_gzip (gzip has no native encryption).
0.4.0 - 2026-07-15 #
- Lockstep release; no changes since 0.3.0.
0.3.0 - 2026-07-15 #
- Lockstep release; no changes since 0.2.0.
0.2.0 - 2026-07-15 #
- M6 tar.gz layering shipped here: see below.
0.1.0 - 2026-07-15 #
- M6:
.tar.gzlayering:GzipFormat(layeredFormats: [...])probes formats against the decompressed content through the newGzipDecompressedByteSource(sequential decode backed by an in-memory cache; cost model documented in doc/notes.md). - M4: single-entry
.gzadapter.- Entry named from FNAME, else the source name, else
data; MTIME, ISIZE/CRC-32 metadata from header and trailer with no content decode at open. - Streaming decode via koni_codecs with per-member CRC-32/ISIZE
verification (
verifyChecksums: falseopt-out); multi-member files decode as one concatenated stream. - Fixtures generated by gzip(1) (committed, provenance manifest); fuzz smoke in CI.
- Entry named from FNAME, else the source name, else
- M0: package scaffolding: pub workspace membership, shared strict lints, CI matrix (VM on Linux/macOS/Windows; web via dart2js and dart2wasm).