Releases: pypa/cibuildwheel
Releases · pypa/cibuildwheel
v2.18.0
- ✨ 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 available yet (#1657), waiting on official binaries (planned for beta 2) and pip support.
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.13 will be available in cibuildwheel without the flag. (#1815) - ✨ Musllinux now defaults to
musllinux_1_2. You can set the oldermusllinux_1_1via config if needed. (#1817) - 🛠 No longer pre-seed setuptools/wheel in virtual environments (#1819)
- 🛠 Respect the constraints file when building with pip, matching build (#1818)
- 🛠 Use uv to compile our pinned dependencies, 10x faster and doesn't require special setup (#1778)
- 🐛 Fix an issue with the schema (#1788)
- 📚 Document the new delocate error checking macOS versions (#1766)
- 📚 Document Rust builds (#1816)
- 📚 Speed up our readthedocs builds with uv, 26 seconds -> 6 seconds to install dependencies (#1816)
v2.17.0
- 🌟 Adds the ability to inherit configuration in TOML overrides. This makes certain configurations much simpler. If you're overriding an option like
before-buildorenvironment, 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) - 🌟 Adds official support for native arm64 macOS GitHub runners. To use them, just specify
macos-14as anosof your job in your workflow file. You can also keepmacos-13in your build matrix to build x86_64. Check out the new GitHub Actions example config. - ✨ You no longer need to specify
--platformto run cibuildwheel locally! Instead it will detect your platform automatically. This was a safety feature, no longer necessary. (#1727) - 🛠 Removed setuptools and wheel pinned versions. This only affects old-style projects without a
pyproject.toml, projects withpyproject.tomlare already getting fresh versions of theirbuild-system.requiresinstalled into an isolated environment. (#1725) - 🛠 Improve how the GitHub Action passes arguments (#1757)
- 🛠 Remove a system-wide install of pipx in the GitHub Action (#1745)
- 🐛 No longer will cibuildwheel override the PIP_CONSTRAINT environment variable when using the
buildfrontend. Instead it will be extended. (#1675) - 🐛 Fix a bug where building and testing both x86_86 and arm64 wheels on the same runner caused the wrong architectures in the test environment (#1750)
- 🐛 Fix a bug that prevented testing a CPython 3.8 wheel targeting macOS 11+ on x86_64 (#1768)
- 📚 Moved the docs onto the official PyPA domain - they're now available at https://cibuildwheel.pypa.io . (#1775)
- 📚 Docs and examples improvements (#1762, #1734)
v2.16.5
v2.16.4
v2.16.3
- 🐛 Fix a bug when building from sdist, where relative paths to files in the package didn't work because the working directory was wrong (#1687)
- 🛠 Adds the ability to disable mounting the host filesystem in containers to
/host, through thedisable_host_mountsuboption onCIBW_CONTAINER_ENGINE. - 📚 A lot of docs improvements! (#1708, #1705, #1686, #1679, #1667, #1665)
v2.16.2
- 🛠 Updates CPython 3.12 version to 3.12.0, final release (#1635)
- ✨ Adds a debug option
CIBW_DEBUG_KEEP_CONTAINERto stop cibuildwheel deleting build containers after the build finishes. (#1620) - 📚 Adds support for
[tool.cibuildwheel]checking by adding a schema compatible with the validate-pyproject tool (#1622, #1628, #1629) - 🐛 Fix parsing of
CIBW_CONTAINER_ENGINEandCIBW_BUILD_FRONTENDoptions to not break arguments on:characters (#1621) - 🐛 Fix the evaluation order of
CIBW_ENVIRONMENTandCIBW_ENVIRONMENT_PASSso thatCIBW_ENVIRONMENTassignments can reference environment variables passed through from the host machine. (#1617) - 🛠 Supports manylinux images' deferred installation of interpreters through the
manylinux-interpreterstool (#1630)
v2.16.1
v2.16.0
- ✨ Add the ability to pass additional flags to a build frontend through the CIBW_BUILD_FRONTEND option (#1588).
- ✨ The environment variable SOURCE_DATE_EPOCH is now automatically passed through to container Linux builds (useful for reproducible builds!) (#1589)
- 🛠 Updates the prerelease CPython 3.12 version to 3.12.0rc2 (#1604)
- 🐛 Fix
requires_pythonauto-detection from setup.py when the call tosetup()is within anif __name__ == "__main__"block (#1613) - 🐛 Fix a bug that prevented building Linux wheels in Docker on a Windows host (#1573)
- 🐛
--onlycan now select prerelease-pythons (#1564) - 📚 Docs & examples updates (#1582, #1593, #1598, #1615)
v2.15.0
- 🌟 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 release includes CPython 3.12.0rc1, which is guaranteed to be ABI compatible with the final release. (#1565)
- ✨ Adds musllinux_1_2 support - this allows packagers to build for musl-based Linux distributions on a more recent Alpine image, and a newer musl libc. (#1561)