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_1
via 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-build
orenvironment
, 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-14
as anos
of your job in your workflow file. You can also keepmacos-13
in your build matrix to build x86_64. Check out the new GitHub Actions example config. - ✨ You no longer need to specify
--platform
to 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.toml
are already getting fresh versions of theirbuild-system.requires
installed 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
build
frontend. 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_mount
suboption 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_CONTAINER
to 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_ENGINE
andCIBW_BUILD_FRONTEND
options to not break arguments on:
characters (#1621) - 🐛 Fix the evaluation order of
CIBW_ENVIRONMENT
andCIBW_ENVIRONMENT_PASS
so thatCIBW_ENVIRONMENT
assignments can reference environment variables passed through from the host machine. (#1617) - 🛠 Supports manylinux images' deferred installation of interpreters through the
manylinux-interpreters
tool (#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_python
auto-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)
- 🐛
--only
can 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)