-
-
Notifications
You must be signed in to change notification settings - Fork 1.2k
Run test_requesting_large_resources_via_ssl separately #3181
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
Conversation
b8177d9 to
a6f2149
Compare
sethmlarson
left a comment
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This is excellent and I love the result for CI times! Now I'm inspired to look into the macOS times 🚀
|
Thanks @pquentin, this is a great idea! Based on the following docstring, the library code relevant to the test may work differently in CPython 3.8, 3.9, and in any version with the pyOpenSSL injection. urllib3/src/urllib3/response.py Lines 763 to 767 in f7cd7f3
What do you think about running the test in CPython 3.8, 3.9, and the latest one to make sure that no changes to |
|
Excellent point, thank you. I'm wondering if I should not instead try to monkeypatch the calls that CPython is making to avoid decrypting multiple gigabytes of actual SSL data. If it proves difficult, then I'll run the integration tests on 3.8, 3.9 and latest. How does that sound? |
|
@pquentin I'm curious to see what can be patched to avoid that. IIRC there are three approaches CPython uses in different versions:
They have different consequences for urllib3. Also, when pyOpenSSL is used, the library is responsible for the decryption. |
|
I'm liking the idea to run it on 3.8, 3.9, and latest if only to speed up every other PRs CI time for now? Quite the improvement, would like to take advantage 👀 |
|
I still think the mocking idea could work, but I'd prefer focusing my energy on more useful things! Added 3.8 and 3.9. |
illia-v
left a comment
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Thanks!
[](https://renovatebot.com) This PR contains the following updates: | Package | Change | Age | Adoption | Passing | Confidence | |---|---|---|---|---|---| | [urllib3](https://togithub.com/urllib3/urllib3) ([changelog](https://togithub.com/urllib3/urllib3/blob/main/CHANGES.rst)) | `==2.1.0` -> `==2.2.0` | [](https://docs.renovatebot.com/merge-confidence/) | [](https://docs.renovatebot.com/merge-confidence/) | [](https://docs.renovatebot.com/merge-confidence/) | [](https://docs.renovatebot.com/merge-confidence/) | --- ### Release Notes <details> <summary>urllib3/urllib3 (urllib3)</summary> ### [`v2.2.0`](https://togithub.com/urllib3/urllib3/blob/HEAD/CHANGES.rst#220-2024-01-30) [Compare Source](https://togithub.com/urllib3/urllib3/compare/2.1.0...2.2.0) \================== - Added support for `Emscripten and Pyodide <https://urllib3.readthedocs.io/en/latest/reference/contrib/emscripten.html>`**, including streaming support in cross-origin isolated browser environments where threading is enabled. (`#​2951 <https://github.com/urllib3/urllib3/issues/2951>`**) - Added support for `HTTPResponse.read1()` method. (`#​3186 <https://github.com/urllib3/urllib3/issues/3186>`\__) - Added rudimentary support for HTTP/2. (`#​3284 <https://github.com/urllib3/urllib3/issues/3284>`\__) - Fixed issue where requests against urls with trailing dots were failing due to SSL errors when using proxy. (`#​2244 <https://github.com/urllib3/urllib3/issues/2244>`\__) - Fixed `HTTPConnection.proxy_is_verified` and `HTTPSConnection.proxy_is_verified` to be always set to a boolean after connecting to a proxy. It could be `None` in some cases previously. (`#​3130 <https://github.com/urllib3/urllib3/issues/3130>`\__) - Fixed an issue where `headers` passed in a request with `json=` would be mutated (`#​3203 <https://github.com/urllib3/urllib3/issues/3203>`\__) - Fixed `HTTPSConnection.is_verified` to be set to `False` when connecting from a HTTPS proxy to an HTTP target. It was set to `True` previously. (`#​3267 <https://github.com/urllib3/urllib3/issues/3267>`\__) - Fixed handling of new error message from OpenSSL 3.2.0 when configuring an HTTP proxy as HTTPS (`#​3268 <https://github.com/urllib3/urllib3/issues/3268>`\__) - Fixed TLS 1.3 post-handshake auth when the server certificate validation is disabled (`#​3325 <https://github.com/urllib3/urllib3/issues/3325>`\__) - Note for downstream distributors: To run integration tests, you now need to run the tests a second time with the `--integration` pytest flag. (`#​3181 <https://github.com/urllib3/urllib3/issues/3181>`\__) </details> --- ### Configuration 📅 **Schedule**: Branch creation - At any time (no schedule defined), 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. --- - [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check this box --- This PR has been generated by [Mend Renovate](https://www.mend.io/free-developer-tools/renovate/). View repository job log [here](https://developer.mend.io/github/lettuce-financial/github-bot-signed-commit). <!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzNy4xNTMuMiIsInVwZGF0ZWRJblZlciI6IjM3LjE1My4yIiwidGFyZ2V0QnJhbmNoIjoibWFpbiJ9-->
[](https://renovatebot.com) This PR contains the following updates: | Package | Change | Age | Adoption | Passing | Confidence | |---|---|---|---|---|---| | [urllib3](https://togithub.com/urllib3/urllib3) ([changelog](https://togithub.com/urllib3/urllib3/blob/main/CHANGES.rst)) | `==2.1.0` -> `==2.2.0` | [](https://docs.renovatebot.com/merge-confidence/) | [](https://docs.renovatebot.com/merge-confidence/) | [](https://docs.renovatebot.com/merge-confidence/) | [](https://docs.renovatebot.com/merge-confidence/) | --- ### Release Notes <details> <summary>urllib3/urllib3 (urllib3)</summary> ### [`v2.2.0`](https://togithub.com/urllib3/urllib3/blob/HEAD/CHANGES.rst#220-2024-01-30) [Compare Source](https://togithub.com/urllib3/urllib3/compare/2.1.0...2.2.0) \================== - Added support for `Emscripten and Pyodide <https://urllib3.readthedocs.io/en/latest/reference/contrib/emscripten.html>`**, including streaming support in cross-origin isolated browser environments where threading is enabled. (`#​2951 <https://github.com/urllib3/urllib3/issues/2951>`**) - Added support for `HTTPResponse.read1()` method. (`#​3186 <https://github.com/urllib3/urllib3/issues/3186>`\__) - Added rudimentary support for HTTP/2. (`#​3284 <https://github.com/urllib3/urllib3/issues/3284>`\__) - Fixed issue where requests against urls with trailing dots were failing due to SSL errors when using proxy. (`#​2244 <https://github.com/urllib3/urllib3/issues/2244>`\__) - Fixed `HTTPConnection.proxy_is_verified` and `HTTPSConnection.proxy_is_verified` to be always set to a boolean after connecting to a proxy. It could be `None` in some cases previously. (`#​3130 <https://github.com/urllib3/urllib3/issues/3130>`\__) - Fixed an issue where `headers` passed in a request with `json=` would be mutated (`#​3203 <https://github.com/urllib3/urllib3/issues/3203>`\__) - Fixed `HTTPSConnection.is_verified` to be set to `False` when connecting from a HTTPS proxy to an HTTP target. It was set to `True` previously. (`#​3267 <https://github.com/urllib3/urllib3/issues/3267>`\__) - Fixed handling of new error message from OpenSSL 3.2.0 when configuring an HTTP proxy as HTTPS (`#​3268 <https://github.com/urllib3/urllib3/issues/3268>`\__) - Fixed TLS 1.3 post-handshake auth when the server certificate validation is disabled (`#​3325 <https://github.com/urllib3/urllib3/issues/3325>`\__) - Note for downstream distributors: To run integration tests, you now need to run the tests a second time with the `--integration` pytest flag. (`#​3181 <https://github.com/urllib3/urllib3/issues/3181>`\__) </details> --- ### Configuration 📅 **Schedule**: Branch creation - "after 10pm every weekday,before 6am every weekday" (UTC), Automerge - At any time (no schedule defined). 🚦 **Automerge**: Enabled. ♻ **Rebasing**: Whenever PR is behind base branch, or you tick the rebase/retry checkbox. 🔕 **Ignore**: Close this PR and you won't be reminded about this update again. --- - [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check this box --- This PR has been generated by [Mend Renovate](https://www.mend.io/free-developer-tools/renovate/). View repository job log [here](https://developer.mend.io/github/apereo/cas). <!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzNy4xNTMuMiIsInVwZGF0ZWRJblZlciI6IjM3LjE1My4yIiwidGFyZ2V0QnJhbmNoIjoibWFzdGVyIn0=-->
Bumps [urllib3](https://github.com/urllib3/urllib3) from 2.0.7 to 2.2.0. <details> <summary>Release notes</summary> <p><em>Sourced from <a href="https://github.com/urllib3/urllib3/releases">urllib3's releases</a>.</em></p> <blockquote> <h2>2.2.0</h2> <h2>🖥️ urllib3 now works in the browser</h2> <p>:tada: <strong>This release adds experimental support for <a href="https://urllib3.readthedocs.io/en/stable/reference/contrib/emscripten.html">using urllib3 in the browser with Pyodide</a>!</strong> 🎉</p> <p>Thanks to Joe Marshall (<a href="https://github.com/joemarshall"><code>@joemarshall</code></a>) for contributing this feature. This change was possible thanks to work done in urllib3 v2.0 to detach our API from <code>http.client</code>. Please report all bugs to the <a href="https://github.com/urllib3/urllib3/issues">urllib3 issue tracker</a>.</p> <h2>🚀 urllib3 is fundraising for HTTP/2 support</h2> <p><a href="https://sethmlarson.dev/urllib3-is-fundraising-for-http2-support">urllib3 is raising ~$40,000 USD</a> to release HTTP/2 support and ensure long-term sustainable maintenance of the project after a sharp decline in financial support for 2023. If your company or organization uses Python and would benefit from HTTP/2 support in Requests, pip, cloud SDKs, and thousands of other projects <a href="https://opencollective.com/urllib3">please consider contributing financially</a> to ensure HTTP/2 support is developed sustainably and maintained for the long-haul.</p> <p>Thank you for your support.</p> <h2>Changes</h2> <ul> <li>Added support for <a href="https://urllib3.readthedocs.io/en/latest/reference/contrib/emscripten.html">Emscripten and Pyodide</a>, including streaming support in cross-origin isolated browser environments where threading is enabled. (<a href="https://redirect.github.com/urllib3/urllib3/issues/2951">#2951</a>)</li> <li>Added support for <code>HTTPResponse.read1()</code> method. (<a href="https://redirect.github.com/urllib3/urllib3/issues/3186">#3186</a>)</li> <li>Added rudimentary support for HTTP/2. (<a href="https://redirect.github.com/urllib3/urllib3/issues/3284">#3284</a>)</li> <li>Fixed issue where requests against urls with trailing dots were failing due to SSL errors when using proxy. (<a href="https://redirect.github.com/urllib3/urllib3/issues/2244">#2244</a>)</li> <li>Fixed <code>HTTPConnection.proxy_is_verified</code> and <code>HTTPSConnection.proxy_is_verified</code> to be always set to a boolean after connecting to a proxy. It could be <code>None</code> in some cases previously. (<a href="https://redirect.github.com/urllib3/urllib3/issues/3130">#3130</a>)</li> <li>Fixed an issue where <code>headers</code> passed in a request with <code>json=</code> would be mutated (<a href="https://redirect.github.com/urllib3/urllib3/issues/3203">#3203</a>)</li> <li>Fixed <code>HTTPSConnection.is_verified</code> to be set to <code>False</code> when connecting from a HTTPS proxy to an HTTP target. It was set to <code>True</code> previously. (<a href="https://redirect.github.com/urllib3/urllib3/issues/3267">#3267</a>)</li> <li>Fixed handling of new error message from OpenSSL 3.2.0 when configuring an HTTP proxy as HTTPS (<a href="https://redirect.github.com/urllib3/urllib3/issues/3268">#3268</a>)</li> <li>Fixed TLS 1.3 post-handshake auth when the server certificate validation is disabled (<a href="https://redirect.github.com/urllib3/urllib3/issues/3325">#3325</a>)</li> </ul> <p>Note for downstream distributors: To run integration tests, you now need to run the tests a second time with the <code>--integration</code> pytest flag. (<a href="https://redirect.github.com/urllib3/urllib3/issues/3181">#3181</a>)</p> <h2>2.1.0</h2> <p>Read the <a href="https://urllib3.readthedocs.io/en/latest/v2-migration-guide.html">v2 migration guide</a> for help upgrading to the latest version of urllib3.</p> <h2>Removals</h2> <ul> <li>Removed support for the deprecated urllib3[secure] extra. (<a href="https://redirect.github.com/urllib3/urllib3/issues/2680">#2680</a>)</li> <li>Removed support for the deprecated SecureTransport TLS implementation. (<a href="https://redirect.github.com/urllib3/urllib3/issues/2681">#2681</a>)</li> <li>Removed support for the end-of-life Python 3.7. (<a href="https://redirect.github.com/urllib3/urllib3/issues/3143">#3143</a>)</li> </ul> <h2>Bugfixes</h2> <ul> <li>Allowed loading CA certificates from memory for proxies. (<a href="https://redirect.github.com/urllib3/urllib3/issues/3065">#3065</a>)</li> <li>Fixed decoding Gzip-encoded responses which specified <code>x-gzip</code> content-encoding. (<a href="https://redirect.github.com/urllib3/urllib3/issues/3174">#3174</a>)</li> </ul> </blockquote> </details> <details> <summary>Changelog</summary> <p><em>Sourced from <a href="https://github.com/urllib3/urllib3/blob/main/CHANGES.rst">urllib3's changelog</a>.</em></p> <blockquote> <h1>2.2.0 (2024-01-30)</h1> <ul> <li>Added support for <code>Emscripten and Pyodide <https://urllib3.readthedocs.io/en/latest/reference/contrib/emscripten.html></code><strong>, including streaming support in cross-origin isolated browser environments where threading is enabled. (<code>[#2951](urllib3/urllib3#2951) <https://github.com/urllib3/urllib3/issues/2951></code></strong>)</li> <li>Added support for <code>HTTPResponse.read1()</code> method. (<code>[#3186](urllib3/urllib3#3186) <https://github.com/urllib3/urllib3/issues/3186></code>__)</li> <li>Added rudimentary support for HTTP/2. (<code>[#3284](urllib3/urllib3#3284) <https://github.com/urllib3/urllib3/issues/3284></code>__)</li> <li>Fixed issue where requests against urls with trailing dots were failing due to SSL errors when using proxy. (<code>[#2244](urllib3/urllib3#2244) <https://github.com/urllib3/urllib3/issues/2244></code>__)</li> <li>Fixed <code>HTTPConnection.proxy_is_verified</code> and <code>HTTPSConnection.proxy_is_verified</code> to be always set to a boolean after connecting to a proxy. It could be <code>None</code> in some cases previously. (<code>[#3130](urllib3/urllib3#3130) <https://github.com/urllib3/urllib3/issues/3130></code>__)</li> <li>Fixed an issue where <code>headers</code> passed in a request with <code>json=</code> would be mutated (<code>[#3203](urllib3/urllib3#3203) <https://github.com/urllib3/urllib3/issues/3203></code>__)</li> <li>Fixed <code>HTTPSConnection.is_verified</code> to be set to <code>False</code> when connecting from a HTTPS proxy to an HTTP target. It was set to <code>True</code> previously. (<code>[#3267](urllib3/urllib3#3267) <https://github.com/urllib3/urllib3/issues/3267></code>__)</li> <li>Fixed handling of new error message from OpenSSL 3.2.0 when configuring an HTTP proxy as HTTPS (<code>[#3268](urllib3/urllib3#3268) <https://github.com/urllib3/urllib3/issues/3268></code>__)</li> <li>Fixed TLS 1.3 post-handshake auth when the server certificate validation is disabled (<code>[#3325](urllib3/urllib3#3325) <https://github.com/urllib3/urllib3/issues/3325></code>__)</li> <li>Note for downstream distributors: To run integration tests, you now need to run the tests a second time with the <code>--integration</code> pytest flag. (<code>[#3181](urllib3/urllib3#3181) <https://github.com/urllib3/urllib3/issues/3181></code>__)</li> </ul> <h1>2.1.0 (2023-11-13)</h1> <ul> <li>Removed support for the deprecated urllib3[secure] extra. (<code>[#2680](urllib3/urllib3#2680) <https://github.com/urllib3/urllib3/issues/2680></code>__)</li> <li>Removed support for the deprecated SecureTransport TLS implementation. (<code>[#2681](urllib3/urllib3#2681) <https://github.com/urllib3/urllib3/issues/2681></code>__)</li> <li>Removed support for the end-of-life Python 3.7. (<code>[#3143](urllib3/urllib3#3143) <https://github.com/urllib3/urllib3/issues/3143></code>__)</li> <li>Allowed loading CA certificates from memory for proxies. (<code>[#3065](urllib3/urllib3#3065) <https://github.com/urllib3/urllib3/issues/3065></code>__)</li> <li>Fixed decoding Gzip-encoded responses which specified <code>x-gzip</code> content-encoding. (<code>[#3174](urllib3/urllib3#3174) <https://github.com/urllib3/urllib3/issues/3174></code>__)</li> </ul> </blockquote> </details> <details> <summary>Commits</summary> <ul> <li><a href="https://github.com/urllib3/urllib3/commit/04df048cf4b1c3790c56e26c659db764aad62d6f"><code>04df048</code></a> Release 2.2.0</li> <li><a href="https://github.com/urllib3/urllib3/commit/2aec09f6a1727dd54f65b9069ef8f168ef40a885"><code>2aec09f</code></a> Add documentation for Emscripten support</li> <li><a href="https://github.com/urllib3/urllib3/commit/6d2f0f63b066ce6064b16ba97dc5cf3f70d5d44a"><code>6d2f0f6</code></a> Annotate response attribute <code>length_remaining</code> in BaseHTTPResponse (<a href="https://redirect.github.com/urllib3/urllib3/issues/3317">#3317</a>)</li> <li><a href="https://github.com/urllib3/urllib3/commit/d7bb83b48c23d8dd429c20a43ac3da74ea6e9df0"><code>d7bb83b</code></a> Fix TLS 1.3 post-handshake auth</li> <li><a href="https://github.com/urllib3/urllib3/commit/8c8e26dab401121e9fccc8e8e8958609ccb045f5"><code>8c8e26d</code></a> Hide H2Connection inside _LockedObject (<a href="https://redirect.github.com/urllib3/urllib3/issues/3318">#3318</a>)</li> <li><a href="https://github.com/urllib3/urllib3/commit/26a07dbd3267b174439f1fca0ab473dc79f473dc"><code>26a07db</code></a> Make BaseHTTPResponse a base class of HTTP2Response (<a href="https://redirect.github.com/urllib3/urllib3/issues/3311">#3311</a>)</li> <li><a href="https://github.com/urllib3/urllib3/commit/71e7c35662a4b2ba8543194cc132616065dfc56a"><code>71e7c35</code></a> Allow testing HTTP/1.1 and HTTP/2 in the same test (<a href="https://redirect.github.com/urllib3/urllib3/issues/3310">#3310</a>)</li> <li><a href="https://github.com/urllib3/urllib3/commit/89ed0d6a65138f6d641e92ae4e0da0cdc7d66870"><code>89ed0d6</code></a> Add test-pypy 3.8 3.9 3.10 nox sessions (<a href="https://redirect.github.com/urllib3/urllib3/issues/3304">#3304</a>)</li> <li><a href="https://github.com/urllib3/urllib3/commit/fb6cf2dba92bba8bdd734deb4d6fde44c19849b9"><code>fb6cf2d</code></a> Pin to pypy-3.9-v7.3.13 to not timeout CI</li> <li><a href="https://github.com/urllib3/urllib3/commit/03f7b65a47d87036674a7909ca6c57d4b5cf1a81"><code>03f7b65</code></a> Skip memray on pypy (<a href="https://redirect.github.com/urllib3/urllib3/issues/3286">#3286</a>)</li> <li>Additional commits viewable in <a href="https://github.com/urllib3/urllib3/compare/2.0.7...2.2.0">compare view</a></li> </ul> </details> <br /> [](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores) 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-automerge-start) [//]: # (dependabot-automerge-end) --- <details> <summary>Dependabot commands and options</summary> <br /> 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) </details>
Bumps [urllib3](https://github.com/urllib3/urllib3) from 2.1.0 to 2.2.0. <details> <summary>Release notes</summary> <p><em>Sourced from <a href="https://github.com/urllib3/urllib3/releases">urllib3's releases</a>.</em></p> <blockquote> <h2>2.2.0</h2> <h2>🖥️ urllib3 now works in the browser</h2> <p>:tada: <strong>This release adds experimental support for <a href="https://urllib3.readthedocs.io/en/stable/reference/contrib/emscripten.html">using urllib3 in the browser with Pyodide</a>!</strong> 🎉</p> <p>Thanks to Joe Marshall (<a href="https://github.com/joemarshall"><code>@joemarshall</code></a>) for contributing this feature. This change was possible thanks to work done in urllib3 v2.0 to detach our API from <code>http.client</code>. Please report all bugs to the <a href="https://github.com/urllib3/urllib3/issues">urllib3 issue tracker</a>.</p> <h2>🚀 urllib3 is fundraising for HTTP/2 support</h2> <p><a href="https://sethmlarson.dev/urllib3-is-fundraising-for-http2-support">urllib3 is raising ~$40,000 USD</a> to release HTTP/2 support and ensure long-term sustainable maintenance of the project after a sharp decline in financial support for 2023. If your company or organization uses Python and would benefit from HTTP/2 support in Requests, pip, cloud SDKs, and thousands of other projects <a href="https://opencollective.com/urllib3">please consider contributing financially</a> to ensure HTTP/2 support is developed sustainably and maintained for the long-haul.</p> <p>Thank you for your support.</p> <h2>Changes</h2> <ul> <li>Added support for <a href="https://urllib3.readthedocs.io/en/latest/reference/contrib/emscripten.html">Emscripten and Pyodide</a>, including streaming support in cross-origin isolated browser environments where threading is enabled. (<a href="https://redirect.github.com/urllib3/urllib3/issues/2951">#2951</a>)</li> <li>Added support for <code>HTTPResponse.read1()</code> method. (<a href="https://redirect.github.com/urllib3/urllib3/issues/3186">#3186</a>)</li> <li>Added rudimentary support for HTTP/2. (<a href="https://redirect.github.com/urllib3/urllib3/issues/3284">#3284</a>)</li> <li>Fixed issue where requests against urls with trailing dots were failing due to SSL errors when using proxy. (<a href="https://redirect.github.com/urllib3/urllib3/issues/2244">#2244</a>)</li> <li>Fixed <code>HTTPConnection.proxy_is_verified</code> and <code>HTTPSConnection.proxy_is_verified</code> to be always set to a boolean after connecting to a proxy. It could be <code>None</code> in some cases previously. (<a href="https://redirect.github.com/urllib3/urllib3/issues/3130">#3130</a>)</li> <li>Fixed an issue where <code>headers</code> passed in a request with <code>json=</code> would be mutated (<a href="https://redirect.github.com/urllib3/urllib3/issues/3203">#3203</a>)</li> <li>Fixed <code>HTTPSConnection.is_verified</code> to be set to <code>False</code> when connecting from a HTTPS proxy to an HTTP target. It was set to <code>True</code> previously. (<a href="https://redirect.github.com/urllib3/urllib3/issues/3267">#3267</a>)</li> <li>Fixed handling of new error message from OpenSSL 3.2.0 when configuring an HTTP proxy as HTTPS (<a href="https://redirect.github.com/urllib3/urllib3/issues/3268">#3268</a>)</li> <li>Fixed TLS 1.3 post-handshake auth when the server certificate validation is disabled (<a href="https://redirect.github.com/urllib3/urllib3/issues/3325">#3325</a>)</li> </ul> <p>Note for downstream distributors: To run integration tests, you now need to run the tests a second time with the <code>--integration</code> pytest flag. (<a href="https://redirect.github.com/urllib3/urllib3/issues/3181">#3181</a>)</p> </blockquote> </details> <details> <summary>Changelog</summary> <p><em>Sourced from <a href="https://github.com/urllib3/urllib3/blob/main/CHANGES.rst">urllib3's changelog</a>.</em></p> <blockquote> <h1>2.2.0 (2024-01-30)</h1> <ul> <li>Added support for <code>Emscripten and Pyodide <https://urllib3.readthedocs.io/en/latest/reference/contrib/emscripten.html></code><strong>, including streaming support in cross-origin isolated browser environments where threading is enabled. (<code>[#2951](urllib3/urllib3#2951) <https://github.com/urllib3/urllib3/issues/2951></code></strong>)</li> <li>Added support for <code>HTTPResponse.read1()</code> method. (<code>[#3186](urllib3/urllib3#3186) <https://github.com/urllib3/urllib3/issues/3186></code>__)</li> <li>Added rudimentary support for HTTP/2. (<code>[#3284](urllib3/urllib3#3284) <https://github.com/urllib3/urllib3/issues/3284></code>__)</li> <li>Fixed issue where requests against urls with trailing dots were failing due to SSL errors when using proxy. (<code>[#2244](urllib3/urllib3#2244) <https://github.com/urllib3/urllib3/issues/2244></code>__)</li> <li>Fixed <code>HTTPConnection.proxy_is_verified</code> and <code>HTTPSConnection.proxy_is_verified</code> to be always set to a boolean after connecting to a proxy. It could be <code>None</code> in some cases previously. (<code>[#3130](urllib3/urllib3#3130) <https://github.com/urllib3/urllib3/issues/3130></code>__)</li> <li>Fixed an issue where <code>headers</code> passed in a request with <code>json=</code> would be mutated (<code>[#3203](urllib3/urllib3#3203) <https://github.com/urllib3/urllib3/issues/3203></code>__)</li> <li>Fixed <code>HTTPSConnection.is_verified</code> to be set to <code>False</code> when connecting from a HTTPS proxy to an HTTP target. It was set to <code>True</code> previously. (<code>[#3267](urllib3/urllib3#3267) <https://github.com/urllib3/urllib3/issues/3267></code>__)</li> <li>Fixed handling of new error message from OpenSSL 3.2.0 when configuring an HTTP proxy as HTTPS (<code>[#3268](urllib3/urllib3#3268) <https://github.com/urllib3/urllib3/issues/3268></code>__)</li> <li>Fixed TLS 1.3 post-handshake auth when the server certificate validation is disabled (<code>[#3325](urllib3/urllib3#3325) <https://github.com/urllib3/urllib3/issues/3325></code>__)</li> <li>Note for downstream distributors: To run integration tests, you now need to run the tests a second time with the <code>--integration</code> pytest flag. (<code>[#3181](urllib3/urllib3#3181) <https://github.com/urllib3/urllib3/issues/3181></code>__)</li> </ul> </blockquote> </details> <details> <summary>Commits</summary> <ul> <li><a href="https://github.com/urllib3/urllib3/commit/04df048cf4b1c3790c56e26c659db764aad62d6f"><code>04df048</code></a> Release 2.2.0</li> <li><a href="https://github.com/urllib3/urllib3/commit/2aec09f6a1727dd54f65b9069ef8f168ef40a885"><code>2aec09f</code></a> Add documentation for Emscripten support</li> <li><a href="https://github.com/urllib3/urllib3/commit/6d2f0f63b066ce6064b16ba97dc5cf3f70d5d44a"><code>6d2f0f6</code></a> Annotate response attribute <code>length_remaining</code> in BaseHTTPResponse (<a href="https://redirect.github.com/urllib3/urllib3/issues/3317">#3317</a>)</li> <li><a href="https://github.com/urllib3/urllib3/commit/d7bb83b48c23d8dd429c20a43ac3da74ea6e9df0"><code>d7bb83b</code></a> Fix TLS 1.3 post-handshake auth</li> <li><a href="https://github.com/urllib3/urllib3/commit/8c8e26dab401121e9fccc8e8e8958609ccb045f5"><code>8c8e26d</code></a> Hide H2Connection inside _LockedObject (<a href="https://redirect.github.com/urllib3/urllib3/issues/3318">#3318</a>)</li> <li><a href="https://github.com/urllib3/urllib3/commit/26a07dbd3267b174439f1fca0ab473dc79f473dc"><code>26a07db</code></a> Make BaseHTTPResponse a base class of HTTP2Response (<a href="https://redirect.github.com/urllib3/urllib3/issues/3311">#3311</a>)</li> <li><a href="https://github.com/urllib3/urllib3/commit/71e7c35662a4b2ba8543194cc132616065dfc56a"><code>71e7c35</code></a> Allow testing HTTP/1.1 and HTTP/2 in the same test (<a href="https://redirect.github.com/urllib3/urllib3/issues/3310">#3310</a>)</li> <li><a href="https://github.com/urllib3/urllib3/commit/89ed0d6a65138f6d641e92ae4e0da0cdc7d66870"><code>89ed0d6</code></a> Add test-pypy 3.8 3.9 3.10 nox sessions (<a href="https://redirect.github.com/urllib3/urllib3/issues/3304">#3304</a>)</li> <li><a href="https://github.com/urllib3/urllib3/commit/fb6cf2dba92bba8bdd734deb4d6fde44c19849b9"><code>fb6cf2d</code></a> Pin to pypy-3.9-v7.3.13 to not timeout CI</li> <li><a href="https://github.com/urllib3/urllib3/commit/03f7b65a47d87036674a7909ca6c57d4b5cf1a81"><code>03f7b65</code></a> Skip memray on pypy (<a href="https://redirect.github.com/urllib3/urllib3/issues/3286">#3286</a>)</li> <li>Additional commits viewable in <a href="https://github.com/urllib3/urllib3/compare/2.1.0...2.2.0">compare view</a></li> </ul> </details> <br /> [](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores) 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-automerge-start) [//]: # (dependabot-automerge-end) --- <details> <summary>Dependabot commands and options</summary> <br /> 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) </details> Signed-off-by: dependabot[bot] <[email protected]> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Bumps [urllib3](https://github.com/urllib3/urllib3) from 2.1.0 to 2.2.0. <details> <summary>Release notes</summary> <p><em>Sourced from <a href="https://github.com/urllib3/urllib3/releases">urllib3's releases</a>.</em></p> <blockquote> <h2>2.2.0</h2> <h2>🖥️ urllib3 now works in the browser</h2> <p>:tada: <strong>This release adds experimental support for <a href="https://urllib3.readthedocs.io/en/stable/reference/contrib/emscripten.html">using urllib3 in the browser with Pyodide</a>!</strong> 🎉</p> <p>Thanks to Joe Marshall (<a href="https://github.com/joemarshall"><code>@joemarshall</code></a>) for contributing this feature. This change was possible thanks to work done in urllib3 v2.0 to detach our API from <code>http.client</code>. Please report all bugs to the <a href="https://github.com/urllib3/urllib3/issues">urllib3 issue tracker</a>.</p> <h2>🚀 urllib3 is fundraising for HTTP/2 support</h2> <p><a href="https://sethmlarson.dev/urllib3-is-fundraising-for-http2-support">urllib3 is raising ~$40,000 USD</a> to release HTTP/2 support and ensure long-term sustainable maintenance of the project after a sharp decline in financial support for 2023. If your company or organization uses Python and would benefit from HTTP/2 support in Requests, pip, cloud SDKs, and thousands of other projects <a href="https://opencollective.com/urllib3">please consider contributing financially</a> to ensure HTTP/2 support is developed sustainably and maintained for the long-haul.</p> <p>Thank you for your support.</p> <h2>Changes</h2> <ul> <li>Added support for <a href="https://urllib3.readthedocs.io/en/latest/reference/contrib/emscripten.html">Emscripten and Pyodide</a>, including streaming support in cross-origin isolated browser environments where threading is enabled. (<a href="https://redirect.github.com/urllib3/urllib3/issues/2951">#2951</a>)</li> <li>Added support for <code>HTTPResponse.read1()</code> method. (<a href="https://redirect.github.com/urllib3/urllib3/issues/3186">#3186</a>)</li> <li>Added rudimentary support for HTTP/2. (<a href="https://redirect.github.com/urllib3/urllib3/issues/3284">#3284</a>)</li> <li>Fixed issue where requests against urls with trailing dots were failing due to SSL errors when using proxy. (<a href="https://redirect.github.com/urllib3/urllib3/issues/2244">#2244</a>)</li> <li>Fixed <code>HTTPConnection.proxy_is_verified</code> and <code>HTTPSConnection.proxy_is_verified</code> to be always set to a boolean after connecting to a proxy. It could be <code>None</code> in some cases previously. (<a href="https://redirect.github.com/urllib3/urllib3/issues/3130">#3130</a>)</li> <li>Fixed an issue where <code>headers</code> passed in a request with <code>json=</code> would be mutated (<a href="https://redirect.github.com/urllib3/urllib3/issues/3203">#3203</a>)</li> <li>Fixed <code>HTTPSConnection.is_verified</code> to be set to <code>False</code> when connecting from a HTTPS proxy to an HTTP target. It was set to <code>True</code> previously. (<a href="https://redirect.github.com/urllib3/urllib3/issues/3267">#3267</a>)</li> <li>Fixed handling of new error message from OpenSSL 3.2.0 when configuring an HTTP proxy as HTTPS (<a href="https://redirect.github.com/urllib3/urllib3/issues/3268">#3268</a>)</li> <li>Fixed TLS 1.3 post-handshake auth when the server certificate validation is disabled (<a href="https://redirect.github.com/urllib3/urllib3/issues/3325">#3325</a>)</li> </ul> <p>Note for downstream distributors: To run integration tests, you now need to run the tests a second time with the <code>--integration</code> pytest flag. (<a href="https://redirect.github.com/urllib3/urllib3/issues/3181">#3181</a>)</p> </blockquote> </details> <details> <summary>Changelog</summary> <p><em>Sourced from <a href="https://github.com/urllib3/urllib3/blob/main/CHANGES.rst">urllib3's changelog</a>.</em></p> <blockquote> <h1>2.2.0 (2024-01-30)</h1> <ul> <li>Added support for <code>Emscripten and Pyodide <https://urllib3.readthedocs.io/en/latest/reference/contrib/emscripten.html></code><strong>, including streaming support in cross-origin isolated browser environments where threading is enabled. (<code>[#2951](urllib3/urllib3#2951) <https://github.com/urllib3/urllib3/issues/2951></code></strong>)</li> <li>Added support for <code>HTTPResponse.read1()</code> method. (<code>[#3186](urllib3/urllib3#3186) <https://github.com/urllib3/urllib3/issues/3186></code>__)</li> <li>Added rudimentary support for HTTP/2. (<code>[#3284](urllib3/urllib3#3284) <https://github.com/urllib3/urllib3/issues/3284></code>__)</li> <li>Fixed issue where requests against urls with trailing dots were failing due to SSL errors when using proxy. (<code>[#2244](urllib3/urllib3#2244) <https://github.com/urllib3/urllib3/issues/2244></code>__)</li> <li>Fixed <code>HTTPConnection.proxy_is_verified</code> and <code>HTTPSConnection.proxy_is_verified</code> to be always set to a boolean after connecting to a proxy. It could be <code>None</code> in some cases previously. (<code>[#3130](urllib3/urllib3#3130) <https://github.com/urllib3/urllib3/issues/3130></code>__)</li> <li>Fixed an issue where <code>headers</code> passed in a request with <code>json=</code> would be mutated (<code>[#3203](urllib3/urllib3#3203) <https://github.com/urllib3/urllib3/issues/3203></code>__)</li> <li>Fixed <code>HTTPSConnection.is_verified</code> to be set to <code>False</code> when connecting from a HTTPS proxy to an HTTP target. It was set to <code>True</code> previously. (<code>[#3267](urllib3/urllib3#3267) <https://github.com/urllib3/urllib3/issues/3267></code>__)</li> <li>Fixed handling of new error message from OpenSSL 3.2.0 when configuring an HTTP proxy as HTTPS (<code>[#3268](urllib3/urllib3#3268) <https://github.com/urllib3/urllib3/issues/3268></code>__)</li> <li>Fixed TLS 1.3 post-handshake auth when the server certificate validation is disabled (<code>[#3325](urllib3/urllib3#3325) <https://github.com/urllib3/urllib3/issues/3325></code>__)</li> <li>Note for downstream distributors: To run integration tests, you now need to run the tests a second time with the <code>--integration</code> pytest flag. (<code>[#3181](urllib3/urllib3#3181) <https://github.com/urllib3/urllib3/issues/3181></code>__)</li> </ul> </blockquote> </details> <details> <summary>Commits</summary> <ul> <li><a href="https://github.com/urllib3/urllib3/commit/04df048cf4b1c3790c56e26c659db764aad62d6f"><code>04df048</code></a> Release 2.2.0</li> <li><a href="https://github.com/urllib3/urllib3/commit/2aec09f6a1727dd54f65b9069ef8f168ef40a885"><code>2aec09f</code></a> Add documentation for Emscripten support</li> <li><a href="https://github.com/urllib3/urllib3/commit/6d2f0f63b066ce6064b16ba97dc5cf3f70d5d44a"><code>6d2f0f6</code></a> Annotate response attribute <code>length_remaining</code> in BaseHTTPResponse (<a href="https://redirect.github.com/urllib3/urllib3/issues/3317">#3317</a>)</li> <li><a href="https://github.com/urllib3/urllib3/commit/d7bb83b48c23d8dd429c20a43ac3da74ea6e9df0"><code>d7bb83b</code></a> Fix TLS 1.3 post-handshake auth</li> <li><a href="https://github.com/urllib3/urllib3/commit/8c8e26dab401121e9fccc8e8e8958609ccb045f5"><code>8c8e26d</code></a> Hide H2Connection inside _LockedObject (<a href="https://redirect.github.com/urllib3/urllib3/issues/3318">#3318</a>)</li> <li><a href="https://github.com/urllib3/urllib3/commit/26a07dbd3267b174439f1fca0ab473dc79f473dc"><code>26a07db</code></a> Make BaseHTTPResponse a base class of HTTP2Response (<a href="https://redirect.github.com/urllib3/urllib3/issues/3311">#3311</a>)</li> <li><a href="https://github.com/urllib3/urllib3/commit/71e7c35662a4b2ba8543194cc132616065dfc56a"><code>71e7c35</code></a> Allow testing HTTP/1.1 and HTTP/2 in the same test (<a href="https://redirect.github.com/urllib3/urllib3/issues/3310">#3310</a>)</li> <li><a href="https://github.com/urllib3/urllib3/commit/89ed0d6a65138f6d641e92ae4e0da0cdc7d66870"><code>89ed0d6</code></a> Add test-pypy 3.8 3.9 3.10 nox sessions (<a href="https://redirect.github.com/urllib3/urllib3/issues/3304">#3304</a>)</li> <li><a href="https://github.com/urllib3/urllib3/commit/fb6cf2dba92bba8bdd734deb4d6fde44c19849b9"><code>fb6cf2d</code></a> Pin to pypy-3.9-v7.3.13 to not timeout CI</li> <li><a href="https://github.com/urllib3/urllib3/commit/03f7b65a47d87036674a7909ca6c57d4b5cf1a81"><code>03f7b65</code></a> Skip memray on pypy (<a href="https://redirect.github.com/urllib3/urllib3/issues/3286">#3286</a>)</li> <li>Additional commits viewable in <a href="https://github.com/urllib3/urllib3/compare/2.1.0...2.2.0">compare view</a></li> </ul> </details> <br /> [](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores) 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-automerge-start) [//]: # (dependabot-automerge-end) --- <details> <summary>Dependabot commands and options</summary> <br /> 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) </details> Signed-off-by: dependabot[bot] <[email protected]> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
We have many timeouts on GitHub Actions due to those tests that can take minutes to run on overloaded CI runners. This is compounded by the fact they run six times (3 parametrizations * 2 SSL configuration - pyopenssl and standard library SSL). Running on multiple platforms isn't useful. We found a "Windows-specific" bug once but only because the Windows worker had less memory, and we have
limit_memorytests now for the memory aspects.