Skip to content

Bump pypa/cibuildwheel from 2.23.3 to 3.1.1 #61981

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merged
merged 4 commits into from
Jul 28, 2025

Conversation

dependabot[bot]
Copy link
Contributor

@dependabot dependabot bot commented on behalf of github Jul 28, 2025

Bumps pypa/cibuildwheel from 2.23.3 to 3.1.1.

Release notes

Sourced from pypa/cibuildwheel's releases.

v3.1.1

  • 🐛 Fix a bug showing an incorrect wheel count at the end of execution, and misrepresenting test-only runs in the GitHub Action summary (#2512)
  • 📚 Docs fix (#2510)

v3.1.0

  • 🌟 CPython 3.14 wheels are now built by default - without the "cpython-prerelease" enable set. It's time to build and upload these wheels to PyPI! This release includes CPython 3.14.0rc1, which is guaranteed to be ABI compatible with the final release. (#2507) Free-threading is no longer experimental in 3.14, so you have to skip it explicitly with 'cp31?t-*' if you don't support it yet. (#2503)
  • 🌟 Adds the ability to build wheels for Android! Set the platform option to android on Linux or macOS to try it out! (#2349)
  • 🌟 Adds Pyodide 0.28, which builds 3.13 wheels (#2487)
  • ✨ Support for 32-bit manylinux_2_28 (now a consistent default) and manylinux_2_34 added (#2500)
  • 🛠 Improved summary, will also use markdown summary output on GHA (#2469)
  • 🛠 The riscv64 images now have a working default (as they are now part of pypy/manylinux), but are still experimental (and behind an enable) since you can't push them to PyPI yet (#2506)
  • 🛠 Fixed a typo in the 3.9 MUSL riscv64 identifier (cp39-musllinux_ricv64 -> cp39-musllinux_riscv64) (#2490)
  • 🛠 Mistyping --only now shows the correct possibilities, and even suggests near matches on Python 3.14+ (#2499)
  • 🛠 Only support one output from the repair step on linux like other platforms; auditwheel fixed this over four years ago! (#2478)
  • 🛠 We now use pattern matching extensively (#2434)
  • 📚 We now have platform maintainers for our special platforms and interpreters! (#2481)

v3.0.1

  • 🛠 Updates CPython 3.14 prerelease to 3.14.0b3 (#2471)
  • ✨ Adds a CPython 3.14 prerelease iOS build (only when prerelease builds are enabled) (#2475)

v3.0.0

See @​henryiii's release post for more info on new features!

  • 🌟 Adds the ability to build wheels for iOS! Set the platform option to ios on a Mac with the iOS toolchain to try it out! (#2286, #2363, #2432)

  • 🌟 Adds support for the GraalPy interpreter! Enable for your project using the enable option. (#1538, #2411, #2414)

  • ✨ Adds CPython 3.14 support, under the enable option cpython-prerelease. This version of cibuildwheel uses 3.14.0b2. (#2390)

    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.14 will be available in cibuildwheel without the flag. (#2390)

  • ✨ Adds the test-sources option, and changes the working directory for tests. (#2062, #2284, #2437)

    • If this option is set, cibuildwheel will copy the files and folders specified in test-sources into the temporary directory we run from. This is required for iOS builds, but also useful for other platforms, as it allows you to avoid placeholders.
    • If this option is not set, behaviour matches v2.x - cibuildwheel will run the tests from a temporary directory, and you can use the {project} placeholder in the test-command to refer to the project directory. (#2420)
  • ✨ Adds dependency-versions inline syntax (#2122)

  • ✨ Improves support for Pyodide builds and adds the experimental pyodide-version option, which allows you to specify the version of Pyodide to use for builds. (#2002)

  • ✨ Add pyodide-prerelease enable option, with an early build of 0.28 (Python 3.13). (#2431)

  • ✨ Adds the test-environment option, which allows you to set environment variables for the test command. (#2388)

  • ✨ Adds the xbuild-tools option, which allows you to specify tools safe for cross-compilation. Currently only used on iOS; will be useful for Android in the future. (#2317)

  • 🛠 The default manylinux image has changed from manylinux2014 to manylinux_2_28. (#2330)

  • 🛠 EOL images manylinux1, manylinux2010, manylinux_2_24 and musllinux_1_1 can no longer be specified by their shortname. The full OCI name can still be used for these images, if you wish. (#2316)

  • 🛠 Invokes build rather than pip wheel to build wheels by default. You can control this via the build-frontend option. You might notice that you can see your build log output now! (#2321)

  • 🛠 Build verbosity settings have been reworked to have consistent meanings between build backends when non-zero. (#2339)

  • 🛠 Removed the CIBW_PRERELEASE_PYTHONS and CIBW_FREE_THREADED_SUPPORT options - these have been folded into the enable option instead. (#2095)

  • 🛠 Build environments no longer have setuptools and wheel preinstalled. (#2329)

  • 🛠 Use the standard Schema line for the integrated JSONSchema. (#2433)

  • ⚠️ Dropped support for building Python 3.6 and 3.7 wheels. If you need to build wheels for these versions, use cibuildwheel v2.23.3 or earlier. (#2282)

  • ⚠️ The minimum Python version required to run cibuildwheel is now Python 3.11. You can still build wheels for Python 3.8 and newer. (#1912)

  • ⚠️ 32-bit Linux wheels no longer built by default - the arch was removed from "auto". It now requires explicit "auto32". Note that modern manylinux images (like the new default, manylinux_2_28) do not have 32-bit versions. (#2458)

  • ⚠️ PyPy wheels no longer built by default, due to a change to our options system. To continue building PyPy wheels, you'll now need to set the enable option to pypy or pypy-eol. (#2095)

... (truncated)

Changelog

Sourced from pypa/cibuildwheel's changelog.

v3.1.1

24 July 2025

  • 🐛 Fix a bug showing an incorrect wheel count at the end of execution, and misrepresenting test-only runs in the GitHub Action summary (#2512)
  • 📚 Docs fix (#2510)

v3.1.0

23 July 2025

  • 🌟 CPython 3.14 wheels are now built by default - without the "cpython-prerelease" enable set. It's time to build and upload these wheels to PyPI! This release includes CPython 3.14.0rc1, which is guaranteed to be ABI compatible with the final release. (#2507) Free-threading is no longer experimental in 3.14, so you have to skip it explicitly with 'cp31?t-*' if you don't support it yet. (#2503)
  • 🌟 Adds the ability to build wheels for Android! Set the platform option to android on Linux or macOS to try it out! (#2349)
  • 🌟 Adds Pyodide 0.28, which builds 3.13 wheels (#2487)
  • ✨ Support for 32-bit manylinux_2_28 (now a consistent default) and manylinux_2_34 added (#2500)
  • 🛠 Improved summary, will also use markdown summary output on GHA (#2469)
  • 🛠 The riscv64 images now have a working default (as they are now part of pypy/manylinux), but are still experimental (and behind an enable) since you can't push them to PyPI yet (#2506)
  • 🛠 Fixed a typo in the 3.9 MUSL riscv64 identifier (cp39-musllinux_ricv64 -> cp39-musllinux_riscv64) (#2490)
  • 🛠 Mistyping --only now shows the correct possibilities, and even suggests near matches on Python 3.14+ (#2499)
  • 🛠 Only support one output from the repair step on linux like other platforms; auditwheel fixed this over four years ago! (#2478)
  • 🛠 We now use pattern matching extensively (#2434)
  • 📚 We now have platform maintainers for our special platforms and interpreters! (#2481)

v3.0.1

5 July 2025

  • 🛠 Updates CPython 3.14 prerelease to 3.14.0b3 (#2471)
  • ✨ Adds a CPython 3.14 prerelease iOS build (only when prerelease builds are enabled) (#2475)

v3.0.0

11 June 2025

See @​henryiii's release post for more info on new features!

  • 🌟 Adds the ability to build wheels for iOS! Set the platform option to ios on a Mac with the iOS toolchain to try it out! (#2286, #2363, #2432)

  • 🌟 Adds support for the GraalPy interpreter! Enable for your project using the enable option. (#1538, #2411, #2414)

  • ✨ Adds CPython 3.14 support, under the enable option cpython-prerelease. This version of cibuildwheel uses 3.14.0b2. (#2390)

    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.14 will be available in cibuildwheel without the flag. (#2390)

  • ✨ Adds the test-sources option, which copies files and folders into the temporary working directory we run tests from. (#2062, #2284, #2420, #2437)

    This is particularly important for iOS builds, which do not support placeholders in the test-command, but can also be useful for other platforms.

  • ✨ Adds dependency-versions inline syntax (#2122)

... (truncated)

Commits

Dependabot compatibility score

Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


Dependabot commands and options

You can trigger Dependabot actions by commenting on this PR:

  • @dependabot rebase will rebase this PR
  • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
  • @dependabot merge will merge this PR after your CI passes on it
  • @dependabot squash and merge will squash and merge this PR after your CI passes on it
  • @dependabot cancel merge will cancel a previously requested merge and block automerging
  • @dependabot reopen will reopen this PR if it is closed
  • @dependabot close will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
  • @dependabot show <dependency name> ignore conditions will show all of the ignore conditions of the specified dependency
  • @dependabot ignore this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
  • @dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
  • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)

Bumps [pypa/cibuildwheel](https://github.com/pypa/cibuildwheel) from 2.23.3 to 3.1.1.
- [Release notes](https://github.com/pypa/cibuildwheel/releases)
- [Changelog](https://github.com/pypa/cibuildwheel/blob/main/docs/changelog.md)
- [Commits](pypa/cibuildwheel@v2.23.3...v3.1.1)

---
updated-dependencies:
- dependency-name: pypa/cibuildwheel
  dependency-version: 3.1.1
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
@dependabot dependabot bot added CI Continuous Integration Dependencies Required and optional dependencies labels Jul 28, 2025
@dependabot dependabot bot requested a review from mroeschke as a code owner July 28, 2025 12:59
@dependabot dependabot bot added CI Continuous Integration Dependencies Required and optional dependencies labels Jul 28, 2025
@mroeschke mroeschke added the Build Library building on various platforms label Jul 28, 2025
@mroeschke mroeschke added this to the 3.0 milestone Jul 28, 2025
@@ -144,7 +144,7 @@ parentdir_prefix = "pandas-"
setup = ['--vsenv'] # For Windows

[tool.cibuildwheel]
skip = "cp36-* cp37-* cp38-* cp39-* pp* *_i686 *_ppc64le *_s390x"
skip = "cp38-* cp39-* *_i686 *_ppc64le *_s390x"
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

For what it's worth cibuildwheel also reads project.requires-python so you shouldn't need to explicitly skip older versions.

Suggested change
skip = "cp38-* cp39-* *_i686 *_ppc64le *_s390x"
skip = "*_i686 *_ppc64le *_s390x"

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Ah cool. Feel free to submit a PR if interested

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

will do !

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

for reference: #61984

@mroeschke mroeschke merged commit bb9e617 into main Jul 28, 2025
105 checks passed
@mroeschke mroeschke deleted the dependabot/github_actions/pypa/cibuildwheel-3.1.1 branch July 28, 2025 19:58
@cdce8p
Copy link
Contributor

cdce8p commented Jul 28, 2025

@mroeschke Could this change be backported to the 2.3.x branch? cibuildwheel 3.1.1 will be a requirement for cp314 wheels.

@mroeschke
Copy link
Member

Just noting that 2.3.x will likely not add additional Python version support as 2.3.x releases are only meant to address regressions and fixes for major pandas 3.0 features.

pandas 3.0 may be the first pandas version to support 3.14

@cdce8p
Copy link
Contributor

cdce8p commented Jul 28, 2025

Just noting that 2.3.x will likely not add additional Python version support as 2.3.x releases are only meant to address regressions and fixes for major pandas 3.0 features.

pandas 3.0 may be the first pandas version to support 3.14

Oh, I've started testing 3.14 for Home Assistant already and the test suite passes, including some (albeit very) limited tests with pandas 2.3.1. Not sure how much effort it will actually take to make it fully compatible, I've seen there is some work in #61950.

Just from a downstream package perspective, in general I prefer it if packages don't couple new Python version support with a new major revision / breaking changes. It just makes upgrading more difficult. I'm aware that's often just the nature of things line up. Just wanted to share my experience.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Build Library building on various platforms CI Continuous Integration Dependencies Required and optional dependencies
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants
pFad - Phonifier reborn

Pfad - The Proxy pFad of © 2024 Garber Painting. All rights reserved.

Note: This service is not intended for secure transactions such as banking, social media, email, or purchasing. Use at your own risk. We assume no liability whatsoever for broken pages.


Alternative Proxies:

Alternative Proxy

pFad Proxy

pFad v3 Proxy

pFad v4 Proxy