Releases: pypa/cibuildwheel
Releases · pypa/cibuildwheel
Version 2.22.0
- 🌟 Added a new
CIBW_ENABLE
/enable
feature that replacesCIBW_FREETHREADED_SUPPORT
/free-threaded-support
andCIBW_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
v2.21.2
- ✨ 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
- 🐛 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
⚠️ 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
- 🌟 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
- 🐛 Update manylinux2014 pins to versions that support past-EoL CentOS 7 mirrors. (#1917)
- 🐛 Support
--no-isolation
withbuild[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
Version 2.19.0
Release post: https://iscinumpy.dev/post/cibuildwheel-2-19-0/
- 🌟 Add a Pyodide platform. Set with
--platform pyodide
orCIBW_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 installcibuildwheel[uv]
) and useuv
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
- 🌟 Add free-threaded Linux and Windows builds for 3.13. New identifiers
cp313t-*
, new optionCIBW_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)