This document records the changes made between versions, starting with version 0.5.0
- Add initial compression support
- Breaking Refactor modules to reflect that this is now also a compression library
-
Soundness fix in decoding::RingBuffer. The lengths of the diferent regions where sometimes calculated wrongly, resulting in reads of heap memory not belonging to that ringbuffer
- Fixed by https://github.com/paolobarbolini
- Affected versions: 0.7.0 up to and including 0.7.2
-
Added convenience functions to FrameDecoder to decode multiple frames from a buffer (https://github.com/philipc)
- Remove byteorder dependency (https://github.com/workingjubilee)
- Preparations to become a std dependency (https://github.com/workingjubilee)
- Fix for drain_to functions into limited targets (https://github.com/michaelkirk)
- Small fix in the zstd binary, progress tracking was slighty off for skippable frames resulting in an error only when the last frame in a file was skippable
- Small performance improvement by reorganizing code with
#[cold]
annotations - Documentation for
StreamDecoder
mentioning the limitations around multiple frames (https://github.com/Sorseg) - Documentation around skippable frames (https://github.com/Sorseg)
- Breaking
StreamDecoder
API changes to get access to the inner parts (https://github.com/ifd3f) - Big internal documentation contribution (https://github.com/zleyyij)
- Dropped derive_more as a dependency (https://github.com/xd009642)
- Small improvement by removing the error cases from the reverse bitreader (and making sure invalid requests can't even happen)
- Make the hashing checksum optional (thanks to @tamird)
- breaking change as the public API changes based on features
- The FrameDecoder is now Send + Sync (RingBuffer impls these traits now)