Skip to content

Releases: pypa/cibuildwheel

v2.10.1

18 Sep 11:57
Compare
Choose a tag to compare
  • 🐛 Fix a bug that stopped environment variables specified in TOML from being expanded. (#1273)

v2.10.0

13 Sep 09:27
Compare
Choose a tag to compare
  • 🌟 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 macOS arm64 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 on arm64. (#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 like CIBW_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 like cibuildwheel --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

11 Aug 18:44
Compare
Choose a tag to compare
  • 🌟 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

18 Jul 20:42
Compare
Choose a tag to compare
  • 🐛 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

05 Jul 17:35
Compare
Choose a tag to compare
  • ✨ 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

17 Jun 18:34
Compare
Choose a tag to compare
  • 🌟 Added support for the new manylinux_2_28 images. These new images are based on AlmaLinux, the community-driven successor to CentOS, unlike manylinux_2_24, which was based on Debian. To build on these images, set your CIBW_MANYLINUX_*_IMAGE option to manylinux_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

07 Jun 08:15
Compare
Choose a tag to compare
  • 🛠 Update the prerelease CPython 3.11 to 3.11.0b3

2.6.0

25 May 17:45
Compare
Choose a tag to compare
  • 🌟 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 or CIBW_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)

2.5.0

29 Apr 13:46
Compare
Choose a tag to compare
  • ✨ Added support for building ABI3 wheels. cibuildwheel will now recognise when an ABI3 wheel was produced, and skip subsequent build steps where the previously built wheel is compatible. Tests still will run on all selected versions of Python, using the ABI3 wheel. Check this entry in the docs for more info. (#1091)
  • ✨ You can now build wheels directly from sdist archives, in addition to source directories. Just call cibuildwheel with an sdist argument on the command line, like cibuildwheel mypackage-1.0.0.tar.gz. For more details, check the --help output (#1096)
  • 🐛 Fix a bug where cibuildwheel would crash when no builds are selected and --allow-empty is passed (#1086)
  • 🐛 Workaround a permissions issue on Linux relating to newer versions of git and setuptools_scm (#1095)
  • 📚 Minor docs improvements

v2.4.0

02 Apr 13:55
Compare
Choose a tag to compare
  • ✨ cibuildwheel now supports running locally on Windows and macOS (as well as Linux). On macOS, you'll have to install the versions of Pythons that you want to use from Python.org, and cibuildwheel will use them. On Windows, cibuildwheel will install it's own versions of Python. Check out the documentation for instructions. (#974)
  • ✨ Added support for building PyPy 3.9 wheels. (#1031)
  • ✨ Listing at the end of the build now displays the size of each wheel (#975)
  • 🐛 Workaround a connection timeout bug on Travis CI ppc64le runners (#906)
  • 🐛 Fix an encoding error when reading setup.py in the wrong encoding (#977)
  • 🛠 Setuptools updated to 61.3.0, including experimental support for reading config from pyproject.toml(PEP 621). This could change the behaviour of your build if you have a pyproject.toml with a [project] table, because that takes precedence over setup.py and setup.cfg. Check out the setuptools docs and the project metadata specification for more info.
  • 🛠 Many other dependency updates.
  • 📚 Minor docs improvements