From 294735312765b09d24a2fbec22660ce817587d55 Mon Sep 17 00:00:00 2001 From: Joe Rickerby Date: Fri, 12 Jun 2026 17:02:22 +0100 Subject: [PATCH] Bump version: v4.1.0 --- README.md | 28 ++++++++++++---------------- cibuildwheel/__init__.py | 2 +- docs/changelog.md | 10 ++++++++++ docs/faq.md | 6 +++--- examples/azure-pipelines-minimal.yml | 6 +++--- examples/circleci-minimal.yml | 6 +++--- 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 +- 13 files changed, 41 insertions(+), 35 deletions(-) diff --git a/README.md b/README.md index 26752008..54418777 100644 --- a/README.md +++ b/README.md @@ -98,7 +98,7 @@ jobs: - uses: actions/setup-python@v6 - name: Install cibuildwheel - run: python -m pip install cibuildwheel==4.0.0 + run: python -m pip install cibuildwheel==4.1.0 - name: Build wheels run: python -m cibuildwheel --output-dir wheelhouse @@ -239,6 +239,16 @@ Changelog +### v4.1.0 + +_12 June 2026_ + +- ✨ Updates Pyodide to the final 314.0.0 release, so Pyodide 3.14 wheels now build by default without the `pyodide-prerelease` [`enable`](https://cibuildwheel.pypa.io/en/stable/options/#enable) flag. (#2906) +- 🐛 Raises clear errors when a build produces no wheel, instead of failing later with a confusing message (#2909) +- 🛠 Speeds up CLI startup through lazy imports on Python 3.15 (#2797) +- 📚 Adds an FAQ section on caching cibuildwheel's downloaded tools with `CIBW_CACHE_PATH` (#2842) +- 📚 Documentation improvements: clarifies which shell is used for command options, clarifies environment variable precedence, and fixes a dead Pyodide env info link (#2904, #2905, #2911) + ### v4.0.0 _7 June 2026_ @@ -324,21 +334,7 @@ _5 January 2026_ - 🛠 Update dependencies and container pins, including updating to CPython 3.14.2. (#2708) -### v3.3.0 - -_12 November 2025_ - -- 🐛 Fix an incompatibility with Docker v29 (#2660) -- ✨ Adds `test-runtime` option, to customise how tests on simulated/emulated environments are run (#2636) -- ✨ Adds support for new `manylinux_2_35` images on 32-bit ARM `armv7l`, offering better C++20 compatibility (#2656) -- ✨ `build[uv]` is now supported on Android (#2587) -- ✨ You can now install extras (such as `uv`) with a simple option on the GitHub Action (#2630) -- ✨ `{project}` and `{package}` placeholders are now supported in `repair-wheel-command` (#2589) -- 🛠 The versions set with `dependency-versions` no longer constrain packages specified by your `build-system.requires`. Previously, on platforms other than Linux, the constraints in this option would remain in the environment during the build. This has been tidied up make behaviour more consistent between platforms, and to prevent version conflicts. (#2583) -- 🛠 Improve the handling of `test-command` on Android, enabling more options to be passed (#2590) -- 📚 Docs improvements (#2618) - - + --- diff --git a/cibuildwheel/__init__.py b/cibuildwheel/__init__.py index ce1305bf..70397087 100644 --- a/cibuildwheel/__init__.py +++ b/cibuildwheel/__init__.py @@ -1 +1 @@ -__version__ = "4.0.0" +__version__ = "4.1.0" diff --git a/docs/changelog.md b/docs/changelog.md index 13e50dce..1191a107 100644 --- a/docs/changelog.md +++ b/docs/changelog.md @@ -5,6 +5,16 @@ ref: changelog # Changelog +### v4.1.0 + +_12 June 2026_ + +- ✨ Updates Pyodide to the final 314.0.0 release, so Pyodide 3.14 wheels now build by default without the `pyodide-prerelease` [`enable`](https://cibuildwheel.pypa.io/en/stable/options/#enable) flag. (#2906) +- 🐛 Raises clear errors when a build produces no wheel, instead of failing later with a confusing message (#2909) +- 🛠 Speeds up CLI startup through lazy imports on Python 3.15 (#2797) +- 📚 Adds an FAQ section on caching cibuildwheel's downloaded tools with `CIBW_CACHE_PATH` (#2842) +- 📚 Documentation improvements: clarifies which shell is used for command options, clarifies environment variable precedence, and fixes a dead Pyodide env info link (#2904, #2905, #2911) + ### v4.0.0 _7 June 2026_ diff --git a/docs/faq.md b/docs/faq.md index 30809490..84f3bd7f 100644 --- a/docs/faq.md +++ b/docs/faq.md @@ -158,7 +158,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@v4.0.0 +uses: pypa/cibuildwheel@v4.1.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. @@ -183,7 +183,7 @@ The second option, and the only one that supports other CI systems, is using a ` ```bash # requirements-cibw.txt -cibuildwheel==4.0.0 +cibuildwheel==4.1.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: @@ -402,7 +402,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==4.0.0 --output-dir wheelhouse +pipx run cibuildwheel==4.1.0 --output-dir wheelhouse pipx run twine upload wheelhouse/*.whl ``` diff --git a/examples/azure-pipelines-minimal.yml b/examples/azure-pipelines-minimal.yml index 58b0f392..8f9e1377 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==4.0.0 + pip3 install cibuildwheel==4.1.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==4.0.0 + python3 -m pip install cibuildwheel==4.1.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==4.0.0 + pip install cibuildwheel==4.1.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 885444cb..34803e09 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==4.0.0 + python3 -m pip install --user cibuildwheel==4.1.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==4.0.0 + python3 -m pip install --user cibuildwheel==4.1.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 x86_64/universal2 tests - pip3 install cibuildwheel==4.0.0 + pip3 install cibuildwheel==4.1.0 cibuildwheel --output-dir wheelhouse - store_artifacts: path: wheelhouse/ diff --git a/examples/github-deploy.yml b/examples/github-deploy.yml index 722059b4..f076c5c1 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@v4.0.0 + uses: pypa/cibuildwheel@v4.1.0 env: CIBW_PLATFORM: ${{ matrix.platform || 'auto' }} CIBW_ARCHS: ${{ matrix.archs || 'auto' }} diff --git a/examples/github-minimal.yml b/examples/github-minimal.yml index d4ef24e7..2184393b 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@v4.0.0 + uses: pypa/cibuildwheel@v4.1.0 # env: # CIBW_SOME_OPTION: value # ... diff --git a/examples/github-pipx.yml b/examples/github-pipx.yml index 23102dba..a9786952 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==4.0.0 + run: pipx run cibuildwheel==4.1.0 - uses: actions/upload-artifact@v4 with: diff --git a/examples/github-with-qemu.yml b/examples/github-with-qemu.yml index 135af460..28d69750 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@v4.0.0 + uses: pypa/cibuildwheel@v4.1.0 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 406f7f45..655f0b4f 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==4.0.0 + - python -m pip install cibuildwheel==4.1.0 - 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==4.0.0 + - py -m pip install cibuildwheel==4.1.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==4.0.0 + - python3 -m pip install cibuildwheel==4.1.0 script: - python3 -m cibuildwheel --output-dir wheelhouse artifacts: diff --git a/examples/gitlab-with-qemu.yml b/examples/gitlab-with-qemu.yml index 8c67063d..65744895 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==4.0.0 + - python -m pip install cibuildwheel==4.1.0 # 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 6b499a9c..b0c881c3 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -4,7 +4,7 @@ build-backend = "hatchling.build" [project] name = "cibuildwheel" -version = "4.0.0" +version = "4.1.0" description = "Build Python wheels on CI with minimal configuration." readme = "README.md" license = "BSD-2-Clause"