diff --git a/README.md b/README.md index 679233644..e32e8bb27 100644 --- a/README.md +++ b/README.md @@ -94,7 +94,7 @@ jobs: - uses: actions/setup-python@v5 - name: Install cibuildwheel - run: python -m pip install cibuildwheel==2.20.0 + run: python -m pip install cibuildwheel==2.21.0 - name: Build wheels run: python -m cibuildwheel --output-dir wheelhouse @@ -211,8 +211,22 @@ Changelog +### v2.21.0 + +_13 September 2024_ + +- ⚠️ Update CPython 3.12 to 3.12.6, which changes the macOS minimum deployment target on CPython 3.12 from macOS 10.9 to macOS 10.13 (#1998) +- 🛠 Changes the behaviour when inheriting `config-settings` in TOML overrides - rather than extending each key, which is rarely useful, individual keys will override previously set values. (#1803) +- 🛠 Update CPython 3.13 to 3.13.0rc2 (#1998) +- ✨ Adds support for multiarch OCI images (#1961) +- 🐛 Fixes some bugs building Linux wheels on macOS. (#1961) +- ⚠️ Changes the minimum version of Docker/Podman to Docker API version 1.43, Podman API version 3. The only mainstream runner this should affect is Travis Graviton2 runners - if so you can [upgrade your version of Docker](https://github.com/pypa/cibuildwheel/pull/1961#issuecomment-2304060019). (#1961) + + ### v2.20.0 +_4 August 2024_ + - 🌟 CPython 3.13 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.13.0rc1, which is guaranteed to be ABI compatible with the final release. Free-threading is still behind a flag/config option. (#1950) - ✨ Provide a `CIBW_ALLOW_EMPTY` environment variable as an alternative to the command line flag. (#1937) - 🐛 Don't use uv on PyPy3.8 on Windows, it stopped working starting in 0.2.25. Note that PyPy 3.8 is EoL. (#1868) @@ -223,6 +237,8 @@ Changelog ### v2.19.2 +_2 July 2024_ + - 🐛 Update manylinux2014 pins to versions that support past-EoL CentOS 7 mirrors. (#1917) - 🐛 Support `--no-isolation` with `build[uv]` build-frontend. (#1889) - 🛠 Provide attestations for releases at . (#1916) @@ -235,6 +251,8 @@ Changelog ### v2.19.1 +_13 June 2024_ + - 🐛 Don't require setup-python on GHA for Pyodide (#1868) - 🐛 Specify full python path for uv (fixes issue in 0.2.10 & 0.2.11) (#1881) - 🛠 Update for pip 24.1b2 on CPython 3.13. (#1879) @@ -244,6 +262,8 @@ Changelog ### v2.19.0 +_10 June 2024_ + See the [release post](https://iscinumpy.dev/post/cibuildwheel-2-19-0/) for more info on new features! - 🌟 Add Pyodide platform. Set with `--platform pyodide` or `CIBW_PLATFORM: pyodide` on Linux with a host Python 3.12 to build WebAssembly wheels. Not accepted on PyPI currently, but usable directly in a website using Pyodide, for live docs, etc. (#1456, #1859) @@ -258,19 +278,6 @@ See the [release post](https://iscinumpy.dev/post/cibuildwheel-2-19-0/) for more - 🛠 Single Python tests made more generic. (#1835) - 🛠 Sped up our ci by splitting up emulation tests. (#1839) - - -### v2.18.1 - -- 🌟 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](https://cibuildwheel.pypa.io/en/stable/options/#free-threaded-support) 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) - --- diff --git a/cibuildwheel/__init__.py b/cibuildwheel/__init__.py index d8b567279..9e37d174c 100644 --- a/cibuildwheel/__init__.py +++ b/cibuildwheel/__init__.py @@ -1,3 +1,3 @@ from __future__ import annotations -__version__ = "2.20.0" +__version__ = "2.21.0" diff --git a/docs/changelog.md b/docs/changelog.md index b1a4ecce6..416c11ffc 100644 --- a/docs/changelog.md +++ b/docs/changelog.md @@ -4,8 +4,22 @@ title: Changelog # Changelog +### v2.21.0 + +_13 September 2024_ + +- ⚠️ Update CPython 3.12 to 3.12.6, which changes the macOS minimum deployment target on CPython 3.12 from macOS 10.9 to macOS 10.13 (#1998) +- 🛠 Changes the behaviour when inheriting `config-settings` in TOML overrides - rather than extending each key, which is rarely useful, individual keys will override previously set values. (#1803) +- 🛠 Update CPython 3.13 to 3.13.0rc2 (#1998) +- ✨ Adds support for multiarch OCI images (#1961) +- 🐛 Fixes some bugs building Linux wheels on macOS. (#1961) +- ⚠️ Changes the minimum version of Docker/Podman to Docker API version 1.43, Podman API version 3. The only mainstream runner this should affect is Travis Graviton2 runners - if so you can [upgrade your version of Docker](https://github.com/pypa/cibuildwheel/pull/1961#issuecomment-2304060019). (#1961) + + ### v2.20.0 +_4 August 2024_ + - 🌟 CPython 3.13 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.13.0rc1, which is guaranteed to be ABI compatible with the final release. Free-threading is still behind a flag/config option. (#1950) - ✨ Provide a `CIBW_ALLOW_EMPTY` environment variable as an alternative to the command line flag. (#1937) - 🐛 Don't use uv on PyPy3.8 on Windows, it stopped working starting in 0.2.25. Note that PyPy 3.8 is EoL. (#1868) @@ -16,6 +30,8 @@ title: Changelog ### v2.19.2 +_2 July 2024_ + - 🐛 Update manylinux2014 pins to versions that support past-EoL CentOS 7 mirrors. (#1917) - 🐛 Support `--no-isolation` with `build[uv]` build-frontend. (#1889) - 🛠 Provide attestations for releases at . (#1916) @@ -28,6 +44,8 @@ title: Changelog ### v2.19.1 +_13 June 2024_ + - 🐛 Don't require setup-python on GHA for Pyodide (#1868) - 🐛 Specify full python path for uv (fixes issue in 0.2.10 & 0.2.11) (#1881) - 🛠 Update for pip 24.1b2 on CPython 3.13. (#1879) @@ -37,6 +55,8 @@ title: Changelog ### v2.19.0 +_10 June 2024_ + See the [release post](https://iscinumpy.dev/post/cibuildwheel-2-19-0/) for more info on new features! - 🌟 Add Pyodide platform. Set with `--platform pyodide` or `CIBW_PLATFORM: pyodide` on Linux with a host Python 3.12 to build WebAssembly wheels. Not accepted on PyPI currently, but usable directly in a website using Pyodide, for live docs, etc. (#1456, #1859) @@ -55,6 +75,8 @@ See the [release post](https://iscinumpy.dev/post/cibuildwheel-2-19-0/) for more ### v2.18.1 +_20 May 2024_ + - 🌟 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](https://cibuildwheel.pypa.io/en/stable/options/#free-threaded-support) for more information. (#1831) - ✨ The `container-engine` is now a build (non-global) option. (#1792) - 🛠 The build backend for cibuildwheel is now hatchling. (#1297) diff --git a/docs/faq.md b/docs/faq.md index 874f458a7..29774e1f4 100644 --- a/docs/faq.md +++ b/docs/faq.md @@ -142,7 +142,7 @@ There are two suggested methods for keeping cibuildwheel up to date that instead If you use GitHub Actions for builds, you can use cibuildwheel as an action: ```yaml -uses: pypa/cibuildwheel@v2.20.0 +uses: pypa/cibuildwheel@v2.21.0 ``` This is a composite step that just runs cibuildwheel using pipx. You can set command-line options as `with:` parameters, and use `env:` as normal. @@ -164,7 +164,7 @@ The second option, and the only one that supports other CI systems, is using a ` ```bash # requirements-cibw.txt -cibuildwheel==2.20.0 +cibuildwheel==2.21.0 ``` Then your install step would have `python -m pip install -r requirements-cibw.txt` in it. Your `.github/dependabot.yml` file could look like this: @@ -328,7 +328,7 @@ Solutions to this vary, but the simplest is to use pipx: # most runners have pipx preinstalled, but in case you don't python3 -m pip install pipx -pipx run cibuildwheel==2.20.0 --output-dir wheelhouse +pipx run cibuildwheel==2.21.0 --output-dir wheelhouse pipx run twine upload wheelhouse/*.whl ``` diff --git a/docs/setup.md b/docs/setup.md index 759df601d..ce9031914 100644 --- a/docs/setup.md +++ b/docs/setup.md @@ -161,7 +161,7 @@ To build Linux, Mac, and Windows wheels using GitHub Actions, create a `.github/ - uses: actions/checkout@v4 - name: Build wheels - run: pipx run cibuildwheel==2.20.0 + run: pipx run cibuildwheel==2.21.0 - uses: actions/upload-artifact@v4 with: @@ -198,7 +198,7 @@ To build Linux, Mac, and Windows wheels using GitHub Actions, create a `.github/ - uses: actions/setup-python@v5 - name: Install cibuildwheel - run: python -m pip install cibuildwheel==2.20.0 + run: python -m pip install cibuildwheel==2.21.0 - name: Build wheels run: python -m cibuildwheel --output-dir wheelhouse diff --git a/examples/appveyor-minimal.yml b/examples/appveyor-minimal.yml index ddb13ec93..dba718d94 100644 --- a/examples/appveyor-minimal.yml +++ b/examples/appveyor-minimal.yml @@ -9,7 +9,7 @@ environment: stack: python 3.12 -install: python -m pip install cibuildwheel==2.20.0 +install: python -m pip install cibuildwheel==2.21.0 build_script: python -m cibuildwheel --output-dir wheelhouse diff --git a/examples/azure-pipelines-minimal.yml b/examples/azure-pipelines-minimal.yml index 3f0b79dd8..8a027eb27 100644 --- a/examples/azure-pipelines-minimal.yml +++ b/examples/azure-pipelines-minimal.yml @@ -6,7 +6,7 @@ jobs: - bash: | set -o errexit python3 -m pip install --upgrade pip - pip3 install cibuildwheel==2.20.0 + pip3 install cibuildwheel==2.21.0 displayName: Install dependencies - bash: cibuildwheel --output-dir wheelhouse . displayName: Build wheels @@ -20,7 +20,7 @@ jobs: - bash: | set -o errexit python3 -m pip install --upgrade pip - python3 -m pip install cibuildwheel==2.20.0 + python3 -m pip install cibuildwheel==2.21.0 displayName: Install dependencies - bash: cibuildwheel --output-dir wheelhouse . displayName: Build wheels @@ -34,7 +34,7 @@ jobs: - bash: | set -o errexit python -m pip install --upgrade pip - pip install cibuildwheel==2.20.0 + pip install cibuildwheel==2.21.0 displayName: Install dependencies - bash: cibuildwheel --output-dir wheelhouse . displayName: Build wheels diff --git a/examples/circleci-minimal.yml b/examples/circleci-minimal.yml index ae2c76716..040079ca2 100644 --- a/examples/circleci-minimal.yml +++ b/examples/circleci-minimal.yml @@ -11,7 +11,7 @@ jobs: - run: name: Build the Linux wheels. command: | - python3 -m pip install --user cibuildwheel==2.20.0 + python3 -m pip install --user cibuildwheel==2.21.0 cibuildwheel --output-dir wheelhouse - store_artifacts: path: wheelhouse/ @@ -28,7 +28,7 @@ jobs: - run: name: Build the Linux aarch64 wheels. command: | - python3 -m pip install --user cibuildwheel==2.20.0 + python3 -m pip install --user cibuildwheel==2.21.0 python3 -m cibuildwheel --output-dir wheelhouse - store_artifacts: path: wheelhouse/ @@ -44,7 +44,7 @@ jobs: name: Build the OS X wheels. command: | sudo softwareupdate --install-rosetta --agree-to-license # for python<=3.8 or x86_64/universal2 tests - pip3 install cibuildwheel==2.20.0 + pip3 install cibuildwheel==2.21.0 cibuildwheel --output-dir wheelhouse - store_artifacts: path: wheelhouse/ diff --git a/examples/cirrus-ci-intel-mac.yml b/examples/cirrus-ci-intel-mac.yml index 7f8d7974b..d8b4c5a6f 100644 --- a/examples/cirrus-ci-intel-mac.yml +++ b/examples/cirrus-ci-intel-mac.yml @@ -1,6 +1,6 @@ build_and_store_wheels: &BUILD_AND_STORE_WHEELS install_cibuildwheel_script: - - python -m pip install cibuildwheel==2.20.0 + - python -m pip install cibuildwheel==2.21.0 run_cibuildwheel_script: - cibuildwheel wheels_artifacts: diff --git a/examples/cirrus-ci-minimal.yml b/examples/cirrus-ci-minimal.yml index e444f0bed..5e35619c2 100644 --- a/examples/cirrus-ci-minimal.yml +++ b/examples/cirrus-ci-minimal.yml @@ -1,6 +1,6 @@ build_and_store_wheels: &BUILD_AND_STORE_WHEELS install_cibuildwheel_script: - - python -m pip install cibuildwheel==2.20.0 + - python -m pip install cibuildwheel==2.21.0 run_cibuildwheel_script: - cibuildwheel wheels_artifacts: diff --git a/examples/github-deploy.yml b/examples/github-deploy.yml index ad15dc6ce..1e42f62d0 100644 --- a/examples/github-deploy.yml +++ b/examples/github-deploy.yml @@ -23,7 +23,7 @@ jobs: - uses: actions/checkout@v4 - name: Build wheels - uses: pypa/cibuildwheel@v2.20.0 + uses: pypa/cibuildwheel@v2.21.0 - uses: actions/upload-artifact@v4 with: diff --git a/examples/github-minimal.yml b/examples/github-minimal.yml index 94413cd1d..bfdcde3b0 100644 --- a/examples/github-minimal.yml +++ b/examples/github-minimal.yml @@ -15,7 +15,7 @@ jobs: - uses: actions/checkout@v4 - name: Build wheels - uses: pypa/cibuildwheel@v2.20.0 + uses: pypa/cibuildwheel@v2.21.0 # env: # CIBW_SOME_OPTION: value # ... diff --git a/examples/github-with-qemu.yml b/examples/github-with-qemu.yml index c16c9a30b..6ff955ecf 100644 --- a/examples/github-with-qemu.yml +++ b/examples/github-with-qemu.yml @@ -21,7 +21,7 @@ jobs: platforms: all - name: Build wheels - uses: pypa/cibuildwheel@v2.20.0 + uses: pypa/cibuildwheel@v2.21.0 env: # configure cibuildwheel to build native archs ('auto'), and some # emulated ones diff --git a/examples/gitlab-minimal.yml b/examples/gitlab-minimal.yml index d96b3faa1..b257cb56e 100644 --- a/examples/gitlab-minimal.yml +++ b/examples/gitlab-minimal.yml @@ -12,7 +12,7 @@ linux: DOCKER_TLS_CERTDIR: "" script: - curl -sSL https://get.docker.com/ | sh - - python -m pip install cibuildwheel==2.20.0 + - python -m pip install cibuildwheel==2.21.0 - cibuildwheel --output-dir wheelhouse artifacts: paths: @@ -23,7 +23,7 @@ windows: before_script: - choco install python -y --version 3.12.4 - choco install git.install -y - - py -m pip install cibuildwheel==2.20.0 + - py -m pip install cibuildwheel==2.21.0 script: - py -m cibuildwheel --output-dir wheelhouse --platform windows artifacts: @@ -35,7 +35,7 @@ windows: macos: image: macos-14-xcode-15 before_script: - - python3 -m pip install cibuildwheel==2.20.0 + - python3 -m pip install cibuildwheel==2.21.0 script: - python3 -m cibuildwheel --output-dir wheelhouse artifacts: diff --git a/examples/gitlab-with-qemu.yml b/examples/gitlab-with-qemu.yml index b6804f908..84c51dfbf 100644 --- a/examples/gitlab-with-qemu.yml +++ b/examples/gitlab-with-qemu.yml @@ -14,7 +14,7 @@ linux: - curl -sSL https://get.docker.com/ | sh # Warning: This is extremely slow, be careful with how many wheels you build - docker run --rm --privileged multiarch/qemu-user-static --reset -p yes - - python -m pip install cibuildwheel==2.20.0 + - python -m pip install cibuildwheel==2.21.0 # Assuming your CI runner's default architecture is x86_64... - cibuildwheel --output-dir wheelhouse --platform linux --archs aarch64 artifacts: diff --git a/examples/travis-ci-deploy.yml b/examples/travis-ci-deploy.yml index 14c928ad1..be3acca63 100644 --- a/examples/travis-ci-deploy.yml +++ b/examples/travis-ci-deploy.yml @@ -20,7 +20,7 @@ jobs: - ln -s /c/Python312/python.exe /c/Python312/python3.exe install: - - python3 -m pip install cibuildwheel==2.20.0 + - python3 -m pip install cibuildwheel==2.21.0 script: # build the wheels, put them into './dist' diff --git a/examples/travis-ci-minimal.yml b/examples/travis-ci-minimal.yml index 5a8b06de9..ce2357b77 100644 --- a/examples/travis-ci-minimal.yml +++ b/examples/travis-ci-minimal.yml @@ -26,7 +26,7 @@ jobs: - ln -s /c/Python312/python.exe /c/Python312/python3.exe install: - - python3 -m pip install cibuildwheel==2.20.0 + - python3 -m pip install cibuildwheel==2.21.0 script: # build the wheels, put them into './wheelhouse' diff --git a/examples/travis-ci-test-and-deploy.yml b/examples/travis-ci-test-and-deploy.yml index bebbbaef5..594cf7b49 100644 --- a/examples/travis-ci-test-and-deploy.yml +++ b/examples/travis-ci-test-and-deploy.yml @@ -52,7 +52,7 @@ jobs: - stage: deploy name: Build and deploy Linux wheels services: docker - install: python3 -m pip install cibuildwheel==2.20.0 twine + install: python3 -m pip install cibuildwheel==2.21.0 twine script: python3 -m cibuildwheel --output-dir wheelhouse after_success: python3 -m twine upload --skip-existing wheelhouse/*.whl # Deploy on windows @@ -60,7 +60,7 @@ jobs: name: Build and deploy Windows wheels os: windows language: shell - install: python3 -m pip install cibuildwheel==2.20.0 twine + install: python3 -m pip install cibuildwheel==2.21.0 twine script: python3 -m cibuildwheel --output-dir wheelhouse after_success: python3 -m twine upload --skip-existing wheelhouse/*.whl diff --git a/pyproject.toml b/pyproject.toml index a52eb2bef..9eae66ad7 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -4,7 +4,7 @@ build-backend = "hatchling.build" [project] name = "cibuildwheel" -version = "2.20.0" +version = "2.21.0" description = "Build Python wheels on CI with minimal configuration." readme = "README.md" license = "BSD-2-Clause"