Skip to content

Bump pypa/cibuildwheel from 4.1.1 to 4.2.0 - #13342

Open
dependabot[bot] wants to merge 1 commit into
3.15from
dependabot/github_actions/3.15/pypa/cibuildwheel-4.2.0
Open

Bump pypa/cibuildwheel from 4.1.1 to 4.2.0#13342
dependabot[bot] wants to merge 1 commit into
3.15from
dependabot/github_actions/3.15/pypa/cibuildwheel-4.2.0

Conversation

@dependabot

@dependabot dependabot Bot commented on behalf of github Aug 7, 2026

Copy link
Copy Markdown
Contributor

Bumps pypa/cibuildwheel from 4.1.1 to 4.2.0.

Release notes

Sourced from pypa/cibuildwheel's releases.

v4.2.0

  • 🌟 CPython 3.15 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.15.0rc1, which is guaranteed to be ABI compatible with the final release. (#2944)
  • ✨ Adds Pyodide 3.15 support with the cp315-pyodide_wasm32 build identifier, using Pyodide 315.0.0a2. These are also stable wrt. the final release. (#2958)
  • 🐛 Retries a failed download six times with exponential backoff, so short network outages no longer stop a build. A 4xx response is still reported at once. (#2953)
  • 🐛 Accepts default as a build-frontend value on Pyodide, and accepts pyodide-build in the top-level table and in overrides (#2951)
  • 🛠 Holds pip back on GraalPy, where newer pip breaks the build (#2955)
  • 🛠 Updates Pyodide to 314.0.4 (#2949, #2952)
  • 🛠 Updates dependencies and container pins (#2952, #2960)
  • 💼 Updates CI action pins (#2948, #2954)
  • 🧪 Uses pp311 for the abi3 test, and deletes test_overridden_pip_constraint, which is not necessary since #2583 (#2956, #2957)
Changelog

Sourced from pypa/cibuildwheel's changelog.

v4.2.0

4 August 2026

  • 🌟 CPython 3.15 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.15.0rc1, which is guaranteed to be ABI compatible with the final release. (#2944)
  • ✨ Adds Pyodide 3.15 support with the cp315-pyodide_wasm32 build identifier, using Pyodide 315.0.0a2. These are also stable wrt. the final release. (#2958)
  • 🐛 Retries a failed download six times with exponential backoff, so short network outages no longer stop a build. A 4xx response is still reported at once. (#2953)
  • 🐛 Accepts default as a build-frontend value on Pyodide, and accepts pyodide-build in the top-level table and in overrides (#2951)
  • 🛠 Holds pip back on GraalPy, where newer pip breaks the build (#2955)
  • 🛠 Updates Pyodide to 314.0.4 (#2949, #2952)
  • 🛠 Updates dependencies and container pins (#2952, #2960)
  • 💼 Updates CI action pins (#2948, #2954)
  • 🧪 Uses pp311 for the abi3 test, and deletes test_overridden_pip_constraint, which is not necessary since #2583 (#2956, #2957)
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 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 4.1.1 to 4.2.0.
- [Release notes](https://github.com/pypa/cibuildwheel/releases)
- [Changelog](https://github.com/pypa/cibuildwheel/blob/main/docs/changelog.md)
- [Commits](pypa/cibuildwheel@v4.1.1...v4.2.0)

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

Signed-off-by: dependabot[bot] <support@github.com>
@dependabot dependabot Bot added the dependencies Pull requests that update a dependency file label Aug 7, 2026
@dependabot
dependabot Bot requested a review from webknjaz as a code owner August 7, 2026 10:37
@github-actions
github-actions Bot enabled auto-merge (squash) August 7, 2026 10:38
@codecov

codecov Bot commented Aug 7, 2026

Copy link
Copy Markdown

❌ 1 Tests Failed:

Tests completed Failed Passed Skipped
4882 1 4881 104
View the top 1 failed test(s) by shortest run time
tests.test_web_functional::test_bad_method_for_c_http_parser_not_hangs[pyloop]
Stack Traces | 0.27s run time
aiohttp_client = <function aiohttp_client.<locals>.go at 0x3335771cf00>

    #x1B[0m#x1B[37m@pytest#x1B[39;49;00m.mark.skipif(#x1B[90m#x1B[39;49;00m
        #x1B[33m"#x1B[39;49;00m#x1B[33mHttpRequestParserC#x1B[39;49;00m#x1B[33m"#x1B[39;49;00m #x1B[95mnot#x1B[39;49;00m #x1B[95min#x1B[39;49;00m #x1B[96mdir#x1B[39;49;00m(aiohttp.http_parser),#x1B[90m#x1B[39;49;00m
        reason=#x1B[33m"#x1B[39;49;00m#x1B[33mC based HTTP parser not available#x1B[39;49;00m#x1B[33m"#x1B[39;49;00m,#x1B[90m#x1B[39;49;00m
    )#x1B[90m#x1B[39;49;00m
    #x1B[94masync#x1B[39;49;00m #x1B[94mdef#x1B[39;49;00m#x1B[90m #x1B[39;49;00m#x1B[92mtest_bad_method_for_c_http_parser_not_hangs#x1B[39;49;00m(aiohttp_client) -> #x1B[94mNone#x1B[39;49;00m:#x1B[90m#x1B[39;49;00m
        app = web.Application()#x1B[90m#x1B[39;49;00m
        timeout = aiohttp.ClientTimeout(sock_read=#x1B[94m0.2#x1B[39;49;00m)#x1B[90m#x1B[39;49;00m
        client = #x1B[94mawait#x1B[39;49;00m aiohttp_client(app, timeout=timeout)#x1B[90m#x1B[39;49;00m
>       resp = #x1B[94mawait#x1B[39;49;00m client.request(#x1B[33m"#x1B[39;49;00m#x1B[33mGET1#x1B[39;49;00m#x1B[33m"#x1B[39;49;00m, #x1B[33m"#x1B[39;49;00m#x1B[33m/#x1B[39;49;00m#x1B[33m"#x1B[39;49;00m)#x1B[90m#x1B[39;49;00m
               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^#x1B[90m#x1B[39;49;00m

aiohttp_client = <function aiohttp_client.<locals>.go at 0x3335771cf00>
app        = <Application 0x33358335210>
client     = <aiohttp.test_utils.TestClient object at 0x33355d02e90>
timeout    = ClientTimeout(total=None, connect=None, sock_read=0.2, sock_connect=None, ceil_threshold=5)

#x1B[1m#x1B[31mtests/test_web_functional.py#x1B[0m:2451: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
#x1B[1m#x1B[31maiohttp/test_utils.py#x1B[0m:347: in _request
    #x1B[0mresp = #x1B[94mawait#x1B[39;49;00m #x1B[96mself#x1B[39;49;00m._session.request(method, #x1B[96mself#x1B[39;49;00m.make_url(path), **kwargs)#x1B[90m#x1B[39;49;00m
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^#x1B[90m#x1B[39;49;00m
        kwargs     = {}
        method     = 'GET1'
        path       = '/'
        self       = <aiohttp.test_utils.TestClient object at 0x33355d02e90>
#x1B[1m#x1B[31maiohttp/client.py#x1B[0m:869: in _request
    #x1B[0mresp = #x1B[94mawait#x1B[39;49;00m handler(req)#x1B[90m#x1B[39;49;00m
           ^^^^^^^^^^^^^^^^^^#x1B[90m#x1B[39;49;00m
        _connect_and_send_request = <function ClientSession._request.<locals>._connect_and_send_request at 0x33357719e40>
        all_cookies = <BaseCookie: >
        allow_redirects = True
        auth       = None
        auth_from_url = None
        auto_decompress = True
        chunked    = None
        compress   = None
        cookies    = None
        data       = None
        effective_middlewares = ()
        expect100  = False
        fingerprint = None
        handle     = None
        handler    = <function ClientSession._request.<locals>._connect_and_send_request at 0x33357719e40>
        headers    = <CIMultiDict()>
        history    = []
        json       = None
        max_field_size = 8190
        max_headers = 128
        max_line_size = 8190
        max_redirects = 10
        method     = 'GET1'
        middlewares = None
        params     = {}
        proxy      = None
        proxy_     = None
        proxy_auth = None
        proxy_headers = None
        raise_for_status = None
        read_bufsize = 262144
        read_until_eof = True
        real_timeout = ClientTimeout(total=None, connect=None, sock_read=0.2, sock_connect=None, ceil_threshold=5)
        redirects  = 0
        req        = <aiohttp.client_reqrep.ClientRequest object at 0x33358ee8c10>
        retry_persistent_connection = False
        self       = <aiohttp.client.ClientSession object at 0x333642de890>
        server_hostname = None
        skip_auto_headers = None
        skip_headers = None
        ssl        = True
        ssl_context = None
        str_or_url = URL('http://127.0.0.1:41331/')
        timeout    = <_SENTINEL.sentinel: 1>
        timer      = <aiohttp.helpers.TimerNoop object at 0x3334e7f02e0>
        tm         = <aiohttp.helpers.TimeoutHandle object at 0x3335c5a1e40>
        trace_request_ctx = None
        traces     = []
        url        = URL('http://127.0.0.1:41331/')
        verify_ssl = None
        version    = HttpVersion(major=1, minor=1)
#x1B[1m#x1B[31maiohttp/client.py#x1B[0m:847: in _connect_and_send_request
    #x1B[0m#x1B[94mawait#x1B[39;49;00m resp.start(conn)#x1B[90m#x1B[39;49;00m
        auto_decompress = True
        conn       = Connection<ConnectionKey(host='127.0.0.1', port=41331, is_ssl=False, ssl=True, proxy=None, proxy_auth=None, proxy_headers_hash=None, server_hostname=None)>
        max_field_size = 8190
        max_headers = 128
        max_line_size = 8190
        read_bufsize = 262144
        read_until_eof = True
        real_timeout = ClientTimeout(total=None, connect=None, sock_read=0.2, sock_connect=None, ceil_threshold=5)
        req        = <aiohttp.client_reqrep.ClientRequest object at 0x33358ee8c10>
        resp       = <ClientResponse(http://127.0.0.1:41331/) [None None]>
None

        self       = <aiohttp.client.ClientSession object at 0x333642de890>
        timer      = <aiohttp.helpers.TimerNoop object at 0x3334e7f02e0>
        traces     = []
#x1B[1m#x1B[31maiohttp/client_reqrep.py#x1B[0m:560: in start
    #x1B[0mmessage, payload = #x1B[94mawait#x1B[39;49;00m protocol.read()  #x1B[90m# type: ignore[union-attr]#x1B[39;49;00m#x1B[90m#x1B[39;49;00m
                       ^^^^^^^^^^^^^^^^^^^^^#x1B[90m#x1B[39;49;00m
        connection = Connection<ConnectionKey(host='127.0.0.1', port=41331, is_ssl=False, ssl=True, proxy=None, proxy_auth=None, proxy_headers_hash=None, server_hostname=None)>
        protocol   = <aiohttp.client_proto.ResponseHandler object at 0x33358eee890>
        self       = <ClientResponse(http://127.0.0.1:41331/) [None None]>
None

_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

self = <aiohttp.client_proto.ResponseHandler object at 0x33358eee890>

    #x1B[0m#x1B[94masync#x1B[39;49;00m #x1B[94mdef#x1B[39;49;00m#x1B[90m #x1B[39;49;00m#x1B[92mread#x1B[39;49;00m(#x1B[96mself#x1B[39;49;00m) -> _T:#x1B[90m#x1B[39;49;00m
        #x1B[94mif#x1B[39;49;00m #x1B[95mnot#x1B[39;49;00m #x1B[96mself#x1B[39;49;00m._buffer #x1B[95mand#x1B[39;49;00m #x1B[95mnot#x1B[39;49;00m #x1B[96mself#x1B[39;49;00m._eof:#x1B[90m#x1B[39;49;00m
            #x1B[94massert#x1B[39;49;00m #x1B[95mnot#x1B[39;49;00m #x1B[96mself#x1B[39;49;00m._waiter#x1B[90m#x1B[39;49;00m
            #x1B[96mself#x1B[39;49;00m._waiter = #x1B[96mself#x1B[39;49;00m._loop.create_future()#x1B[90m#x1B[39;49;00m
            #x1B[94mtry#x1B[39;49;00m:#x1B[90m#x1B[39;49;00m
>               #x1B[94mawait#x1B[39;49;00m #x1B[96mself#x1B[39;49;00m._waiter#x1B[90m#x1B[39;49;00m
#x1B[1m#x1B[31mE               aiohttp.client_exceptions.SocketTimeoutError: Timeout on reading data from socket#x1B[0m

self       = <aiohttp.client_proto.ResponseHandler object at 0x33358eee890>

#x1B[1m#x1B[31maiohttp/streams.py#x1B[0m:705: SocketTimeoutError

To view more test analytics, go to the Test Analytics Dashboard
📋 Got 3 mins? Take this short survey to help us improve Test Analytics.

@codspeed-hq

codspeed-hq Bot commented Aug 7, 2026

Copy link
Copy Markdown

Merging this PR will not alter performance

✅ 84 untouched benchmarks
⏩ 86 skipped benchmarks1


Comparing dependabot/github_actions/3.15/pypa/cibuildwheel-4.2.0 (b8678d3) with 3.15 (b9ff891)2

Open in CodSpeed

Footnotes

  1. 86 benchmarks were skipped, so the baseline results were used instead. If they were deleted from the codebase, click here and archive them to remove them from the performance reports.

  2. No successful run was found on 3.15 (ffb8405) during the generation of this report, so b9ff891 was used instead as the comparison base. There might be some changes unrelated to this pull request in this report.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

dependencies Pull requests that update a dependency file

Projects

None yet

Development

Successfully merging this pull request may close these issues.

0 participants