NewYour coding agent can read the release notes before it upgrades.Set up the MCP server →
PyPI · #5397 most downloaded on PyPI
Build Python wheels on CI with minimal configuration.
Last release 29 days ago
05 Sep 2026
Ships fairly regularly
a new release about every 4 weeks
Nearly every release is documented
notes for 59 of the last 60 stable releases
5 versions withdrawn
withdrawn after publishing
10 years old
154 releases · first in 2017
🐛 Respects the NuGet package sources configured on the machine when installing CPython on Windows, instead of always falling back to nuget.org
NameError on Pyodide when an already-compatible wheel was reused, which made the test step fail (#2968)One column per quarter.
🌟 CPython 3.15 wheels are now built by default - without the "cpython-prerelease" enable set. It's time to build and upload these wheels to PyPI! This
"cpython-prerelease" enable set. It's time to build and upload these wheels to PyPI! This release includes CPython 3.15.0rc1, which is guaranteed to be ABI compatible with the final release. (#2944)cp315-pyodide_wasm32 build identifier, using Pyodide 315.0.0a2. These are also stable wrt. the final release. (#2958)4xx response is still reported at once. (#2953)default as a build-frontend value on Pyodide, and accepts pyodide-build in the top-level table and in overrides (#2951)test_overridden_pip_constraint, which is not necessary since #2583 (#2956, #2957)✨ Adds pyodide-build as a separate build-frontend , now the default frontend for Pyodide, with verbosity flags handling. Any other frontend is ignored
pyodide-build as a separate build-frontend, now the default frontend for Pyodide, with verbosity flags handling. Any other frontend is ignored with a warning on Pyodide. (#2609, #2945)pinned_docker_images.cfg. (#2915)test-runtime environment variables (e.g. CIBW_TEST_RUNTIME_ANDROID) not being honored (#2941)test-requires and audit-requires so PEP 508 specifiers containing spaces work (#2913)archs parsing case-insensitive and platform-aware, so e.g. arm64 works on Windows (#2920){project} placeholder in config-settings (#2934)pyodide-version option against the build identifier with a clear error (#2925).tar.bz2 to .tar.gz (#2939)python3-config available in the build and test venvs on macOS (#2922)orjson dependency, no longer used by mypy 2+ (#2923)cp314-pyodide_wasm32 entry to the build identifier table (#2947)pip wheel build frontend and ClearLinux (#2926)✨ Updates Pyodide to the final 314.0.0 release, so Pyodide 3.14 wheels now build by default without the pyodide-prerelease enable flag.
pyodide-prerelease enable flag. (#2906)CIBW_CACHE_PATH (#2842)See @henryiii 's release post for more info on new features!
See @henryiii's release post for more info on new features!
🌟 Adds wheel auditing with abi3audit as a default after the repair step, with new audit-requires and audit-command options (#2805)
🌟 Adds pyemscripten platform tag support (PEP 783), updates Pyodide to 314.0.0a2, and adds a pyodide-eol enable flag for building end-of-life Pyodide versions (#2812, #2848)
🌟 Sets up delvewheel as the default repair-wheel-command for Windows, so extension module DLLs are now bundled automatically. Skip by setting it to empty if not needed. (#2831)
✨ Adds CPython 3.15 support, under the enable option cpython-prerelease. This version of cibuildwheel uses 3.15.0b2. (#2833, #2850)
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.15 will be available in cibuildwheel without the flag.
✨ Adds CPython 3.15 support for iOS and Android (#2857, #2858)
✨ Adds Android improvements for building NumPy and related packages, including auditwheel support, pkg-config and Fortran configuration, and the xbuild-files option (#2695)
✨ Adds CIBUILDWHEEL_BUILD_IDENTIFIER environment variable set to the current build identifier (e.g. cp311-manylinux_x86_64) during per-build steps (#2872)
✨ Adds {project} and {package} placeholders to config-settings (#2827)
⚠️ Drops support for Python 3.8 (#2686)
⚠️ Removes the experimental CPython 3.13 free-threading builds and the cpython-freethreading enable option. CPython 3.14+ free-threading support remains available without the enable flag. (#2684)
⚠️ Drops support for Cirrus CI, which is shutting down June 1, 2026 (#2817)
⚠️ Drops GraalPy 3.11 (gp311) support, as agreed in #2741, and removes GraalPy 24-only workarounds (#2895)
🔐 Adds SHA256 verification for direct downloads of Python interpreters, virtualenv, and python-build-standalone assets (#2873)
🔐 Adds tarfile extraction filter for safe archive extraction (#2856)
🐛 Fixes UV_PYTHON not being set for before-build on Linux when using uv as the build-frontend (#2830)
🐛 Fixes detection of musl libc when downloading python-build-standalone, which previously always selected the gnu asset on musl hosts like Alpine (#2889)
🐛 Fixes config-settings expansion when {project} or {package} contains spaces or backslashes (#2886)
🐛 Prevents deadlock when linux32 fails and forwards platform args to the sanity check (#2880, #2888)
🐛 Fixes container resource leaks on start failure and during teardown (#2879, #2887)
🐛 Removes potential partial cache-population in case of error (#2892)
🐛 Raises a clear error when ANDROID_API_LEVEL is not an integer (#2891)
🐛 Replaces assert with proper exception in python-build-standalone (#2859)
🐛 Uses ConfigurationError when package_dir is outside cwd instead of a generic Exception (#2898)
🛠 Updates dependencies and container pins (#2893, #2882, #2874, #2868, #2862, #2884, #2845, #2837, #2818, #2810, #2838, #2813)
🛠 Updates Android to Python 3.13.13 and 3.14.4 (#2821)
🛠 Applies Pyodide-specific patches to the Emscripten toolchain installation (#2800)
🛠 Uses python -V -V for Windows build diagnostics (#2832)
🛠 Simplifies pinned container image lookup (#2897)
🛠 Minor fixups across error messages, OCI container, and options (#2860)
💼 Adds PEP 723 metadata for bin/ scripts and drops the bin dependency group (#2819)
💼 Improves Azure test reliability with retries and caching (#2890)
💼 Fixes Windows GitLab CI test running (#2870)
💼 Updates CI action pins and dev dependencies (#2902, #2867, #2851, #2843, #2826, #2823, #2820, #2807)
💼 Adds agent and copilot setup files (#2861)
🧪 Fixes Android tests using the uv frontend (#2809)
🧪 Fixes the update-dependencies workflow to use uv to run nox (#2808)
🧪 Adds unit tests for OCIContainer._get_platform_args (#2878)
📚 Updates documentation for delvewheel as the default Windows repair-wheel-command, including the build diagram, schema defaults, and legal note (#2877, #2853, #2891)
📚 Documents platform-specific before-build configuration (#2834)
📚 Updates the "How it works" diagram with details of Android, iOS, and Pyodide builds (#2816)
📚 Adds Pyodide icon and regenerates working examples data for Android, iOS, and Pyodide (#2815, #2811)
📚 Adds intersphinx support for external documentation linking (#2871)
📚 Adds instructions for building CUDA wheels and fixes manylinux container references in FAQ (#2896, #2900)
📚 Links back to source in docs (#2806)
📚 Removes outdated numpy info (#2855)
✨ Adds CPython 3.15 support for iOS and Android ( #2857 , #2858 )
xbuild-files option (#2695)CIBUILDWHEEL_BUILD_IDENTIFIER environment variable set to the current build identifier (e.g. cp311-manylinux_x86_64) during per-build steps (#2872)config-settings expansion when {project} or {package} contains spaces or backslashes (#2886)linux32 fails and forwards platform args to the sanity check (#2880, #2888)ANDROID_API_LEVEL is not an integer (#2891)repair-wheel-command, including the build diagram, schema defaults, and legal note (#2877, #2853, #2891)if TYPE_CHECKING: blocks (#2866, #2864)OCIContainer._get_platform_args (#2878)🌟 Adds wheel auditing with abi3audit as a default after the repair step, with new audit-requires and audit-command options
🌟 Adds wheel auditing with abi3audit as a default after the repair step, with new audit-requires and audit-command options (#2805)
🌟 Adds pyemscripten platform tag support (PEP 783), updates Pyodide to 314.0.0a1, and adds a pyodide-eol enable flag for building end-of-life Pyodide versions (#2812, #2848)
🌟 Sets up delvewheel as the default repair-wheel-command for Windows, so extension module DLLs are now bundled automatically. Skip by setting it to empty if not needed. (#2831)
✨ Adds CPython 3.15 support, under the enable option cpython-prerelease. This version of cibuildwheel uses 3.15.0b1. (#2833, #2850)
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.14 will be available in cibuildwheel without the flag. (#2390)
✨ Adds {project} and {package} placeholders to config-settings (#2827)
⚠️ Drops support for Python 3.8 (#2686)
⚠️ Removes the experimental CPython 3.13 free-threading builds and the cpython-freethreading enable option. CPython 3.14+ free-threading support remains available without the enable flag. (#2684)
⚠️ Drops support for Cirrus CI, which is shutting down June 1, 2026 (#2817)
🐛 Fixes UV_PYTHON not being set for before-build on Linux when using uv as the build-frontend (#2830)
🛠 Updates Android to Python 3.13.13 and 3.14.4 (#2821)
🛠 Applies Pyodide-specific patches to the Emscripten toolchain installation (#2800)
🛠 Updates dependencies and container pins (#2845, #2837, #2821, #2818, #2810, #2838, #2813)
🛠 Uses python -V -V for Windows build diagnostics (#2832)
📚 Documents platform-specific before-build configuration (#2834)
📚 Updates the "How it works" diagram with details of Android, iOS, and Pyodide builds (#2816)
📚 Adds Pyodide icon and regenerates working examples data for Android, iOS, and Pyodide (#2815, #2811)
📚 Links back to source in docs (#2806)
💼 Adds PEP 723 metadata for bin/ scripts and drops the bin dependency group (#2819)
💼 Updates CI action pins and dev dependencies (#2851, #2843, #2826, #2823, #2820, #2807)
🧪 Fixes Android tests using the uv frontend (#2809)
🧪 Fixes the update-dependencies workflow to use uv to run nox (#2808)
⚠️ Building for the experimental CPython 3.13 free-threading variant is now deprecated. That functionality will be removed in the next minor release.…
enable option cpython-freethreading is therefore also deprecated. Builds specifying enable = "all" no longer select cpython-freethreading. CPython 3.14 free-threading support remains available without the enable flag. (#2787)repair-wheel-command if it's defined in config (#2761)uv to fail when environments define PYTHON_VERSION or UV_PYTHON, conflicting with our venvs (#2795)🌟 You can now build wheels using uv as a build frontend. This should improve performance, especially if your project has lots of build dependencies. T
uv as a build frontend. This should improve performance, especially if your project has lots of build dependencies. To use, set build-frontend to uv. (#2322)build and uv from the cibuildwheel build-verbosity setting. (#2737)🛠 Update dependencies and container pins, including updating to CPython 3.14.2.
5 January 2026
🐛 Fix an incompatibility with Docker v29
test-runtime option, to customise how tests on simulated/emulated environments are run (#2636)manylinux_2_35 images on 32-bit ARM armv7l, offering better C++20 compatibility (#2656)build[uv] is now supported on Android (#2587)uv) with a simple option on the GitHub Action (#2630){project} and {package} placeholders are now supported in repair-wheel-command (#2589)dependency-versions no longer constrain packages specified by your build-system.requires. Previously, on platforms other than Linux, the constraints in this option would remain in the environment during the build. This has been tidied up make behaviour more consistent between platforms, and to prevent version conflicts. (#2583)test-command on Android, enabling more options to be passed (#2590)🛠 Update to CPython 3.14.0 final
12 October 2025
🛠 Update to CPython 3.14.0 final (#2614)
🐛 Fix the default MACOSX_DEPLOYMENT_TARGET on Python 3.14 (#2613)
📚 Docs improvements (#2617)
✨ Adds GraalPy v25 (Python 3.12) support
pypy-eol in the enable option, as it is now end-of-life. (#2521)✨ Add a --clean-cache command to clean up our cache
--clean-cache command to clean up our cache (#2489)pyodide-build when dependency-versions is set (#2548)CMAKE_FIND_ROOT_PATH_MODE_PACKAGE to BOTH on Android (#2547)patchelf dependency for platforms that can build Android wheels (#2552)CIBW_ARCHS like most other environment variables (#2541)color and suggest_on_error argparse options are now default in 3.14rc1+ (#2554)🐛 Fix bug where "latest" dependencies couldn't update to pip 25.2 on Windows
⚠️ Add an error if CIBW_FREE_THREADING_SUPPORT is set; you are likely missing 3.13t wheels, please use the enable/CIBW_ENABLE
CIBW_FREE_THREADING_SUPPORT is set; you are likely missing 3.13t wheels, please use the enable/CIBW_ENABLE (#2520)riscv64 now enabled if you target that architecture, it's now supported on PyPI (#2509)cpython-experimental-riscv64 (no longer needed) (#2526, #2528)test-skip of "*-macosx_universal2:arm64" (#2522)🐛 Fix a bug showing an incorrect wheel count at the end of execution, and misrepresenting test-only runs in the GitHub Action summary
24 July 2025
🐛 Fix a bug showing an incorrect wheel count at the end of execution, and misrepresenting test-only runs in the GitHub Action summary (#2512)
📚 Docs fix (#2510)
🌟 CPython 3.14 wheels are now built by default - without the "cpython-prerelease" enable set. It's time to build and upload these wheels to PyPI! This
"cpython-prerelease" enable set. It's time to build and upload these wheels to PyPI! This release includes CPython 3.14.0rc1, which is guaranteed to be ABI compatible with the final release. (#2507) Free-threading is no longer experimental in 3.14, so you have to skip it explicitly with 'cp31?t-*' if you don't support it yet. (#2503)platform option to android on Linux or macOS to try it out! (#2349)manylinux_2_28 (now a consistent default) and manylinux_2_34 added (#2500)enable) since you can't push them to PyPI yet (#2506)cp39-musllinux_ricv64 -> cp39-musllinux_riscv64) (#2490)--only now shows the correct possibilities, and even suggests near matches on Python 3.14+ (#2499)🛠 Updates CPython 3.14 prerelease to 3.14.0b3
5 July 2025
🛠 Updates CPython 3.14 prerelease to 3.14.0b3 (#2471)
✨ Adds a CPython 3.14 prerelease iOS build (only when prerelease builds are enabled ) (#2475)
See @henryiii's release post for more info on new features!
See @henryiii's release post for more info on new features!
🌟 Adds the ability to build wheels for iOS! Set the platform option to ios on a Mac with the iOS toolchain to try it out! (#2286, #2363, #2432)
🌟 Adds support for the GraalPy interpreter! Enable for your project using the enable option. (#1538, #2411, #2414)
✨ Adds CPython 3.14 support, under the enable option cpython-prerelease. This version of cibuildwheel uses 3.14.0b2. (#2390)
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.14 will be available in cibuildwheel without the flag. (#2390)
✨ Adds the test-sources option, and changes the working directory for tests. (#2062, #2284, #2437)
test-sources into the temporary directory we run from. This is required for iOS builds, but also useful for other platforms, as it allows you to avoid placeholders.{project} placeholder in the test-command to refer to the project directory. (#2420)✨ Adds dependency-versions inline syntax (#2122)
✨ Improves support for Pyodide builds and adds the experimental pyodide-version option, which allows you to specify the version of Pyodide to use for builds. (#2002)
✨ Add pyodide-prerelease enable option, with an early build of 0.28 (Python 3.13). (#2431)
✨ Adds the test-environment option, which allows you to set environment variables for the test command. (#2388)
✨ Adds the xbuild-tools option, which allows you to specify tools safe for cross-compilation. Currently only used on iOS; will be useful for Android in the future. (#2317)
🛠 The default manylinux image has changed from manylinux2014 to manylinux_2_28. (#2330)
🛠 EOL images manylinux1, manylinux2010, manylinux_2_24 and musllinux_1_1 can no longer be specified by their shortname. The full OCI name can still be used for these images, if you wish. (#2316)
🛠 Invokes build rather than pip wheel to build wheels by default. You can control this via the build-frontend option. You might notice that you can see your build log output now! (#2321)
🛠 Build verbosity settings have been reworked to have consistent meanings between build backends when non-zero. (#2339)
🛠 Removed the CIBW_PRERELEASE_PYTHONS and CIBW_FREE_THREADED_SUPPORT options - these have been folded into the enable option instead. (#2095)
🛠 Build environments no longer have setuptools and wheel preinstalled. (#2329)
🛠 Use the standard Schema line for the integrated JSONSchema. (#2433)
⚠️ Dropped support for building Python 3.6 and 3.7 wheels. If you need to build wheels for these versions, use cibuildwheel v2.23.3 or earlier. (#2282)
⚠️ The minimum Python version required to run cibuildwheel is now Python 3.11. You can still build wheels for Python 3.8 and newer. (#1912)
⚠️ 32-bit Linux wheels no longer built by default - the arch was removed from "auto". It now requires explicit "auto32". Note that modern manylinux images (like the new default, manylinux_2_28) do not have 32-bit versions. (#2458)
⚠️ PyPy wheels no longer built by default, due to a change to our options system. To continue building PyPy wheels, you'll now need to set the enable option to pypy or pypy-eol. (#2095)
⚠️ Dropped official support for Appveyor. If it was working for you before, it will probably continue to do so, but we can't be sure, because our CI doesn't run there anymore. (#2386)
📚 A reorganisation of the docs, and numerous updates. (#2280)
📚 Use Python 3.14 color output in docs CLI output. (#2407)
📚 Docs now primarily use the pyproject.toml name of options, rather than the environment variable name. (#2389)
📚 README table now matches docs and auto-updates. (#2427, #2428)
Not yet released, but available for testing.
Not yet released, but available for testing.
Note - when using a beta version, be sure to check the latest docs, rather than the stable version, which is still on v2.X.
<!-- note to self, when doing final release, change to docs URLs in this section to the stable version! -->
If you've used previous versions of the beta:
gp242-* in previous betas, this has been changed to gp311_242-* to be consistent with other interpreters, and to fix a bug with GraalPy and project requires-python detection. If you were using GraalPy, you might need to update your config to use the new identifier.test-sources now uses project directory instead of the package directory (matching the docs)."auto" (the default), now require "auto32" or explicit archs, as modern manylinux images (including our new default) do not support them.11 June 2025
"auto", requires explicit "auto32". (#2458)pyodide-version is experimental. (#2450)6 June 2025
5 June 2025
3 June 2025
&&, like the other platforms. (#2432)pyodide-prerelease enable option, with an early build of 0.28 (Python 3.13). (#2431)project directory instead of the package directory (matching the docs). (#2437)29 May 2025
PYTHONSAFEPATH to test-environment. (#2429)28 May 2025
25 May 2025
CIBW_TEST_ENVIRONMENT option, which allows you to set environment variables for the test command. cibuildwheel now sets PYTHONSAFEPATH=1 in test environments by default, to avoid picking up package imports from the local directory - we want to test the installed wheel, not the source tree! You can change that, or any other environment variable in the test environment using this option. (#2388)CIBW_PYODIDE_VERSION option, which allows you to specify the version of Pyodide to use for builds. (#2002)19 May 2025
🌟 Adds the ability to build wheels for iOS! Set the platform option to ios on a Mac with the iOS toolchain to try it out!
🌟 Adds support for the GraalPy interpreter! Enable for your project using the enable option. (#1538)
✨ Adds CPython 3.14 support, under the enable option cpython-prerelease. This version of cibuildwheel uses 3.14.0b1.
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.14 will be available in cibuildwheel without the flag. (#2390)
✨ Adds the test-sources option, and changes the working directory for tests.
test-sources into a temporary directory, and run the tests from there. This is required for iOS builds, but also useful for other platforms, as it allows you to test the installed wheel without any chance of accidentally importing from the source tree.{project} placeholder in the test-command to refer to the project directory.✨ Added´ dependency-versions inline syntax (#2123)
🛠 The default manylinux image has changed from manylinux2014 to manylinux_2_28 (#2330)
🛠 Invokes build rather than pip wheel to build wheels by default. You can control this via the build-frontend option. You might notice that you can see your build log output now! (#2321)
🛠 Removed the CIBW_PRERELEASE_PYTHONS and CIBW_FREE_THREADED_SUPPORT options - these have been folded into the enable option instead. (#2095)
🛠 EOL images manylinux1, manylinux2010, manylinux_2_24 and musllinux_1_1 can no longer be specified by their shortname. The full OCI name can still be used for these images, if you wish (#2316)
🛠 Build environments no longer have setuptools and wheel preinstalled. (#2329)
⚠️ Dropped support for building Python 3.6 and 3.7 wheels. If you need to build wheels for these versions, use cibuildwheel v2.23.3 or earlier. (#2282)
⚠️ The minimum Python version required to run cibuildwheel is now Python 3.11. You can still build wheels for Python 3.8 and newer. (#1912)
⚠️ PyPy wheels no longer built by default, due to a change to our options system. To continue building PyPy wheels, you'll now need to set the enable option to pypy or pypy-eol. (#2095)
⚠️ Dropped official support for Appveyor. If it was working for you before, it will probably continue to do so, but we can't be sure, because our CI doesn't run there anymore. (#2386)
📚 A reorganisation of the docs, and numerous updates (#2280)
Not yet released, but available for testing.
Not yet released, but available for testing.
Note - when using a beta version, be sure to check the latest docs, rather than the stable version, which is still on v2.X.
<!-- note to self, when doing final release, change to docs URLs in this section to the stable version! -->
If you've used previous versions of the beta:
gp242-* in previous betas, this has been changed to gp311_242-* to be consistent with other interpreters, and to fix a bug with GraalPy and project requires-python detection. If you were using GraalPy, you might need to update your config to use the new identifier.test-sources now uses project directory instead of the package directory (matching the docs).6 June 2025
5 June 2025
3 June 2025
&&, like the other platforms. (#2432)pyodide-prerelease enable option, with an early build of 0.28 (Python 3.13). (#2431)project directory instead of the package directory (matching the docs). (#2437)29 May 2025
PYTHONSAFEPATH to test-environment. (#2429)28 May 2025
25 May 2025
CIBW_TEST_ENVIRONMENT option, which allows you to set environment variables for the test command. cibuildwheel now sets PYTHONSAFEPATH=1 in test environments by default, to avoid picking up package imports from the local directory - we want to test the installed wheel, not the source tree! You can change that, or any other environment variable in the test environment using this option. (#2388)CIBW_PYODIDE_VERSION option, which allows you to specify the version of Pyodide to use for builds. (#2002)19 May 2025
🌟 Adds the ability to build wheels for iOS! Set the platform option to ios on a Mac with the iOS toolchain to try it out!
🌟 Adds support for the GraalPy interpreter! Enable for your project using the enable option. (#1538)
✨ Adds CPython 3.14 support, under the enable option cpython-prerelease. This version of cibuildwheel uses 3.14.0b1.
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.14 will be available in cibuildwheel without the flag. (#2390)
✨ Adds the test-sources option, and changes the working directory for tests.
test-sources into a temporary directory, and run the tests from there. This is required for iOS builds, but also useful for other platforms, as it allows you to test the installed wheel without any chance of accidentally importing from the source tree.{project} placeholder in the test-command to refer to the project directory.✨ Added´ dependency-versions inline syntax (#2123)
🛠 The default manylinux image has changed from manylinux2014 to manylinux_2_28 (#2330)
🛠 Invokes build rather than pip wheel to build wheels by default. You can control this via the build-frontend option. You might notice that you can see your build log output now! (#2321)
🛠 Removed the CIBW_PRERELEASE_PYTHONS and CIBW_FREE_THREADED_SUPPORT options - these have been folded into the enable option instead. (#2095)
🛠 EOL images manylinux1, manylinux2010, manylinux_2_24 and musllinux_1_1 can no longer be specified by their shortname. The full OCI name can still be used for these images, if you wish (#2316)
🛠 Build environments no longer have setuptools and wheel preinstalled. (#2329)
⚠️ Dropped support for building Python 3.6 and 3.7 wheels. If you need to build wheels for these versions, use cibuildwheel v2.23.3 or earlier. (#2282)
⚠️ The minimum Python version required to run cibuildwheel is now Python 3.11. You can still build wheels for Python 3.8 and newer. (#1912)
⚠️ PyPy wheels no longer built by default, due to a change to our options system. To continue building PyPy wheels, you'll now need to set the enable option to pypy or pypy-eol. (#2095)
⚠️ Dropped official support for Appveyor. If it was working for you before, it will probably continue to do so, but we can't be sure, because our CI doesn't run there anymore. (#2386)
📚 A reorganisation of the docs, and numerous updates (#2280)
Not yet released, but available for testing.
Not yet released, but available for testing.
Note - when using a beta version, be sure to check the latest docs, rather than the stable version, which is still on v2.X.
<!-- note to self, when doing final release, change to docs URLs in this section to the stable version! -->
If you've used previous versions of the beta:
gp242-* in previous betas, this has been changed to gp311_242-* to be consistent with other interpreters, and to fix a bug with GraalPy and project requires-python detection. If you were using GraalPy, you might need to update your config to use the new identifier.test-sources now uses project directory instead of the package directory (matching the docs).5 June 2025
3 June 2025
&&, like the other platforms. (#2432)pyodide-prerelease enable option, with an early build of 0.28 (Python 3.13). (#2431)project directory instead of the package directory (matching the docs). (#2437)29 May 2025
PYTHONSAFEPATH to test-environment. (#2429)28 May 2025
25 May 2025
CIBW_TEST_ENVIRONMENT option, which allows you to set environment variables for the test command. cibuildwheel now sets PYTHONSAFEPATH=1 in test environments by default, to avoid picking up package imports from the local directory - we want to test the installed wheel, not the source tree! You can change that, or any other environment variable in the test environment using this option. (#2388)CIBW_PYODIDE_VERSION option, which allows you to specify the version of Pyodide to use for builds. (#2002)19 May 2025
🌟 Adds the ability to build wheels for iOS! Set the platform option to ios on a Mac with the iOS toolchain to try it out!
🌟 Adds support for the GraalPy interpreter! Enable for your project using the enable option. (#1538)
✨ Adds CPython 3.14 support, under the enable option cpython-prerelease. This version of cibuildwheel uses 3.14.0b1.
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.14 will be available in cibuildwheel without the flag. (#2390)
✨ Adds the test-sources option, and changes the working directory for tests.
test-sources into a temporary directory, and run the tests from there. This is required for iOS builds, but also useful for other platforms, as it allows you to test the installed wheel without any chance of accidentally importing from the source tree.{project} placeholder in the test-command to refer to the project directory.✨ Added´ dependency-versions inline syntax (#2123)
🛠 The default manylinux image has changed from manylinux2014 to manylinux_2_28 (#2330)
🛠 Invokes build rather than pip wheel to build wheels by default. You can control this via the build-frontend option. You might notice that you can see your build log output now! (#2321)
🛠 Removed the CIBW_PRERELEASE_PYTHONS and CIBW_FREE_THREADED_SUPPORT options - these have been folded into the enable option instead. (#2095)
🛠 EOL images manylinux1, manylinux2010, manylinux_2_24 and musllinux_1_1 can no longer be specified by their shortname. The full OCI name can still be used for these images, if you wish (#2316)
🛠 Build environments no longer have setuptools and wheel preinstalled. (#2329)
⚠️ Dropped support for building Python 3.6 and 3.7 wheels. If you need to build wheels for these versions, use cibuildwheel v2.23.3 or earlier. (#2282)
⚠️ The minimum Python version required to run cibuildwheel is now Python 3.11. You can still build wheels for Python 3.8 and newer. (#1912)
⚠️ PyPy wheels no longer built by default, due to a change to our options system. To continue building PyPy wheels, you'll now need to set the enable option to pypy or pypy-eol. (#2095)
⚠️ Dropped official support for Appveyor. If it was working for you before, it will probably continue to do so, but we can't be sure, because our CI doesn't run there anymore. (#2386)
📚 A reorganisation of the docs, and numerous updates (#2280)
Not yet released, but available for testing.
Not yet released, but available for testing.
Note - when using a beta version, be sure to check the latest docs, rather than the stable version, which is still on v2.X.
<!-- note to self, when doing final release, change to docs URLs in this section to the stable version! -->
If you've used previous versions of the beta:
gp242-* in previous betas, this has been changed to gp311_242-* to be consistent with other interpreters, and to fix a bug with GraalPy and project requires-python detection. If you were using GraalPy, you might need to update your config to use the new identifier.test-sources now uses project directory instead of the package directory (matching the docs).3 June 2025
&&, like the other platforms. (#2432)pyodide-prerelease enable option, with an early build of 0.28 (Python 3.13). (#2431)project directory instead of the package directory (matching the docs). (#2437)29 May 2025
PYTHONSAFEPATH to test-environment. (#2429)28 May 2025
25 May 2025
CIBW_TEST_ENVIRONMENT option, which allows you to set environment variables for the test command. cibuildwheel now sets PYTHONSAFEPATH=1 in test environments by default, to avoid picking up package imports from the local directory - we want to test the installed wheel, not the source tree! You can change that, or any other environment variable in the test environment using this option. (#2388)CIBW_PYODIDE_VERSION option, which allows you to specify the version of Pyodide to use for builds. (#2002)19 May 2025
🌟 Adds the ability to build wheels for iOS! Set the platform option to ios on a Mac with the iOS toolchain to try it out!
🌟 Adds support for the GraalPy interpreter! Enable for your project using the enable option. (#1538)
✨ Adds CPython 3.14 support, under the enable option cpython-prerelease. This version of cibuildwheel uses 3.14.0b1.
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.14 will be available in cibuildwheel without the flag. (#2390)
✨ Adds the test-sources option, and changes the working directory for tests.
test-sources into a temporary directory, and run the tests from there. This is required for iOS builds, but also useful for other platforms, as it allows you to test the installed wheel without any chance of accidentally importing from the source tree.{project} placeholder in the test-command to refer to the project directory.✨ Added´ dependency-versions inline syntax (#2123)
🛠 The default manylinux image has changed from manylinux2014 to manylinux_2_28 (#2330)
🛠 Invokes build rather than pip wheel to build wheels by default. You can control this via the build-frontend option. You might notice that you can see your build log output now! (#2321)
🛠 Removed the CIBW_PRERELEASE_PYTHONS and CIBW_FREE_THREADED_SUPPORT options - these have been folded into the enable option instead. (#2095)
🛠 EOL images manylinux1, manylinux2010, manylinux_2_24 and musllinux_1_1 can no longer be specified by their shortname. The full OCI name can still be used for these images, if you wish (#2316)
🛠 Build environments no longer have setuptools and wheel preinstalled. (#2329)
⚠️ Dropped support for building Python 3.6 and 3.7 wheels. If you need to build wheels for these versions, use cibuildwheel v2.23.3 or earlier. (#2282)
⚠️ The minimum Python version required to run cibuildwheel is now Python 3.11. You can still build wheels for Python 3.8 and newer. (#1912)
⚠️ PyPy wheels no longer built by default, due to a change to our options system. To continue building PyPy wheels, you'll now need to set the enable option to pypy or pypy-eol. (#2095)
⚠️ Dropped official support for Appveyor. If it was working for you before, it will probably continue to do so, but we can't be sure, because our CI doesn't run there anymore. (#2386)
📚 A reorganisation of the docs, and numerous updates (#2280)
Not yet released, but available for testing.
Not yet released, but available for testing.
Note - when using a beta version, be sure to check the latest docs, rather than the stable version, which is still on v2.X.
If you've used previous versions of the beta:
gp242-* in previous betas, this has been changed to gp311_242-* to be consistent with other interpreters, and to fix a bug with GraalPy and project requires-python detection. If you were using GraalPy, you might need to update your config to use the new identifier.29 May 2025
PYTHONSAFEPATH to test-environment. (#2429)28 May 2025
25 May 2025
CIBW_TEST_ENVIRONMENT option, which allows you to set environment variables for the test command. cibuildwheel now sets PYTHONSAFEPATH=1 in test environments by default, to avoid picking up package imports from the local directory - we want to test the installed wheel, not the source tree! You can change that, or any other environment variable in the test environment using this option. (#2388)CIBW_PYODIDE_VERSION option, which allows you to specify the version of Pyodide to use for builds. (#2002)19 May 2025
🌟 Adds the ability to build wheels for iOS! Set the platform option to ios on a Mac with the iOS toolchain to try it out!
🌟 Adds support for the GraalPy interpreter! Enable for your project using the enable option. (#1538)
✨ Adds CPython 3.14 support, under the enable option cpython-prerelease. This version of cibuildwheel uses 3.14.0b1.
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.14 will be available in cibuildwheel without the flag. (#2390)
✨ Adds the test-sources option, and changes the working directory for tests.
test-sources into a temporary directory, and run the tests from there. This is required for iOS builds, but also useful for other platforms, as it allows you to test the installed wheel without any chance of accidentally importing from the source tree.{project} placeholder in the test-command to refer to the project directory.✨ Added´ dependency-versions inline syntax (#2123)
🛠 The default manylinux image has changed from manylinux2014 to manylinux_2_28 (#2330)
🛠 Invokes build rather than pip wheel to build wheels by default. You can control this via the build-frontend option. You might notice that you can see your build log output now! (#2321)
🛠 Removed the CIBW_PRERELEASE_PYTHONS and CIBW_FREE_THREADED_SUPPORT options - these have been folded into the enable option instead. (#2095)
🛠 EOL images manylinux1, manylinux2010, manylinux_2_24 and musllinux_1_1 can no longer be specified by their shortname. The full OCI name can still be used for these images, if you wish (#2316)
🛠 Build environments no longer have setuptools and wheel preinstalled. (#2329)
⚠️ Dropped support for building Python 3.6 and 3.7 wheels. If you need to build wheels for these versions, use cibuildwheel v2.23.3 or earlier. (#2282)
⚠️ The minimum Python version required to run cibuildwheel is now Python 3.11. You can still build wheels for Python 3.8 and newer. (#1912)
⚠️ PyPy wheels no longer built by default, due to a change to our options system. To continue building PyPy wheels, you'll now need to set the enable option to pypy or pypy-eol. (#2095)
⚠️ Dropped official support for Appveyor. If it was working for you before, it will probably continue to do so, but we can't be sure, because our CI doesn't run there anymore. (#2386)
📚 A reorganisation of the docs, and numerous updates (#2280)
Not yet released, but available for testing.
Not yet released, but available for testing.
Note - when using a beta version, be sure to check the latest docs, rather than the stable version, which is still on v2.X.
If you've used previous versions of the beta:
gp242-* in previous betas, this has been changed to gp311_242-* to be consistent with other interpreters, and to fix a bug with GraalPy and project requires-python detection. If you were using GraalPy, you might need to update your config to use the new identifier.28 May 2025
25 May 2025
CIBW_TEST_ENVIRONMENT option, which allows you to set environment variables for the test command. cibuildwheel now sets PYTHONSAFEPATH=1 in test environments by default, to avoid picking up package imports from the local directory - we want to test the installed wheel, not the source tree! You can change that, or any other environment variable in the test environment using this option. (#2388)CIBW_PYODIDE_VERSION option, which allows you to specify the version of Pyodide to use for builds. (#2002)19 May 2025
🌟 Adds the ability to build wheels for iOS! Set the platform option to ios on a Mac with the iOS toolchain to try it out!
🌟 Adds support for the GraalPy interpreter! Enable for your project using the enable option. (#1538)
✨ Adds CPython 3.14 support, under the enable option cpython-prerelease. This version of cibuildwheel uses 3.14.0b1.
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.14 will be available in cibuildwheel without the flag. (#2390)
✨ Adds the test-sources option, and changes the working directory for tests.
test-sources into a temporary directory, and run the tests from there. This is required for iOS builds, but also useful for other platforms, as it allows you to test the installed wheel without any chance of accidentally importing from the source tree.{project} placeholder in the test-command to refer to the project directory.✨ Added dependency-versions inline syntax (#2123)
🛠 EOL manylinux options can no longer be specified by their shortname. Full OCI URL can still be used for these images, if you wish (#2316)
🛠 Build environments no longer have setuptools and wheel preinstalled. (#2329)
⚠️ PyPy wheels no longer built by default, due to a change to our options system. To continue building PyPy wheels, you'll now need to set the enable option to pypy or pypy-eol.
⚠️ Dropped official support for Appveyor. If it was working for you before, it will probably continue to do so, but we can't be sure, because our CI doesn't run there anymore. (#2386)
📚 A reorganisation of the docs, and numerous updates (#2280)
Not yet released, but available for testing.
Not yet released, but available for testing.
Note - when using a beta version, be sure to check the latest docs, rather than the stable version, which is still on v2.X.
Known issues:
25 May 2025
CIBW_TEST_ENVIRONMENT option, which allows you to set environment variables for the test command. cibuildwheel now sets PYTHONSAFEPATH=1 in test environments by default, to avoid picking up package imports from the local directory - we want to test the installed wheel, not the source tree! You can change that, or any other environment variable in the test environment using this option. (#2388)CIBW_PYODIDE_VERSION option, which allows you to specify the version of Pyodide to use for builds. (#2002)19 May 2025
🌟 Adds the ability to build wheels for iOS! Set the platform option to ios on a Mac with the iOS toolchain to try it out!
🌟 Adds support for the GraalPy interpreter! Enable for your project using the enable option. (#1538)
✨ Adds CPython 3.14 support, under the enable option cpython-prerelease. This version of cibuildwheel uses 3.14.0b1.
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.14 will be available in cibuildwheel without the flag. (#2390)
✨ Adds the test-sources option, and changes the working directory for tests.
test-sources into a temporary directory, and run the tests from there. This is required for iOS builds, but also useful for other platforms, as it allows you to test the installed wheel without any chance of accidentally importing from the source tree.✨ Added dependency-versions inline syntax (#2123)
🛠 EOL manylinux options can no longer be specified by their shortname. Full OCI URL can still be used for these images, if you wish (#2316)
🛠 Build environments no longer have setuptools and wheel preinstalled. (#2329)
⚠️ PyPy wheels no longer built by default, due to a change to our options system. To continue building PyPy wheels, you'll now need to set the enable option to pypy or pypy-eol.
⚠️ Dropped official support for Appveyor. If it was working for you before, it will probably continue to do so, but we can't be sure, because our CI doesn't run there anymore. (#2386)
📚 A reorganisation of the docs, and numerous updates (#2280)
This is a preview of our upcoming v3.0.0 release! Lots of goodies in here!
This is a preview of our upcoming v3.0.0 release! Lots of goodies in here!
Note - when using this beta version, be sure to check the latest docs, rather than the stable version, which is still on v2.X.
🌟 Adds the ability to build wheels for iOS! Set the platform option to ios on a Mac with the iOS toolchain to try it out!
🌟 Adds support for the GraalPy interpreter! Enable for your project using the enable option. (#1538)
✨ Adds CPython 3.14 support, under the enable option cpython-prerelease. This version of cibuildwheel uses 3.14.0b1.
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.14 will be available in cibuildwheel without the flag. (#2390)
✨ Adds the test-sources option. [discussion about the test cwd change and how to use to come!]
✨ Added dependency-versions inline syntax (#2123)
🛠 EOL manylinux options can no longer be specified by their shortname. Full OCI URL can still be used for these images, if you wish (#2316)
🛠 Build environments no longer have setuptools and wheel preinstalled. (#2329)
⚠️ PyPy wheels no longer built by default, due to a change to our options system. To continue building PyPy wheels, you'll now need to set the enable option to pypy or pypy-eol.
⚠️ Dropped official support for Appveyor. If it was working for you before, it will probably continue to do so, but we can't be sure, because our CI doesn't run there anymore. (#2386)
📚 A reorganisation of the docs, and numerous updates (#2280)
🐛 Fix HTTP 429 errors while downloading virtualenv from GitHub blob URLs – uses a https://bootstrap.pypa.io/ URL instead.
16 March 2026
🛠 Dependency updates, including Python 3.13.3
26 April 2025
🐛 Workaround an issue with pyodide builds when running cibuildwheel with a Python that was installed via UV (#2328 via #2331)
⚠️ Added warnings when the shorthand values manylinux1, manylinux2010, manylinux_2_24, and musllinux_1_1 are used to specify the images in linux build
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. (#2312)✨ 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 conf
In cibuildwheel 3, this will also include a PyPy setting and the deprecated options will be removed.
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)CIBW_TEST_GROUPS/test-groups to specify groups in [dependency-groups] for testing. (#2063)CIBW_BEFORE_ALL/before-all on linux, replacing 3.8, which is now EoL (#2043)uname -m fails on ARM (#2049)manylinux-interpreters ensure fails (#2066)🛠 Update CPython 3.13 to 3.13.0 final release
9 October 2024
🛠 Update CPython 3.13 to 3.13.0 final release (#2032)
📚 Docs updates and tidy ups (#2035)
✨ 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'
armv7l to try it out if you're interested! (#2017)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)
🐛 Fix a bug in the Linux build, where files copied to the container would have invalid ownership permissions
uv to install dependencies for versions of CPython that it does not support (#2005)uv 0.4.10 would not use the right Python when testing on Linux. (#2008)⚠️ 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
config-settings in TOML overrides - rather than extending each key, which is rarely useful, individual keys will override previously set values. (#1803)🌟 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 re
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)CIBW_ALLOW_EMPTY environment variable as an alternative to the command line flag. (#1937)VSCMD_ARG_TGT_ARCH variable based on target arch. (#1876)🐛 Update manylinux2014 pins to versions that support past-EoL CentOS 7 mirrors.
--no-isolation with build[uv] build-frontend. (#1889)🐛 Don't require setup-python on GHA for Pyodide
Release post: https://iscinumpy.dev/post/cibuildwheel-2-19-0/
Release post: https://iscinumpy.dev/post/cibuildwheel-2-19-0/
--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)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)VIRTUAL_ENV variable now set. (#1842)🌟 Add free-threaded Linux and Windows builds for 3.13. New identifiers cp313t-*, new option CIBW_FREE_THREADED_SUPPORT/tool.cibuildwheel.free-threaded
cp313t-*, new option CIBW_FREE_THREADED_SUPPORT/tool.cibuildwheel.free-threaded-support required to opt-in. See the docs for more information. (#1831)container-engine is now a build (non-global) option. (#1792)✨ 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
musllinux_1_2. You can set the older musllinux_1_1 via config if needed. (#1817)🌟 Adds the ability to inherit configuration in TOML overrides. This makes certain configurations much simpler. If you're overriding an option like bef
before-build or environment, and you just want to add an extra command or environment variable, you can just append (or prepend) to the previous config. See the docs for more information. (#1730)macos-14 as an os of your job in your workflow file. You can also keep macos-13 in your build matrix to build x86_64. Check out the new GitHub Actions example config.--platform to run cibuildwheel locally! Instead it will detect your platform automatically. This was a safety feature, no longer necessary. (#1727)pyproject.toml, projects with pyproject.toml are already getting fresh versions of their build-system.requires installed into an isolated environment. (#1725)build frontend. Instead it will be extended. (#1675)🐛 Fix an incompatibility with the GitHub Action and new GitHub Runner images for Windows that bundle Powershell 7.3+
macos-14 arm64 runners (#1743)🛠 Update manylinux pins to upgrade from a problematic PyPy version.
🛠 Update manylinux pins to upgrade from a problematic PyPy version. (#1737)
28 January 2024
🐛 Fix a bug when building from sdist, where relative paths to files in the package didn't work because the working directory was wrong
/host, through the disable_host_mount suboption on CIBW_CONTAINER_ENGINE.🛠 Updates CPython 3.12 version to 3.12.0, final release
CIBW_DEBUG_KEEP_CONTAINER to stop cibuildwheel deleting build containers after the build finishes. (#1620)[tool.cibuildwheel] checking by adding a schema compatible with the validate-pyproject tool (#1622, #1628, #1629)CIBW_CONTAINER_ENGINE and CIBW_BUILD_FRONTEND options to not break arguments on : characters (#1621)CIBW_ENVIRONMENT and CIBW_ENVIRONMENT_PASS so that CIBW_ENVIRONMENT assignments can reference environment variables passed through from the host machine. (#1617)manylinux-interpreters tool (#1630)🛠 Updates the prerelease CPython 3.12 version to 3.12.0rc3
linux32 in containers when necessary (#1599)26 September 2023
🛠 Updates the prerelease CPython 3.12 version to 3.12.0rc3 (#1625)
🛠 Only calls linux32 in containers when necessary (#1599)
✨ Add the ability to pass additional flags to a build frontend through the CIBW_BUILD_FRONTEND option (#1588).
requires_python auto-detection from setup.py when the call to setup() is within an if __name__ == "__main__" block (#1613)--only can now select prerelease-pythons (#1564)🌟 CPython 3.12 wheels are now built by default - without the CIBW_PRERELEASE_PYTHONS flag. It's time to build and upload these wheels to PyPI! This re
🛠 Updates the prerelease CPython 3.12 version to 3.12.0b4
15 July 2023
✨ Adds support for building PyPy 3.10 wheels.
{wheel} placeholder in CIBW_TEST_COMMAND (#1533)🛠 Updates the prerelease CPython 3.12 version to 3.12.0b2.
v<major>.<minor> tag for use in GitHub Actions workflow files. If you use this, you'll get the latest patch release within a minor version. Additionally, Dependabot won't send you PRs for patch releases. (#1517)✨ Adds CPython 3.12 support, under the prerelease flag CIBW_PRERELEASE_PYTHONS. This version of cibuildwheel uses 3.12.0b1.
✨ Adds CPython 3.12 support, under the prerelease flag CIBW_PRERELEASE_PYTHONS. This version of cibuildwheel uses 3.12.0b1.
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.12 will be available in cibuildwheel without the flag. (#1507)
✨ Adds the ability to pass arguments to the container engine when the container is created, using the CIBW_CONTAINER_ENGINE option. (#1499)
🐛 Fix an import error when running on Python 3.7.
19 April 2023
🐛 Fix a bug that caused an extra empty config-setting to be passed to the backend when CIBW_BUILD_FRONTEND is set to build.
build. (#1474)🐛 Fix a bug that prevented the use of CIBW_CONFIG_SETTINGS with the 'pip' build backend.
11 March 2023
✨ Adds support for PyPy arm64 wheels. This means that you can build PyPy wheels for Apple Silicon machines. Cross-compilation is not supported for the
Your coding agent can read these notes before it upgrades. Set up the MCP server →