github hellobertrand/zxc v0.6.3
ZXC v0.6.3

latest releases: v0.9.1, v0.9.0, v0.8.3...
one month ago

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_LIBS CMake 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 by setuptools_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"] to pyproject.toml to 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_compress and pyzxc_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-compress and zxc-compress-sys for 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_ARM64 check).
  • 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

Don't miss a new zxc release

NewReleases is sending notifications on new releases.