Bug Fixes
- The C backend implementation of
ZstdDecompressionObj.decompress()
could
have raised an assertion in cases where the function was called multiple
times on an instance. In non-debug builds, calls to this method could have
leaked memory.
Changes
- PyPy 3.6 support dropped; Pypy 3.8 and 3.9 support added.
- Anaconda 3.6 support dropped.
- Official support for Python 3.11. This did not require meaningful code changes
and previous release(s) likely worked with 3.11 without any changes. - CFFI's build system now respects distutils's
compiler.preprocessor
if it
is set. (#179) - The internal logic of
ZstdDecompressionObj.decompress()
was refactored.
This may have fixed unconfirmed issues whereunused_data
was set
prematurely. The new logic will also avoid an extra call to
ZSTD_decompressStream()
in some scenarios, possibly improving performance. ZstdDecompressor.decompress()
how has aread_across_frames
keyword
argument. It defaults to False. True is not yet implemented and will raise an
exception if used. The new argument will default to True in a future release
and is provided now so callers can start passingread_across_frames=False
to preserve the existing functionality during a future upgrade.ZstdDecompressor.decompress()
now has anallow_extra_data
keyword
argument to control whether an exception is raised if input contains extra
data. It defaults to True, preserving existing behavior of ignoring extra
data. It will likely default to False in a future release. Callers desiring
the current behavior are encouraged to explicitly pass
allow_extra_data=True
so behavior won't change during a future upgrade.