github pypa/cibuildwheel v3.0.0b2

latest releases: v3.1.4, v3.1, v3.1.3...
pre-release3 months ago

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:

  • ⚠️ The CWD for test-command has changed in v3.0, but that is still being debated, it might change before the final release. Please provide feedback on the aforementioned issue if you do (or don't!) encounter issues with this.

v3.0.0b2

25 May 2025

  • ✨ Adds the 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)
  • ✨ Improves support for Pyodide builds and adds the CIBW_PYODIDE_VERSION option, which allows you to specify the version of Pyodide to use for builds. (#2002)

v3.0.0b1

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.

    • If this option is set, cibuildwheel will copy the files and folders specified in 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.
    • If this option is not set, cibuildwheel will run the tests in the source tree. This is a change from the previous behavior, where cibuildwheel would run the tests from a temporary directory. We're still investigating what's best here, so if you encounter any issues with this, please let us know in issue #2406.
  • ✨ 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)

Don't miss a new cibuildwheel release

NewReleases is sending notifications on new releases.