- Use only the limited Python API
- Use the Stable ABI for Python 3.11+
- Return bytearray from compression and decompression methods to avoid copying (resizing bytes is private API)
- Added typing stubs (and a shell python package to hold them and the renamed
_deflate
compiled extension) (#49) - Added support and compiled wheels for PyPy.
- Updated bundled libdeflate to v1.22
- Drop support for Python 3.8
- Switched to scikit-build-core and CMake (#42, #43) - huge thanks to @henryiii
- Raise
ValueError
instead ofDeflateError
on invalid gzip data - Lots of internal refactoring
- Fixed broken wheels on macOS arm64 platforms
- Require
originalsize
argument fordeflate_decompress
andzlib_decompress
- Updated bundled libdeflate to v1.20
- Added raw DEFLATE functionality from libdeflate (#39)
- Added zlib functionality from libdeflate (#2)
- Updated bundled libdeflate to v1.19
- Test on and build wheels for Python 3.12 (#40)
- Eliminate unnecessary allocation/copy in compression and decompression (#10)
- add DeflateError object to module, fixes related ImportError (#14)
- add deflate.crc32 api, docs, tests (#11)
- update bundled code to libdeflate v1.18 (#38)
- prefer system libdeflate (via pkgconfig) over bundled code, see the docs about how to influence this behaviour via environment variables (#29)
- setup.py: add pypi metadata, require python >= 3.8
- benchmark deflate.crc32 against zlib.crc32 using pytest-benchmark
- add tests (using pytest), flake8 linter, CI via github actions (#16, #13)
- Compile libdeflate directly instead of trying to build/link it
- Actual working Windows binary wheels
- Change the default compression level to 6 to match zlib
- Compile libdeflate with
-fPIC
(#5) - Automatically build wheels for macOS, Linux, and Windows (#3)
- Fixed a memory leak (#6)
- Experimental support for building a universal library on Apple Silicon
- Initial release