You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
This PR loosens the dependency specifier for urllib3 for Python packaging. Rather than specifying compatibility within a minor version (urllib3[socks]~=2.5.0), we will allow any 2.x version greater then 2.5.0 (urllib3[socks]>=2.5.0,<3.0). This will allow compatibility if urllib3 does another security patch within the 2.x series.
🔄 Types of changes
Build/Packaging
PR Type
Other
Description
Loosen urllib3 dependency from ~=2.5.0 to >=2.5.0,<3.0
Allow compatibility with future urllib3 2.x security patches
Diagram Walkthrough
flowchart LR
A["urllib3[socks]~=2.5.0"] -- "loosen constraint" --> B["urllib3[socks]>=2.5.0,<3.0"]
B --> C["Allow 2.x security patches"]
Loading
File Walkthrough
Relevant files
Dependencies
BUILD.bazel
Loosen urllib3 dependency constraint
py/BUILD.bazel
Updated urllib3 dependency from ~=2.5.0 to >=2.5.0,<3.0
The new version constraint allows any 2.x version above 2.5.0, which could potentially include breaking changes within the major version. Consider if urllib3 follows semantic versioning strictly and whether this broad range is appropriate for production use.
✅ Fix version constraint separator syntaxSuggestion Impact:The suggestion was directly implemented - the semicolon separator in the urllib3 version constraint was changed to a comma separator as suggested
The version constraint uses a semicolon separator which is not standard for pip dependency specifications. Use comma separator instead for better compatibility across packaging tools.
Why: The suggestion correctly identifies an invalid separator in the urllib3 version specifier; using a semicolon instead of a comma would cause dependency resolution to fail.
High
Update
Previous suggestions
✅ Suggestions up to commit 94454e7
Category
Suggestion
Impact
General
✅ Use explicit version constraint formatSuggestion Impact:The commit implemented the exact suggestion by fixing the invalid dependency specifier, changing the semicolon to a comma and using the explicit version format <3.0
The version constraint should use <3.0 instead of <3 for better clarity and consistency with semantic versioning practices. This makes the upper bound more explicit and follows common Python packaging conventions.
Why: The suggestion corrects an invalid dependency specifier by changing the semicolon to a comma, which is crucial for correctness as per PEP 508.
Medium
cgoldberg
changed the title
[py] Loosen dependency specifier for urllib3 in packaging
[py] Loosen dependency specifier for urllib3 in packaging configuration
Aug 6, 2025
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
User description
🔗 Related Issues
see: #15977 (comment)
💥 What does this PR do?
This PR loosens the dependency specifier for
urllib3for Python packaging. Rather than specifying compatibility within a minor version (urllib3[socks]~=2.5.0), we will allow any2.xversion greater then2.5.0(urllib3[socks]>=2.5.0,<3.0). This will allow compatibility ifurllib3does another security patch within the 2.x series.🔄 Types of changes
PR Type
Other
Description
Loosen urllib3 dependency from ~=2.5.0 to >=2.5.0,<3.0
Allow compatibility with future urllib3 2.x security patches
Diagram Walkthrough
File Walkthrough
BUILD.bazel
Loosen urllib3 dependency constraintpy/BUILD.bazel
pyproject.toml
Loosen urllib3 dependency constraintpy/pyproject.toml