- Improved configuration file format
- Command-line overrides
- Support for multiple CMake build trees in one package
- PEP 420 namespace package support
- Reproducible builds
- CMake preset support (e.g. Conan)
- Allow overriding Wheel tags
- Support guessing Wheel tags based on the current platform
- Support for ABI3 Wheels
- Multiple editable installation modes
- Editable build hook mode that automatically re-builds extension modules
- Cross-compilation workflow documentation
- Automatic CIBW cross-compilation support for macOS and Windows on ARM
- Extensive testing (unit tests, package content checks, cibuildwheel tests)
- Pre-commit Ruff and Mypy checks
- Better error reporting
- Pass a virtual environment's Ninja path to CMake explicitly
- Dropped
flit_core
dependency - Removed convoluted
cross.copy_from_native_build
option - Improved CMake FindPython hints
Simple [tool.py-build-cmake]
configurations in pyproject.toml should be mostly backward compatible, but some options have moved. See https://tttapa.github.io/py-build-cmake/Config.html for details about the new config format.
Full Changelog: 0.1.8...0.3.0