github pypa/cibuildwheel v4.0.0

4 hours ago

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)

  • ๐Ÿ’ผ Uses if TYPE_CHECKING: blocks (#2866, #2864)

  • ๐Ÿงช 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)

Don't miss a new cibuildwheel release

NewReleases is sending notifications on new releases.