Skip to content

Conversation

renovate[bot]
Copy link
Contributor

@renovate renovate bot commented Jun 11, 2025

This PR contains the following updates:

Package Change Age Adoption Passing Confidence
cibuildwheel (changelog) ==2.23.3 -> ==3.0.0 age adoption passing confidence

Release Notes

pypa/cibuildwheel (cibuildwheel)

v3.0.0

Compare Source

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)

  • ⚠️ Dropped official support for Appveyor. If it was working for you before, it will probably continue to do so, but we can't be sure, because our CI doesn't run there anymore. (#​2386)

  • 📚 A reorganisation of the docs, and numerous updates. (#​2280)

  • 📚 Use Python 3.14 color output in docs CLI output. (#​2407)

  • 📚 Docs now primarily use the pyproject.toml name of options, rather than the environment variable name. (#​2389)

  • 📚 README table now matches docs and auto-updates. (#​2427, #​2428)


Configuration

📅 Schedule: Branch creation - On day 3 of the month ( * * 3 * * ) (UTC), Automerge - At any time (no schedule defined).

🚦 Automerge: Disabled by config. Please merge this manually once you are satisfied.

Rebasing: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.

🔕 Ignore: Close this PR and you won't be reminded about this update again.


  • If you want to rebase/retry this PR, check this box

This PR was generated by Mend Renovate. View the repository job log.

@renovate renovate bot added the Dependency label Jun 11, 2025
@radarhere
Copy link
Member

radarhere commented Jun 12, 2025

https://github.com/python-pillow/Pillow/actions/runs/15586033046/job/43928233397?pr=9010#step:7:3763

  DEBUG:   12+  >>>> & "$venv\Scripts\activate.ps1"
  & : The term 'C:\Users\runneradmin\AppData\Local\Temp\cibw-run-ej6ro05u\cp39-wi
  n_amd64\test_cwd\..\venv-test\Scripts\activate.ps1' is not recognized as the 
  name of a cmdlet, function, script file, or operable program. Check the 
  spelling of the name, or if a path was included, verify that the path is 
  correct and try again.
  At C:\pillow\.github\workflows\wheels-test.ps1:12 char:3
  + & "$venv\Scripts\activate.ps1"
  +   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~
      + CategoryInfo          : ObjectNotFound: (C:\Users\runner...ts\activate.p 
     s1:String) [], ParentContainsErrorRecordException
      + FullyQualifiedErrorId : CommandNotFoundException

A simple solution to this error is to use the Python in the virtualenv directly, rather than trying to call the missing activate script. I've pushed a commit.

@renovate
Copy link
Contributor Author

renovate bot commented Jun 12, 2025

Edited/Blocked Notification

Renovate will not automatically rebase this PR, because it does not recognize the last commit author and assumes somebody else may have edited the PR.

You can manually request rebase by checking the rebase/retry box above.

⚠️ Warning: custom changes will be lost.

@hugovk
Copy link
Member

hugovk commented Jun 12, 2025

Are the other failures unrelated? I see there were some re-runs on the main as well: https://github.com/python-pillow/Pillow/actions/runs/15574545505

@radarhere
Copy link
Member

TIFF test failures are a result of #8954 trying to fix a memory leak.

There's a short discussion at #8954 (comment).
#8992 shows that just removing the change causes the leak to reappear.
#9002 is my suggestion for a fix.

@radarhere
Copy link
Member

A simple solution to this error is to use the Python in the virtualenv directly, rather than trying to call the missing activate script. I've pushed a commit.

Hmm, this isn't working for PyPy on Windows AMD64.

@hugovk
Copy link
Member

hugovk commented Jun 12, 2025

The remaining failures are TIFF and unrelated, let's merge this. Thanks!

@hugovk hugovk merged commit 5996dbd into main Jun 12, 2025
91 of 97 checks passed
@renovate renovate bot deleted the renovate/cibuildwheel-3.x branch June 12, 2025 16:14
@radarhere radarhere mentioned this pull request Jun 21, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants