-
Notifications
You must be signed in to change notification settings - Fork 82
Update minimum supported Python to 3.9. #232
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
base: main
Are you sure you want to change the base?
Conversation
gsnedders
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 clearly needs review from someone at Chromium more than anyone else, but:
| Historically, continued Python 3.8 support was required due to downstream CI | ||
| integrations with Apple’s and Google’s infrastructure. These systems have since |
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.
WebKit hasn't had any need for Python 3.8 since we dropped support for Xcode 12 several years ago. Our own tooling hasn't support it in a while.
It's not clear to me from #200 when Mozilla stopped needing Python 3.8 support? After upgrading systems after Ubuntu 20.04 LTS reached extended security maintenance?
| - Refresh vendored dependencies that were previously constrained by | ||
| Python 3.8 compatibility. |
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.
Note with web-platform-tests/wpt#49752 unlanded we don't have a particularly easy way to do this. :'(
| - Re-run CI for Dependabot pull requests to allow dependency updates to proceed. | ||
| Some dependencies may now require Python 3.10 or newer; in those cases, we | ||
| should manually update to the latest release that remains compatible with | ||
| Python 3.9. |
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.
I did question in web-platform-tests/wpt#55608 whether we should just outright disable dependabot; it's unclear to me we're gaining much except noise with our minimum version?
| Python 3.9 itself reached end of life in October 2025, which means we | ||
| will encounter similar pressure to raise the minimum version again as | ||
| dependencies may already require Python 3.10 or newer. Any further |
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.
We could also change policy about how we lock dependency versions.
We've typically gone for something approximating the fewest versions (along the lines of uv pip compile's --fork-strategy fewest); we could also use split it by the required Python version (along the lines of its --fork-strategy requires-python).
Fixes #200.
@jgraham, @gsnedders and @WeizhongX please review. Thanks