Cibuildwheel

Latest version: v2.23.2

Safety actively analyzes 723296 Python packages for vulnerabilities to keep your Python projects secure.

Scan your dependencies

Page 1 of 18

2.23.2

_24 March 2025_

- 🐛 Workaround an issue with pyodide builds when running cibuildwheel with a Python that was installed via UV (2328 via 2331)
- 🛠 Dependency updates, including a manylinux update that fixes an ['undefined symbol' error](https://github.com/pypa/manylinux/issues/1760) in gcc-toolset (#2334)

2.23.1

_15 March 2025_

- ⚠️ Added warnings when the shorthand values `manylinux1`, `manylinux2010`, `manylinux_2_24`, and `musllinux_1_1` are used to specify the images in linux builds. The shorthand to these (unmaintainted) images will be removed in v3.0. If you want to keep using these images, explicitly opt-in using the full image URL, which can be found in [this file](https://github.com/pypa/cibuildwheel/blob/v2.23.1/cibuildwheel/resources/pinned_docker_images.cfg). (#2312)
- 🛠 Dependency updates, including a manylinux update which fixes an [issue with rustup](https://github.com/pypa/cibuildwheel/issues/2303). (#2315)

2.23.0

_1 March 2025_

- ✨ Adds official support for the new GitHub Actions Arm runners. In fact these worked out-of-the-box, now we include them in our tests and example configs. (2135 via 2281)
- ✨ Adds support for building PyPy 3.11 wheels (2268 via 2281)
- 🛠 Adopts the beta pypa/manylinux image for armv7l builds (2269 via 2281)
- 🛠 Dependency updates, including Pyodide 0.27 (2117 and 2281)

2.22.0

_23 November 2024_

- 🌟 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](https://peps.python.org/pep-0735/) 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)

2.21.3

_9 October 2024_

- 🛠 Update CPython 3.13 to 3.13.0 final release (2032)
- 📚 Docs updates and tidy ups (2035)

2.21.2

_2 October 2024_

- ✨ Adds support for building 32-bit armv7l wheels on musllinux. On a Linux system with emulation set up, set [CIBW_ARCHS](https://cibuildwheel.pypa.io/en/stable/options/#archs) to `armv7l` on Linux 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](https://cibuildwheel.pypa.io/en/stable/options/#linux-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)

Page 1 of 18

© 2025 Safety CLI Cybersecurity Inc. All Rights Reserved.