Releases: pypa/cibuildwheel
v2.11.0
- 🌟 Adds support for cross-compiling Windows ARM64 wheels. To use this feature, add
ARM64
to the CIBW_ARCHS option on a Windows Intel runner. (#1144) - ✨ Adds support for building Linux aarch64 wheels on Circle CI. (#1307)
- ✨ Adds support for building Windows wheels on Gitlab CI. (#1295)
- ✨ Adds support for building Linux aarch64 wheels under emulation on Gitlab CI. (#1295)
- ✨ Adds the ability to test
cp38-macosx_arm64
wheels on a native arm64 runner. To do this, you'll need to preinstall the (experimental) universal2 version of CPython 3.8 on your arm64 runner before invoking cibuildwheel. Note: it is not recommended to build x86_64 wheels with this setup, your wheels will have limited compatibility wrt macOS versions. (#1283) - 🛠 Improved error messages when using custom Docker images and Python cannot be found at the correct path. (#1298)
- 📚 Sample configs for Azure Pipelines and Travis CI updated (#1296)
- 📚 Other docs improvements - including more information about using Homebrew for build dependencies (#1290)
v2.10.2
v2.10.1
v2.10.0
- 🌟 Adds support for building wheels on Cirrus CI. This is exciting for us, as it's the first public CI platform that natively supports macOS Apple Silicon (aka. M1,
arm64
) runners. As such, it's the first platform that you can natively build and test macOSarm64
wheels. It also has native Linux ARM (aarch64) runners, for fast, native builds there. (#1191) - 🌟 Adds support for running cibuildwheel on Apple Silicon machines. For a while, we've supported cross-compilation of Apple Silicon wheels on
x86_64
, but now that we have Cirrus CI we can run our test suite and officially support running cibuildwheel onarm64
. (#1191) - ✨ Adds the
--only
command line option, to specify a single build to run. Previously, it could be cumbersome to set all the build selection options to target a specific build - for example, you might have to run something likeCIBW_BUILD=cp39-manylinux_x86_64 cibuildwheel --platform linux --archs x86_64
. The new--only
option overrides all the build selection options to simplify running a single build, which now looks likecibuildwheel --only cp39-manylinux_x86_64
. (#1098) - ✨ Adds the
CIBW_CONFIG_SETTINGS
option, so you can pass arguments to your package's build backend (#1244) - 🛠 Updates the CPython 3.11 version to the latest release candidate - v3.11.0rc2. (#1265)
- 🐛 Fix a bug that can cause a RecursionError on Windows when building from an sdist. (#1253)
- 🛠 Add support for the s390x architecture on manylinux_2_28 (#1255)
v2.9.0
- 🌟 CPython 3.11 wheels are now built by default - without the CIBW_PRERELEASE_PYTHONS flag. It's time to build and upload these wheels to PyPI! This release includes CPython 3.11.0rc1, which is guaranteed to be ABI compatible with the final release. (#1226)
⚠️ Removed support for running cibuildwheel in Python 3.6. Python 3.6 is EOL. However, cibuildwheel continues to build CPython 3.6 wheels for the moment. (#1175)- ✨ Improved error messages when misspelling TOML options, suggesting close matches (#1205)
- 🛠 When running on Apple Silicon (so far, an unsupported mode of operation), cibuildwheel no longer builds universal2 wheels by default - just arm64. See #1204 for discussion. We hope to release official support for native builds on Apple Silicon soon! (#1217)
v2.8.1
- 🐛 Fix a bug when building CPython 3.8 wheels on an Apple Silicon machine where testing would always fail. cibuildwheel will no longer attempt to test the arm64 part of CPython 3.8 wheels because we use the x86_64 installer of CPython 3.8 due to its macOS system version backward-compatibility. See #1169 for more details. (#1171)
- 🛠 Update the prerelease CPython 3.11 to 3.11.0b4. (#1180)
- 🛠 The GitHub Action will ensure a compatible version of Python is installed on the runner (#1114)
- 📚 A few docs improvements
v2.8.0
-
✨ You can now run cibuildwheel on Podman, as an alternate container engine to Docker (which remains the default). This is useful in environments where a Docker daemon isn't available, for example, it can be run inside a Docker container, or without root access. To use Podman, set the
CIBW_CONTAINER_ENGINE
option. (#966) -
✨ Adds support for building
py3-none-{platform}
wheels. This works the same as ABI3 - wheels won't be rebuilt, but tests will still be run across all selected versions of Python.These wheels contain native extension code, but don't use the Python APIs. Typically, they're bridged to Python using a FFI module like ctypes or cffi. Because they don't use Python ABI, the wheels are more compatible - they work across many Python versions.
Check out this example ctypes project to see an example of how it works. (#1151)
-
🛠 cibuildwheel will now error if multiple builds in a single run produce the same wheel filename, as this indicates a misconfiguration. (#1152)
-
📚 A few docs improvements and updates to keep things up-to-date.
2.7.0
- 🌟 Added support for the new
manylinux_2_28
images. These new images are based on AlmaLinux, the community-driven successor to CentOS, unlikemanylinux_2_24
, which was based on Debian. To build on these images, set yourCIBW_MANYLINUX_*_IMAGE
option tomanylinux_2_28
. (#1026) - 🐛 Fix a bug where tests were not being run on CPython 3.11 (when CIBW_PRERELEASE_PYTHONS was set) (#1138)
- ✨ You can now build Linux wheels on Windows, as long as you have Docker installed and set to 'Linux containers' (#1117)
- 🐛 Fix a bug on macOS that caused cibuildwheel to crash trying to overwrite a previously-built wheel of the same name (#1129)
2.6.1
2.6.0
- 🌟 Added the ability to test building wheels on CPython 3.11! Because CPython 3.11 is in beta, these wheels should not be distributed, because they might not be compatible with the final release, but it's available to build for testing purposes. Use the flag
--prerelease-pythons
orCIBW_PRERELEASE_PYTHONS
to test. This version of cibuildwheel includes CPython 3.11.0b1. (#1109) - 📚 Added an interactive diagram showing how cibuildwheel works to the docs (#1100)