Sourced from pypa/cibuildwheel's releases.
v4.0.0
See
@βhenryiii's release post for more info on new features!
π Adds wheel auditing with
abi3auditas a default after the repair step, with newaudit-requiresandaudit-commandoptions (#2805)π Adds
pyemscriptenplatform tag support (PEP 783), updates Pyodide to 314.0.0a2, and adds apyodide-eolenableflag for building end-of-life Pyodide versions (#2812, #2848)π Sets up
delvewheelas the defaultrepair-wheel-commandfor 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
enableoptioncpython-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-filesoption (#2695)β¨ Adds
CIBUILDWHEEL_BUILD_IDENTIFIERenvironment variable set to the current build identifier (e.g.cp311-manylinux_x86_64) during per-build steps (#2872)β¨ Adds
{project}and{package}placeholders toconfig-settings(#2827)β οΈ Drops support for Python 3.8 (#2686)
β οΈ Removes the experimental CPython 3.13 free-threading builds and the
cpython-freethreadingenableoption. 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_PYTHONnot being set forbefore-buildon Linux when usinguvas thebuild-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-settingsexpansion when{project}or{package}contains spaces or backslashes (#2886)π Prevents deadlock when
linux32fails 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_LEVELis not an integer (#2891)π Replaces assert with proper exception in python-build-standalone (#2859)
π Uses ConfigurationError when
package_diris 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 -Vfor 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 thebindependency 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
uvfrontend (#2809)π§ͺ Fixes the update-dependencies workflow to use
uvto runnox(#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-buildconfiguration (#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)
... (truncated)
Sourced from pypa/cibuildwheel's changelog.
v4.0.0
7 June 2026
See
@βhenryiii's release post for more info on new features!
π Adds wheel auditing with
abi3auditas a default after the repair step, with newaudit-requiresandaudit-commandoptions (#2805)π Adds
pyemscriptenplatform tag support (PEP 783), updates Pyodide to 314.0.0a2, and adds apyodide-eolenableflag for building end-of-life Pyodide versions (#2812, #2848)π Sets up
delvewheelas the defaultrepair-wheel-commandfor 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
enableoptioncpython-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-filesoption (#2695)β¨ Adds
CIBUILDWHEEL_BUILD_IDENTIFIERenvironment variable set to the current build identifier (e.g.cp311-manylinux_x86_64) during per-build steps (#2872)β¨ Adds
{project}and{package}placeholders toconfig-settings(#2827)β οΈ Drops support for Python 3.8 (#2686)
β οΈ Removes the experimental CPython 3.13 free-threading builds and the
cpython-freethreadingenableoption. 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_PYTHONnot being set forbefore-buildon Linux when usinguvas thebuild-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-settingsexpansion when{project}or{package}contains spaces or backslashes (#2886)π Prevents deadlock when
linux32fails 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_LEVELis not an integer (#2891)π Replaces assert with proper exception in python-build-standalone (#2859)
π Uses ConfigurationError when
package_diris 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 -Vfor 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 thebindependency 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
uvfrontend (#2809)π§ͺ Fixes the update-dependencies workflow to use
uvto runnox(#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-buildconfiguration (#2834)π Updates the "How it works" diagram with details of Android, iOS, and Pyodide builds (#2816)
... (truncated)
f03ac76
Bump version: v4.0.0557c5f6
feat: remove GraalPy 3.11 (gp311) support (#2895)70975c2
chore: use ConfigurationError when package_dir is outside cwd (#2898)e2f143c
chore(deps): bump docker/setup-qemu-action from 4.0.0 to 4.1.0 in the
actions...866ae74
docs: fix CUDA manylinux container references in FAQ (#2900)84b518a
chore: simplify pinned image lookup (#2897)785d812
docs: add instructions for building CUDA wheels (#2896)f6bd047
Bump version: v4.0.0rc26cd2d19
fix: remove potential partial cache-population in case of error (#2892)cdb170b
[Bot] Update dependencies (#2893)