Skip to content

Releases: pypa/cibuildwheel

v2.18.1

20 May 11:24
Compare
Choose a tag to compare
  • 🌟 Add free-threaded Linux and Windows builds for 3.13. New identifiers cp313t-*, new option CIBW_FREE_THREADED_SUPPORT/tool.cibuildwheel.free-threaded-support required to opt-in. See the docs for more information. (#1831)
  • ✨ The container-engine is now a build (non-global) option. (#1792)
  • 🛠 The build backend for cibuildwheel is now hatchling. (#1297)
  • 🛠 Significant improvements and modernization to our noxfile. (#1823)
  • 🛠 Use pylint's new GitHub Actions reporter instead of a custom matcher. (#1823)
  • 🛠 Unpin virtualenv updates for Python 3.7+ (#1830)
  • 🐛 Fix running linux tests from Windows or macOS ARM. (#1788)
  • 📚 Fix our documentation build. (#1821)

v2.18.0

12 May 04:18
Compare
Choose a tag to compare
  • ✨ 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 older musllinux_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

11 Mar 21:21
Compare
Choose a tag to compare
  • 🌟 Adds the ability to inherit configuration in TOML overrides. This makes certain configurations much simpler. If you're overriding an option like before-build or environment, 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 an os of your job in your workflow file. You can also keep macos-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 with pyproject.toml are already getting fresh versions of their build-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

30 Jan 23:15
Compare
Choose a tag to compare
  • 🐛 Fix an incompatibility with the GitHub Action and new GitHub Runner images for Windows that bundle Powershell 7.3+ (#1741)
  • 🛠 Preliminary support for new macos-14 arm64 runners (#1743)

v2.16.4

28 Jan 17:22
Compare
Choose a tag to compare

🛠 Update manylinux pins to upgrade from a problematic PyPy version. (#1737)

v2.16.3

26 Jan 19:22
Compare
Choose a tag to compare
  • 🐛 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 the disable_host_mount suboption on CIBW_CONTAINER_ENGINE.
  • 📚 A lot of docs improvements! (#1708, #1705, #1686, #1679, #1667, #1665)

v2.16.2

03 Oct 19:08
Compare
Choose a tag to compare
  • 🛠 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 and CIBW_BUILD_FRONTEND options to not break arguments on : characters (#1621)
  • 🐛 Fix the evaluation order of CIBW_ENVIRONMENT and CIBW_ENVIRONMENT_PASS so that CIBW_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

26 Sep 08:52
Compare
Choose a tag to compare
  • 🛠 Updates the prerelease CPython 3.12 version to 3.12.0rc3 (#1625)
  • 🛠 Only calls linux32 in containers when necessary (#1599)

v2.16.0

18 Sep 17:36
Compare
Choose a tag to compare
  • ✨ 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 to setup() is within an if __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

08 Aug 17:58
Compare
Choose a tag to compare
  • 🌟 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)