-
Notifications
You must be signed in to change notification settings - Fork 3.4k
feat: Remove the urllib3 pinning #2461
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
|
Welcome @ZPascal! |
|
Hi, Would it be possible to cut a new release after merging either this pull request or PR #2439? This would help users stay up-to-date with security patches and compatibility improvements in urllib3. Other packages are starting to require urllib3 >= 2.5 and this is bringing some incompatibilities. Thanks! |
|
/lgtm |
|
[APPROVALNOTIFIER] This PR is APPROVED This pull-request has been approved by: yliaog, ZPascal The full list of commands accepted by this bot can be found here. The pull request process is described here
Needs approval from an approver in each of these files:
Approvers can indicate their approval by writing |
What type of PR is this?
/kind feature
/kind regression
What this PR does / why we need it:
Pull Request Description
The PR removes the version pinning for the urllib3 library.
Background
Starting with
urllib3version2.4.0, stricter certificate validity checks were introduced when running on Python 3.13+ (urllib3#3571).This change can trigger errors such as:
These errors occur only in environments where Kubernetes clusters are configured with invalid or incomplete certificates, most notably on AWS EKS clusters created with Kubernetes v1.16 and earlier.
Change
We are not pinning the
urllib3version. Instead, we keep the dependency flexible (optionally with a temporary upper bound if strictly necessary), ensuring compatibility with future versions ofurllib3.Rationale / Why not pin the version
📦 Avoid unnecessary technical debt
Pinning a widely used core dependency like
urllib3can quickly lead to upgrade blockers and complicate maintenance down the line.🔐 Don’t block important security updates
urllib3is a critical dependency for HTTPS communication. Pinning could delay or prevent applying security patches or other improvements.🧹 The issue only affects outdated infrastructure
The certificate verification error occurs exclusively on clusters with invalid or outdated certificates. These environments should be updated rather than forcing the dependency to remain outdated.
🧭 Fixing the root cause is better than downstream workarounds
It’s more sustainable to address the infrastructure issue (fixing or rotating cluster certificates) than holding back modern library versions.
⚡ Keeps upgrade paths open
By not pinning the version, we can easily adopt future
urllib3releases without major dependency refactors.Recommendation for affected users
If this error occurs, the correct fix is to update or properly configure the Kubernetes cluster certificates. A temporary upper bound may be set in local deployments if an immediate infrastructure fix is not feasible.
✅ Summary:
Instead of pinning
urllib3to a specific version, we keep the dependency flexible and address the underlying infrastructure issue.This approach is more secure, easier to maintain, and aligned with dependency management best practices.
Special notes for your reviewer:
Does this PR introduce a user-facing change?