Skip to content

Bump urllib3 from 2.6.3 to 2.7.0 in /python#13978

Open
dependabot[bot] wants to merge 1 commit into
mainfrom
dependabot/uv/python/urllib3-2.7.0
Open

Bump urllib3 from 2.6.3 to 2.7.0 in /python#13978
dependabot[bot] wants to merge 1 commit into
mainfrom
dependabot/uv/python/urllib3-2.7.0

Conversation

@dependabot
Copy link
Copy Markdown
Contributor

@dependabot dependabot Bot commented on behalf of github May 11, 2026

Bumps urllib3 from 2.6.3 to 2.7.0.

Release notes

Sourced from urllib3's releases.

2.7.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

Addressed high-severity security issues. Impact was limited to specific use cases detailed in the accompanying advisories; overall user exposure was estimated to be marginal.

  • Decompression-bomb safeguards of the streaming API were bypassed:

    1. When HTTPResponse.drain_conn() was called after the response had been read and decompressed partially. (Reported by @​Cycloctane)
    2. During the second HTTPResponse.read(amt=N) or HTTPResponse.stream(amt=N) call when the response was decompressed using the official Brotli library. (Reported by @​kimkou2024)

    See GHSA-mf9v-mfxr-j63j for details.

  • HTTP pools created using ProxyManager.connection_from_url did not strip sensitive headers specified in Retry.remove_headers_on_redirect when redirecting to a different host. (GHSA-qccp-gfcp-xxvc reported by @​christos-spearbit)

