All notable changes to this project are documented here. The format is based on Keep a Changelog, and this project adheres to Semantic Versioning.
No API or behaviour changes — 0.1.1 is documentation, validation, and metadata.
- Differential validation against
rust-lzo— an independent decoder converted from Linux'slzo1x_decompress_safe, used as a local oracle (never a dependency). Identical output on the full real corpus and across 3,000,000 mutation-fuzz inputs with zero divergence and no panics. Harness:validation/lzodiff. docs/validation.mddocumenting the full methodology — reference-encoder round-trips, a 32.4 MB real-world corpus, the differential check, fuzzing, and coverage — with scope limits stated plainly. Real-content regression vectors (lzo1x_999) added to the committed test set.
- Documentation and positioning now lead with the real differentiator — safety
against malicious, crafted, or corrupted input (
#![forbid(unsafe_code)], fuzz-hardened, typed errors, cross-validated) — rather than licence contrast.
- Initial release: a safe,
no_std, zero-dependency pure-Rust LZO1X decompressor.decompress_into(core, allocation-free) and an allocatingdecompressbehind theallocfeature. Decodeslzo1x_1/lzo1x_1_15/lzo1x_999streams (they share one decompressor),#![forbid(unsafe_code)], validated round-trip against reference liblzo2 vectors, and fuzz-hardened.