Title: Bump urllib3 from 2.5.0 to 2.6.0 in /src/09-built-on-asyncio by dependabot[bot] · Pull Request #26 · talkpython/async-techniques-python-course · GitHub
Open Graph Title: Bump urllib3 from 2.5.0 to 2.6.0 in /src/09-built-on-asyncio by dependabot[bot] · Pull Request #26 · talkpython/async-techniques-python-course
X Title: Bump urllib3 from 2.5.0 to 2.6.0 in /src/09-built-on-asyncio by dependabot[bot] · Pull Request #26 · talkpython/async-techniques-python-course
Description: Bumps urllib3 from 2.5.0 to 2.6.0.
Release notes
Sourced from urllib3's releases.
2.6.0
🚀 urllib3 is fundraising for HTTP/2 support
urllib3 is raising ~$40,000 USD to release HTTP/2 support and ensure long-term sustainable maintenance of the project after a sharp decline in financial support. If your company or organization uses Python and would benefit from HTTP/2 support in Requests, pip, cloud SDKs, and thousands of other projects please consider contributing financially to ensure HTTP/2 support is developed sustainably and maintained for the long-haul.
Thank you for your support.
Security
Fixed a security issue where streaming API could improperly handle highly compressed HTTP content ("decompression bombs") leading to excessive resource consumption even when a small amount of data was requested. Reading small chunks of compressed data is safer and much more efficient now. (CVE-2025-66471 reported by @Cycloctane, 8.9 High, GHSA-2xpw-w6gg-jr37)
Fixed a security issue where an attacker could compose an HTTP response with virtually unlimited links in the Content-Encoding header, potentially leading to a denial of service (DoS) attack by exhausting system resources during decoding. The number of allowed chained encodings is now limited to 5. (CVE-2025-66418 reported by @illia-v, 8.9 High, GHSA-gm62-xv2j-4w53)
[!IMPORTANT]
If urllib3 is not installed with the optional urllib3[brotli] extra, but your environment contains a Brotli/brotlicffi/brotlipy package anyway, make sure to upgrade it to at least Brotli 1.2.0 or brotlicffi 1.2.0.0 to benefit from the security fixes and avoid warnings. Prefer using urllib3[brotli] to install a compatible Brotli package automatically.
If you use custom decompressors, please make sure to update them to respect the changed API of urllib3.response.ContentDecoder.
Features
Enabled retrieval, deletion, and membership testing in HTTPHeaderDict using bytes keys. (#3653)
Added host and port information to string representations of HTTPConnection. (#3666)
Added support for Python 3.14 free-threading builds explicitly. (#3696)
Removals
Removed the HTTPResponse.getheaders() method in favor of HTTPResponse.headers. Removed the HTTPResponse.getheader(name, default) method in favor of HTTPResponse.headers.get(name, default). (#3622)
Bugfixes
Fixed redirect handling in urllib3.PoolManager when an integer is passed for the retries parameter. (#3649)
Fixed HTTPConnectionPool when used in Emscripten with no explicit port. (#3664)
Fixed handling of SSLKEYLOGFILE with expandable variables. (#3700)
Misc
Changed the zstd extra to install backports.zstd instead of zstandard on Python 3.13 and before. (#3693)
Improved the performance of content decoding by optimizing BytesQueueBuffer class. (#3710)
Allowed building the urllib3 package with newer setuptools-scm v9.x. (#3652)
Ensured successful urllib3 builds by setting Hatchling requirement to ≥ 1.27.0. (#3638)
Changelog
Sourced from urllib3's changelog.
2.6.0 (2025-12-05)
Security
Fixed a security issue where streaming API could improperly handle highly
compressed HTTP content ("decompression bombs") leading to excessive resource
consumption even when a small amount of data was requested. Reading small
chunks of compressed data is safer and much more efficient now.
(GHSA-2xpw-w6gg-jr37
Open Graph Description: Bumps urllib3 from 2.5.0 to 2.6.0. Release notes Sourced from urllib3's releases. 2.6.0 🚀 urllib3 is fundraising for HTTP/2 support urllib3 is raising ~$40,000 USD to release HTTP/2 support a...
X Description: Bumps urllib3 from 2.5.0 to 2.6.0. Release notes Sourced from urllib3's releases. 2.6.0 🚀 urllib3 is fundraising for HTTP/2 support urllib3 is raising ~$40,000 USD to release HTTP/2 suppo...
Opengraph URL: https://github.com/talkpython/async-techniques-python-course/pull/26
X: @github
Domain: patch-diff.githubusercontent.com
| route-pattern | /:user_id/:repository/pull/:id/checks(.:format) |
| route-controller | pull_requests |
| route-action | checks |
| fetch-nonce | v2:127ab3e1-5fb6-03d4-7e29-652100973085 |
| current-catalog-service-hash | 87dc3bc62d9b466312751bfd5f889726f4f1337bdff4e8be7da7c93d6c00a25a |
| request-id | C0F6:C3467:75D5C87:9C50685:696DEA9F |
| html-safe-nonce | 830aede7a00755091ea564f8c05c7b16976fc28985035c6f0c4a84e1bc2460d1 |
| visitor-payload | eyJyZWZlcnJlciI6IiIsInJlcXVlc3RfaWQiOiJDMEY2OkMzNDY3Ojc1RDVDODc6OUM1MDY4NTo2OTZERUE5RiIsInZpc2l0b3JfaWQiOiIxMTMwOTk2MDMyMDc2NDU4NTUiLCJyZWdpb25fZWRnZSI6ImlhZCIsInJlZ2lvbl9yZW5kZXIiOiJpYWQifQ== |
| visitor-hmac | aa28fa9b3e35ef9bbd0e8c7655ee80e22037bd017af718fca5b5670130366e49 |
| hovercard-subject-tag | pull_request:3077060791 |
| github-keyboard-shortcuts | repository,pull-request-list,pull-request-conversation,pull-request-files-changed,checks,copilot |
| google-site-verification | Apib7-x98H0j5cPqHWwSMm6dNU4GmODRoqxLiDzdx9I |
| octolytics-url | https://collector.github.com/github/collect |
| analytics-location | / |
| fb:app_id | 1401488693436528 |
| apple-itunes-app | app-id=1477376905, app-argument=https://github.com/talkpython/async-techniques-python-course/pull/26/checks |
| twitter:image | https://avatars.githubusercontent.com/in/29110?s=400&v=4 |
| twitter:card | summary_large_image |
| og:image | https://avatars.githubusercontent.com/in/29110?s=400&v=4 |
| og:image:alt | Bumps urllib3 from 2.5.0 to 2.6.0. Release notes Sourced from urllib3's releases. 2.6.0 🚀 urllib3 is fundraising for HTTP/2 support urllib3 is raising ~$40,000 USD to release HTTP/2 support a... |
| og:site_name | GitHub |
| og:type | object |
| hostname | github.com |
| expected-hostname | github.com |
| None | 4922b452d03cd8dbce479d866a11bc25b59ef6ee2da23aa9b0ddefa6bd4d0064 |
| turbo-cache-control | no-preview |
| go-import | github.com/talkpython/async-techniques-python-course git https://github.com/talkpython/async-techniques-python-course.git |
| octolytics-dimension-user_id | 21958399 |
| octolytics-dimension-user_login | talkpython |
| octolytics-dimension-repository_id | 145053438 |
| octolytics-dimension-repository_nwo | talkpython/async-techniques-python-course |
| octolytics-dimension-repository_public | true |
| octolytics-dimension-repository_is_fork | false |
| octolytics-dimension-repository_network_root_id | 145053438 |
| octolytics-dimension-repository_network_root_nwo | talkpython/async-techniques-python-course |
| turbo-body-classes | logged-out env-production page-responsive full-width full-width-p-0 |
| disable-turbo | false |
| browser-stats-url | https://api.github.com/_private/browser/stats |
| browser-errors-url | https://api.github.com/_private/browser/errors |
| release | 7e5ae23c70136152637ceee8d6faceb35596ec46 |
| ui-target | full |
| theme-color | #1e2327 |
| color-scheme | light dark |
Links:
Viewport: width=device-width