- Fixed incorrect state after
Decoder::reset
- Added
Debug
to result types
- Implicit reset is now supported for decoding.
- Fixed an integer overflow and panic that could occur during decoding. Decoding performance may degrade after long sequences without a reset code.
- Added
IntoVec
adapters that simplify in-memory de- and encoding. A further 'one-shot' interface is exposed in theDecoder
andEncoder
themselves which makes the process a one liner in the simplest cases. Contrary toIntoStream
, these are available in all cases and do not requirestd
.
- Added
IntoAsync
adapters for asynchronous de- and encoding. The interface is implemented only in terms offutures = 0.3
traits at the moment. - Code sizes smaller than 2 are now allowed for decoding. Since they do not roundtrip it is still an error to use them in the decoder but this avoids accidental panicking, i.e. denial of service, in parsers.
- Fixes an issue in compression that caused some data to be lost around clear codes. This could corrupt the data stream.
- Fixes incorrect compression after
Encoder::reset
.
- The
IntoStream
types now reuse their internal buffers. - Added the methods
set_buffer
,set_buffer_size
toIntoStream
for both the encoder and decoder, used to control the automatic allocation. - Deprecated
IntoStream
in configurations without thestd
feature where the type can't even be constructed.
- Initial major release
- Support gif and tiff code size changes
- Rough performance numbers: On i5-4690, 8GiB DIMM DDR3 Synchronous 1600 MHz (0,6 ns) ~70MB/s encode, ~230MB/s decode