Deprecations and Removals

  • Used FutureWarning instead of DeprecationWarning for better visibility of existing deprecation notices. Rescheduled the removal of deprecated features to version 3.0. (urllib3/urllib3#3763)
  • Removed support for end-of-life Python 3.9. (urllib3/urllib3#3720)
  • Removed support for end-of-life PyPy3.10. (urllib3/urllib3#4979)
  • Bumped the minimum supported pyOpenSSL version to 19.0.0. (urllib3/urllib3#3777)

Bugfixes

  • Fixed a bug where HTTPResponse.read(amt=None) was ignoring decompressed data buffered from previous partial reads. (urllib3/urllib3#3636)
  • Fixed a bug where HTTPResponse.read() could cache only part of the response after a partial read when cache_content=True. (urllib3/urllib3#4967)
  • Fixed HTTPResponse.stream() and HTTPResponse.read_chunked() to handle amt=0. (urllib3/urllib3#3793)
  • Updated _TYPE_BODY type alias to include missing Iterable[str], matching the documented and runtime behavior of chunked request bodies. (urllib3/urllib3#3798)
  • Fixed LocationParseError when paths resembling schemeless URIs were passed to HTTPConnectionPool.urlopen(). (urllib3/urllib3#3352)
  • Fixed BaseHTTPResponse.readinto() type annotation to accept memoryview in addition to bytearray, matching the io.RawIOBase.readinto contract and enabling use with io.BufferedReader without type errors. (urllib3/urllib3#3764)
Changelog

Sourced from urllib3's changelog.

2.7.0 (2026-05-07)

Security

Addressed high-severity security issues. Impact was limited to specific use cases detailed in the accompanying advisories; overall user exposure was estimated to be marginal.

  • Decompression-bomb safeguards of the streaming API were bypassed:

    1. When HTTPResponse.drain_conn() was called after the response had been read and decompressed partially.
    2. During the second HTTPResponse.read(amt=N) or HTTPResponse.stream(amt=N) call when the response was decompressed using the official Brotli <https://pypi.org/project/brotli/>__ library.

    See GHSA-mf9v-mfxr-j63j <https://github.com/urllib3/urllib3/security/advisories/GHSA-mf9v-mfxr-j63j>__ for details.

  • HTTP pools created using ProxyManager.connection_from_url did not strip sensitive headers specified in Retry.remove_headers_on_redirect when redirecting to a different host. (GHSA-qccp-gfcp-xxvc <https://github.com/urllib3/urllib3/security/advisories/GHSA-qccp-gfcp-xxvc>__)

Deprecations and Removals

  • Used FutureWarning instead of DeprecationWarning for better visibility of existing deprecation notices. Rescheduled the removal of deprecated features to version 3.0. ([#3763](https://github.com/urllib3/urllib3/issues/3763) <https://github.com/urllib3/urllib3/issues/3763>__)
  • Removed support for end-of-life Python 3.9. ([#3720](https://github.com/urllib3/urllib3/issues/3720) <https://github.com/urllib3/urllib3/issues/3720>__)
  • Removed support for end-of-life PyPy3.10. ([#4979](https://github.com/urllib3/urllib3/issues/4979) <https://github.com/urllib3/urllib3/issues/4979>__)
  • Bumped the minimum supported pyOpenSSL version to 19.0.0. ([#3777](https://github.com/urllib3/urllib3/issues/3777) <https://github.com/urllib3/urllib3/issues/3777>__)

Bugfixes

  • Fixed a bug where HTTPResponse.read(amt=None) was ignoring decompressed data buffered from previous partial reads. ([#3636](https://github.com/urllib3/urllib3/issues/3636) <https://github.com/urllib3/urllib3/issues/3636>__)
  • Fixed a bug where HTTPResponse.read() could cache only part of the response after a partial read when cache_content=True.

... (truncated)

Commits

@dependabot dependabot Bot added dependencies Pull requests that update a dependency file. Used by Dependabot. python:uv Pull requests that update python:uv code labels May 11, 2026
Copilot AI review requested due to automatic review settings May 11, 2026 17:07
@dependabot dependabot Bot requested a review from a team as a code owner May 11, 2026 17:07
@dependabot dependabot Bot review requested due to automatic review settings May 11, 2026 17:07
@moonbox3 moonbox3 added the python Pull requests for the Python Semantic Kernel label May 11, 2026
Copy link
Copy Markdown
Contributor

@github-actions github-actions Bot left a comment

Choose a reason for hiding this comment

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

Automated Code Review

Reviewers: 4 | Confidence: 72%

✓ Correctness

This is a straightforward dependency bump of urllib3 from 2.6.3 to 2.7.0 in the uv.lock file, along with related constraint updates for boto3 (<1.41.0 → <1.43.0), google-genai (~=1.51.0 → >=1.51,<1.75), and pydantic (<2.13 → <2.14). All lock file changes are consistent with the dependency specifiers declared in python/pyproject.toml. The urllib3 2.7.0 release drops Python 3.9 support, but this project requires Python >=3.10, so there is no compatibility concern. CI tests run on Python 3.10, 3.11, and 3.12 only. The urllib3 2.7.0 release includes security fixes for decompression-bomb safeguards and header-stripping on redirects. No correctness issues found.

✓ Security Reliability

This is a lockfile-only dependency bump that updates urllib3 from 2.6.3 to 2.7.0, picking up two high-severity security fixes (decompression-bomb safeguard bypass and sensitive header leak on redirect via ProxyManager). The project already requires Python >=3.10, so urllib3 2.7.0 dropping Python 3.9 is not a concern. The accompanying version-range widenings for boto3, google-genai, and pydantic are routine upper-bound bumps. Package integrity is protected by sha256 hashes in the lockfile. No security or reliability issues found.

✓ Test Coverage

This PR updates the uv.lock file to bump urllib3 from 2.6.3 to 2.7.0 (which includes security fixes for decompression-bomb bypass and header-stripping on redirect), along with widened version ranges for boto3, google-genai, and pydantic. All changes are confined to the lock file with no application or test code modifications. Since no project behavior is changed—only transitive dependency versions are updated—there is no new behavior requiring additional test coverage.

✗ Design Approach

The urllib3 bump is incomplete for the Python tree: it updates the top-level SDK lockfile, but a documented demo project under python/samples/demos/mcp_with_oauth still carries its own uv.lock pinned to an older urllib3, so users following that demo path will continue to resolve the pre-fix version.

Flagged Issues

  • The documented python/samples/demos/mcp_with_oauth demo still carries its own uv.lock pinned to urllib3 2.5.0 (python/samples/demos/mcp_with_oauth/uv.lock:2414-2419), and its README instructs users to run from that directory (README.md:55-58). This PR does not fully remove the older urllib3 pin from the /python subtree.

Automated review by dependabot[bot]'s agents

Comment thread python/uv.lock
name = "urllib3"
version = "2.6.3"
version = "2.7.0"
source = { registry = "https://pypi.org/simple" }
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

This updates only the top-level SDK lockfile. The demo at python/samples/demos/mcp_with_oauth is designed to run from its own directory via uv --env-file .env run agent (per its README) and still resolves urllib3 2.5.0 from its own uv.lock. Consider bumping that lockfile as well so the security fix applies to all documented code paths.

@github-actions github-actions Bot changed the title Bump urllib3 from 2.6.3 to 2.7.0 in /python Python: Bump urllib3 from 2.6.3 to 2.7.0 in /python May 11, 2026
Bumps [urllib3](https://github.com/urllib3/urllib3) from 2.6.3 to 2.7.0.
- [Release notes](https://github.com/urllib3/urllib3/releases)
- [Changelog](https://github.com/urllib3/urllib3/blob/main/CHANGES.rst)
- [Commits](urllib3/urllib3@2.6.3...2.7.0)

---
updated-dependencies:
- dependency-name: urllib3
  dependency-version: 2.7.0
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>
@dependabot dependabot Bot changed the title Python: Bump urllib3 from 2.6.3 to 2.7.0 in /python Bump urllib3 from 2.6.3 to 2.7.0 in /python May 11, 2026
Copilot AI review requested due to automatic review settings May 11, 2026 23:12
@dependabot dependabot Bot force-pushed the dependabot/uv/python/urllib3-2.7.0 branch from b590234 to 0b71933 Compare May 11, 2026 23:12
Copy link
Copy Markdown
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

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

Copilot encountered an error and was unable to review this pull request. You can try again by re-requesting a review.

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. Used by Dependabot. python:uv Pull requests that update python:uv code python Pull requests for the Python Semantic Kernel

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants