Skip to content

Releases: pypa/cibuildwheel

Version 2.22.0

23 Nov 06:45
Compare
Choose a tag to compare
  • 🌟 Added a new CIBW_ENABLE/enable feature that replaces CIBW_FREETHREADED_SUPPORT/free-threaded-support and CIBW_PRERELEASE_PYTHONS with a system that supports both. In cibuildwheel 3, this will also include a PyPy setting and the deprecated options will be removed. (#2048)
  • 🌟 Dependency groups are now supported for tests. Use CIBW_TEST_GROUPS/test-groups to specify groups in [dependency-groups] for testing. (#2063)
  • 🌟 Support for the experimental Ubuntu-based ARMv7l manylinux image (#2052)
  • ✨ Show a warning when cibuildwheel is run from Python 3.10 or older; cibuildwheel 3.0 will require Python 3.11 or newer as host (#2050)
  • 🐛 Fix issue with stderr interfering with checking the docker version (#2074)
  • 🛠 Python 3.9 is now used in CIBW_BEFORE_ALL/before-all on linux, replacing 3.8, which is now EoL (#2043)
  • 🛠 Error messages for producing a pure-Python wheel are slightly more informative (#2044)
  • 🛠 Better error when uname -m fails on ARM (#2049)
  • 🛠 Better error when repair fails and docs for abi3audit on Windows (#2058)
  • 🛠 Better error when manylinux-interpreters ensure fails (#2066)
  • 🛠 Update Pyodide to 0.26.4, and adapt to the unbundled pyodide-build (now 0.29) (#2090)
  • 🛠 Now cibuildwheel uses dependency-groups for development dependencies (#2064, #2085)
  • 📚 Docs updates and tidy ups (#2061, #2067, #2072)

v2.21.3

09 Oct 08:05
Compare
Choose a tag to compare
  • 🛠 Update CPython 3.13 to 3.13.0 final release (#2032)
  • 📚 Docs updates and tidy ups (#2035)

v2.21.2

02 Oct 21:52
Compare
Choose a tag to compare
  • ✨ Adds support for building 32-bit armv7l wheels on musllinux. On a Linux system with emulation set up, set CIBW_ARCHS to armv7l to try it out if you're interested! (#2017)
  • 🐛 Fix Linux Podman builds on some systems (#2016)
  • ✨ Adds official support for running on Python 3.13 (#2026)
  • 🛠 Update CPython 3.13 to 3.13.0rc3 (#2029)

Note: the default manylinux image is scheduled to change from manylinux2014 to manylinux_2_28 in a cibuildwheel release on or after 6th May 2025 - you can set the value now to avoid getting upgraded if you want. (#1992)

Version 2.21.1

17 Sep 01:06
Compare
Choose a tag to compare
  • 🐛 Fix a bug in the Linux build, where files copied to the container would have invalid ownership permissions (#2007)
  • 🐛 Fix a bug on Windows where cibuildwheel would call upon uv to install dependencies for versions of CPython that it does not support (#2005)
  • 🐛 Fix a bug where uv 0.4.10 would not use the right Python when testing on Linux. (#2008)
  • 🛠 Bump our documentation pins, fixes an issue with a missing package (#2011)

Version 2.21.0

13 Sep 15:43
Compare
Choose a tag to compare
  • ⚠️ Update CPython 3.12 to 3.12.6, which changes the macOS minimum deployment target on CPython 3.12 from macOS 10.9 to macOS 10.13 (#1998)
  • 🛠 Changes the behaviour when inheriting config-settings in TOML overrides - rather than extending each key, which is rarely useful, individual keys will override previously set values. (#1803)
  • 🛠 Update CPython 3.13 to 3.13.0rc2 (#1998)
  • ✨ Adds support for multiarch OCI images (#1961)
  • 🐛 Fixes some bugs building Linux wheels on macOS. (#1961)
  • ⚠️ Changes the minimum version of Docker/Podman to Docker API version 1.43, Podman API version 3. The only mainstream runner this should affect is Travis Graviton2 runners - if so you can upgrade your version of Docker. (#1961)

Version 2.20.0

04 Aug 02:40
Compare
Choose a tag to compare
  • 🌟 CPython 3.13 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.13.0rc1, which is guaranteed to be ABI compatible with the final release. Free-threading is still behind a flag/config option. (#1950)
  • ✨ Provide a CIBW_ALLOW_EMPTY environment variable as an alternative to the command line flag. (#1937)
  • 🐛 Don't use uv on PyPy3.8 on Windows, it stopped working starting in 0.2.25. Note that PyPy 3.8 is EoL. (#1868)
  • 🛠 Set the VSCMD_ARG_TGT_ARCH variable based on target arch. (#1876)
  • 🛠 Undo cleaner output on pytest 8-8.2 now that 8.3 is out. (#1943)
  • 📚 Update examples to use Python 3.12 on host (cibuildwheel will require Python 3.11+ on the host machine starting in October 2024) (#1919)

Version 2.19.2

02 Jul 12:10
Compare
Choose a tag to compare
  • 🐛 Update manylinux2014 pins to versions that support past-EoL CentOS 7 mirrors. (#1917)
  • 🐛 Support --no-isolation with build[uv] build-frontend. (#1889)
  • 🛠 Provide attestations for releases at https://github.com/pypa/cibuildwheel/attestations. (#1916)
  • 🛠 Provide CPython 3.13.0b3. (#1913)
  • 🛠 Remove some workarounds now that pip 24.1 is available. (#1891, #1892)
  • 📚 Remove nosetest from our docs. (#1821)
  • 📚 Document the macOS ARM workaround for 3.8 on GHA. (#1871)
  • 📚 GitLab CI + macOS is now a supported platform with an example. (#1911)

Version 2.19.1

13 Jun 06:39
Compare
Choose a tag to compare
  • 🐛 Don't require setup-python on GHA for Pyodide (#1868)
  • 🐛 Specify full python path for uv (fixes issue in 0.2.10 & 0.2.11) (#1881)
  • 🛠 Update for pip 24.1b2 on CPython 3.13. (#1879)
  • 🛠 Fix a warning in our schema generation script. (#1866)
  • 🛠 Cleaner output on pytest 8-8.2. (#1865)

Version 2.19.0

10 Jun 15:29
Compare
Choose a tag to compare

Release post: https://iscinumpy.dev/post/cibuildwheel-2-19-0/

  • 🌟 Add a Pyodide platform. Set with --platform pyodide or CIBW_PLATFORM: pyodide on Linux with a host Python 3.12 to build WebAssembly wheels. Not accepted on PyPI currently, but usable directly in a website using Pyodide, for live docs, etc. (#1456, #1859)
  • 🌟 Add build[uv] backend, which will take a pre-existing uv install (or install cibuildwheel[uv]) and use uv for all environment setup and installs on Python 3.8+. This is significantly faster in most cases. (#1856)
  • ✨ Add free-threaded macOS builds and update CPython to 3.13.0b2. (#1854)
  • 🐛 Issue copying a wheel to a non-existent output dir fixed. (#1851, #1862)
  • 🐛 Better determinism for the test environment seeding. (#1835)
  • 🛠 VIRTUAL_ENV variable now set. (#1842)
  • 🛠 Remove a pip<21.3 workaround. (#1842)
  • 🛠 Error handling was refactored to use exceptions. (#1719)
  • 🛠 Hardcoded paths in tests avoided. (#1834)
  • 🛠 Single Python tests made more generic. (#1835)
  • 🛠 Sped up our ci by splitting up emulation tests. (#1839)

v2.18.1

20 May 11:24
Compare
Choose a tag to compare
  • 🌟 Add free-threaded Linux and Windows builds for 3.13. New identifiers cp313t-*, new option CIBW_FREE_THREADED_SUPPORT/tool.cibuildwheel.free-threaded-support required to opt-in. See the docs for more information. (#1831)
  • ✨ The container-engine is now a build (non-global) option. (#1792)
  • 🛠 The build backend for cibuildwheel is now hatchling. (#1297)
  • 🛠 Significant improvements and modernization to our noxfile. (#1823)
  • 🛠 Use pylint's new GitHub Actions reporter instead of a custom matcher. (#1823)
  • 🛠 Unpin virtualenv updates for Python 3.7+ (#1830)
  • 🐛 Fix running linux tests from Windows or macOS ARM. (#1788)
  • 📚 Fix our documentation build. (#1821)