- Update minimum supported Rust version: 1.32.0 -> 1.40.0.
- Update dependencies:
log
: ^0.4.8 -> ^0.4.14env_logger
: 0.7.1 -> ^0.8.3
- [Breaking change] Rename acronyms to be lowercase, following clippy::upper-case-acronyms.
- [Breaking change] Add a memory limit option (gendx#50).
- Fix bug in LZMA2 decompression (gendx#61).
- Fix bug in CRC32 validation (gendx#56).
- Add a streaming mode for LZMA decompression, gated by the
stream
feature. - Add more fuzzing targets, including comparison with the
xz2
crate. - Various improvements: benchmarks, fix lint warnings.
- Migrate from Travis-CI to GitHub Actions.
- Minimum supported Rust version: 1.32.0.
- Update dependencies:
log
: ^0.4.0 -> ^0.4.8env_logger
: 0.6.0 -> ^0.7.1
- Gate logging behind an opt-in feature. This improves decoding performance by ~25% (gendx#31).
- Lazily allocate the circular buffer (gendx#22). This improves memory usage (especially for WebAssembly targets) at the expense of a ~5% performance regression (gendx#27).
- Return an error instead of panicking on unsupported SHA-256 checksum for XZ decoding (gendx#40).
- Add Clippy to CI.
- Document public APIs.
- Deny missing docs, missing Debug implementations and build warnings.
- Forbid unsafe code.
- Remove extern statements that are unnecessary on the 2018 edition.
- Fix bug in the range coder (gendx#15).
- Add support for specifying the unpacked size outside of the header (gendx#17).
- Migrate to Rust 2018 edition.
- Add benchmarks.
- Fix some Clippy warnings.
- Upgrade
env_logger
dependency. - Refactoring to use
std::io::Take
, operator?
.
- Initial release.