Skip to content

Releases: pypa/cibuildwheel

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)

v2.18.0

12 May 04:18
Compare
Choose a tag to compare
  • ✨ Adds CPython 3.13 support, under the prerelease flag CIBW_PRERELEASE_PYTHONS. This version of cibuildwheel uses 3.13.0b1. Free-threading mode is not available yet (#1657), waiting on official binaries (planned for beta 2) and pip support.
    While CPython is in beta, the ABI can change, so your wheels might not be compatible with the final release. For this reason, we don't recommend distributing wheels until RC1, at which point 3.13 will be available in cibuildwheel without the flag. (#1815)
  • ✨ Musllinux now defaults to musllinux_1_2. You can set the older musllinux_1_1 via config if needed. (#1817)
  • 🛠 No longer pre-seed setuptools/wheel in virtual environments (#1819)
  • 🛠 Respect the constraints file when building with pip, matching build (#1818)
  • 🛠 Use uv to compile our pinned dependencies, 10x faster and doesn't require special setup (#1778)
  • 🐛 Fix an issue with the schema (#1788)
  • 📚 Document the new delocate error checking macOS versions (#1766)
  • 📚 Document Rust builds (#1816)
  • 📚 Speed up our readthedocs builds with uv, 26 seconds -> 6 seconds to install dependencies (#1816)