From 8d2b08b68458a16aeb24b64e68a09ab1c8e82084 Mon Sep 17 00:00:00 2001 From: Joe Rickerby Date: Thu, 2 Apr 2026 14:57:41 +0100 Subject: [PATCH] Bump version: v3.4.1 --- README.md | 25 ++++++++++++------------- cibuildwheel/__init__.py | 2 +- docs/changelog.md | 10 ++++++++++ docs/faq.md | 6 +++--- examples/azure-pipelines-minimal.yml | 6 +++--- examples/circleci-minimal.yml | 6 +++--- examples/cirrus-ci-intel-mac.yml | 2 +- examples/cirrus-ci-minimal.yml | 2 +- examples/github-deploy.yml | 2 +- examples/github-minimal.yml | 2 +- examples/github-pipx.yml | 2 +- examples/github-with-qemu.yml | 2 +- examples/gitlab-minimal.yml | 6 +++--- examples/gitlab-with-qemu.yml | 2 +- pyproject.toml | 2 +- 15 files changed, 43 insertions(+), 34 deletions(-) diff --git a/README.md b/README.md index 84466c19..04359b4c 100644 --- a/README.md +++ b/README.md @@ -99,7 +99,7 @@ jobs: - uses: actions/setup-python@v6 - name: Install cibuildwheel - run: python -m pip install cibuildwheel==3.4.0 + run: python -m pip install cibuildwheel==3.4.1 - name: Build wheels run: python -m cibuildwheel --output-dir wheelhouse @@ -235,6 +235,16 @@ Changelog +### v3.4.1 + +_2 April 2026_ + +- ⚠️ Building for the experimental CPython 3.13 free-threading variant is now deprecated. That functionality will be removed in the next minor release. The [`enable`](https://cibuildwheel.pypa.io/en/stable/options/#enable) option `cpython-freethreading` is therefore also deprecated. Builds specifying `enable = "all"` no longer select `cpython-freethreading`. CPython 3.14 free-threading support remains available without the `enable` flag. (#2787) +- 🐛 iOS builds will no longer skip `repair-wheel-command` if it's defined in config (#2761) +- 🐛 Fix bug causing `uv` to fail when environments define PYTHON_VERSION or UV_PYTHON, conflicting with our venvs (#2795) +- ✨ cibuildwheel prints the selected build identifiers at the start of the build. (#2785) +- 🔐 The GitHub Action now references other actions with a full SHA (#2744) + ### v3.4.0 _5 March 2026_ @@ -274,18 +284,7 @@ _12 October 2025_ - 🐛 Fix the default MACOSX_DEPLOYMENT_TARGET on Python 3.14 (#2613) - 📚 Docs improvements (#2617) -### v3.2.0 - -_22 September 2025_ - -- ✨ Adds GraalPy v25 (Python 3.12) support (#2597) -- 🛠 Update to CPython 3.14.0rc3 (#2602) -- 🛠 Adds CPython 3.14.0 prerelease support for Android, and a number of improvements to Android builds (#2568, #2591) -- 🛠 Improvements to testing on Android, passing environment markers when installing the venv, and providing more debug output when build-verbosity is set (#2575) -- ⚠️ PyPy 3.10 was moved to `pypy-eol` in the `enable` option, as it is now end-of-life. (#2521) -- 📚 Docs improvements (#2574, #2601, #2598) - - + --- diff --git a/cibuildwheel/__init__.py b/cibuildwheel/__init__.py index 903a158a..a5cfdf59 100644 --- a/cibuildwheel/__init__.py +++ b/cibuildwheel/__init__.py @@ -1 +1 @@ -__version__ = "3.4.0" +__version__ = "3.4.1" diff --git a/docs/changelog.md b/docs/changelog.md index caed4f4b..73715afa 100644 --- a/docs/changelog.md +++ b/docs/changelog.md @@ -4,6 +4,16 @@ title: Changelog # Changelog +### v3.4.1 + +_2 April 2026_ + +- ⚠️ Building for the experimental CPython 3.13 free-threading variant is now deprecated. That functionality will be removed in the next minor release. The [`enable`](https://cibuildwheel.pypa.io/en/stable/options/#enable) option `cpython-freethreading` is therefore also deprecated. Builds specifying `enable = "all"` no longer select `cpython-freethreading`. CPython 3.14 free-threading support remains available without the `enable` flag. (#2787) +- 🐛 iOS builds will no longer skip `repair-wheel-command` if it's defined in config (#2761) +- 🐛 Fix bug causing `uv` to fail when environments define PYTHON_VERSION or UV_PYTHON, conflicting with our venvs (#2795) +- ✨ cibuildwheel prints the selected build identifiers at the start of the build. (#2785) +- 🔐 The GitHub Action now references other actions with a full SHA (#2744) + ### v3.4.0 _5 March 2026_ diff --git a/docs/faq.md b/docs/faq.md index a241a13a..db574127 100644 --- a/docs/faq.md +++ b/docs/faq.md @@ -125,7 +125,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@v3.4.0 +uses: pypa/cibuildwheel@v3.4.1 ``` 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. @@ -150,7 +150,7 @@ The second option, and the only one that supports other CI systems, is using a ` ```bash # requirements-cibw.txt -cibuildwheel==3.4.0 +cibuildwheel==3.4.1 ``` 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: @@ -315,7 +315,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==3.4.0 --output-dir wheelhouse +pipx run cibuildwheel==3.4.1 --output-dir wheelhouse pipx run twine upload wheelhouse/*.whl ``` diff --git a/examples/azure-pipelines-minimal.yml b/examples/azure-pipelines-minimal.yml index d05b7e39..d561e189 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==3.4.0 + pip3 install cibuildwheel==3.4.1 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==3.4.0 + python3 -m pip install cibuildwheel==3.4.1 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==3.4.0 + pip install cibuildwheel==3.4.1 displayName: Install dependencies - bash: cibuildwheel --output-dir wheelhouse . displayName: Build wheels diff --git a/examples/circleci-minimal.yml b/examples/circleci-minimal.yml index 1c9f072b..19215082 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==3.4.0 + python3 -m pip install --user cibuildwheel==3.4.1 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==3.4.0 + python3 -m pip install --user cibuildwheel==3.4.1 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==3.4.0 + pip3 install cibuildwheel==3.4.1 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 ada0f17a..d7631a58 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==3.4.0 + - python -m pip install cibuildwheel==3.4.1 run_cibuildwheel_script: - cibuildwheel wheels_artifacts: diff --git a/examples/cirrus-ci-minimal.yml b/examples/cirrus-ci-minimal.yml index 8b191d6d..0a04e435 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==3.4.0 + - python -m pip install cibuildwheel==3.4.1 run_cibuildwheel_script: - cibuildwheel wheels_artifacts: diff --git a/examples/github-deploy.yml b/examples/github-deploy.yml index 1407507d..5e6a5329 100644 --- a/examples/github-deploy.yml +++ b/examples/github-deploy.yml @@ -53,7 +53,7 @@ jobs: persist-credentials: false - name: Build wheels - uses: pypa/cibuildwheel@v3.4.0 + uses: pypa/cibuildwheel@v3.4.1 env: CIBW_PLATFORM: ${{ matrix.platform || 'auto' }} CIBW_ARCHS: ${{ matrix.archs || 'auto' }} diff --git a/examples/github-minimal.yml b/examples/github-minimal.yml index 62522508..a1898770 100644 --- a/examples/github-minimal.yml +++ b/examples/github-minimal.yml @@ -17,7 +17,7 @@ jobs: persist-credentials: false - name: Build wheels - uses: pypa/cibuildwheel@v3.4.0 + uses: pypa/cibuildwheel@v3.4.1 # env: # CIBW_SOME_OPTION: value # ... diff --git a/examples/github-pipx.yml b/examples/github-pipx.yml index 2db7a5b2..29736ea5 100644 --- a/examples/github-pipx.yml +++ b/examples/github-pipx.yml @@ -17,7 +17,7 @@ jobs: persist-credentials: false - name: Build wheels - run: pipx run cibuildwheel==3.4.0 + run: pipx run cibuildwheel==3.4.1 - uses: actions/upload-artifact@v4 with: diff --git a/examples/github-with-qemu.yml b/examples/github-with-qemu.yml index 56d2a9df..ae068658 100644 --- a/examples/github-with-qemu.yml +++ b/examples/github-with-qemu.yml @@ -23,7 +23,7 @@ jobs: platforms: all - name: Build wheels - uses: pypa/cibuildwheel@v3.4.0 + uses: pypa/cibuildwheel@v3.4.1 env: # configure cibuildwheel on Linux to build native archs ('auto'), # and to split the remaining architectures between the x86_64 and diff --git a/examples/gitlab-minimal.yml b/examples/gitlab-minimal.yml index 8361c556..8ab27c04 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==3.4.0 + - python -m pip install cibuildwheel==3.4.1 - cibuildwheel --output-dir wheelhouse artifacts: paths: @@ -23,7 +23,7 @@ windows: before_script: - choco install python -y --allow-downgrade --version 3.12.4 - choco install git.install -y - - py -m pip install cibuildwheel==3.4.0 + - py -m pip install cibuildwheel==3.4.1 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==3.4.0 + - python3 -m pip install cibuildwheel==3.4.1 script: - python3 -m cibuildwheel --output-dir wheelhouse artifacts: diff --git a/examples/gitlab-with-qemu.yml b/examples/gitlab-with-qemu.yml index b1a0ddea..266111b1 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==3.4.0 + - python -m pip install cibuildwheel==3.4.1 # Assuming your CI runner's default architecture is x86_64... - cibuildwheel --output-dir wheelhouse --platform linux --archs aarch64 artifacts: diff --git a/pyproject.toml b/pyproject.toml index dbac2cdc..6315edf9 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -4,7 +4,7 @@ build-backend = "hatchling.build" [project] name = "cibuildwheel" -version = "3.4.0" +version = "3.4.1" description = "Build Python wheels on CI with minimal configuration." readme = "README.md" license = "BSD-2-Clause"