Release Notes
This release expands the library's reach with with official Python bindings, and Rust bindings, shared library support and significant CI/CD improvements. This release focuses on making ZXC accessible to more developers across more languages and build systems, while strengthening testing and security analysis coverage.
Thanks
Special thanks to @nuberchardzer1 for implementing and adding the Python bindings.
Changes
Shared Library Support
- New
BUILD_SHARED_LIBSCMake option to build ZXC as a shared library (.so/.dylib/.dll) - Proper symbol visibility control via
zxc_export.h: only public API symbols are exported - CMake package config (
find_package(zxc)) and pkg-config support for easy integration
Python Wrapper
- Full Python wrapper with buffer API (
compress,decompress,get_decompressed_size) and streaming API (stream_compress,stream_decompress) - Built with
scikit-build-core+ CMake, version managed bysetuptools_scm - Pre-built wheels for Linux (x86_64, aarch64), macOS (universal), Windows (AMD64, ARM64)
- Python 3.10–3.13 support
- Comprehensive test suite with
pytest(buffer round-trip, streaming, corruption detection, edge cases) - Automated publishing to PyPI via trusted publishing (OIDC)
- Fixed wheel packaging: Added
wheel.packages= ["src/zxc"] topyproject.tomlto ensure init.py is included in wheels. Previously, only the C extension was packaged, causing AttributeError on all wrapper functions. - Fixed stream functions: Added missing return statements in
pyzxc_stream_compressandpyzxc_stream_decompress, resolving SystemError: returned NULL without setting an exception. - Improved cross-platform support (Linux x86_64/ARM64, macOS ARM64/Intel, Windows AMD64/ARM64).
Rust Wrapper
- Crate names updated to
zxc-compressandzxc-compress-sysfor consistency with the Python package - CI/CD: cross-platform testing (Linux, macOS, Windows) with dry-run validation before publishing
- Marked unsafe libc calls (dup, close) in Windows-specific code with proper unsafe blocks.
- Optimized build.rs configuration.
- Improved cross-platform file handle management.
Core Library
- Enabled ARM64 NEON intrinsics detection for MSVC (
_M_ARM64check). - Improved architecture-specific compilation.
Testing & Security
- Added edge case tests for the C library (boundary conditions, error paths)
- Improved CI matrix coverage across all platforms
Full Changelog: v0.6.2...v0.6.3