Skip to content

Commit 669378f

Browse files
authored
Update minimum supported Python to 3.8 (#189)
This ought to be possible now that Gecko CI is all using 3.8+.
1 parent f902d4e commit 669378f

File tree

1 file changed

+42
-0
lines changed

1 file changed

+42
-0
lines changed

rfcs/python_38.md

Lines changed: 42 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,42 @@
1+
# RFC 189: Bump minimum supported Python to 3.8
2+
3+
## Summary
4+
5+
Increase the minimum supported Python version to 3.8.
6+
7+
## Details
8+
9+
Currently we support Python 3.7+. However 3.7 was EOL in June 2023,
10+
and the Python ecosystem has generally moved away from offering
11+
3.7 support. Practically this means that we have been unable to update
12+
many dependencies which depend on 3.8+.
13+
14+
Previously the blocker for updates was the downstream integration with
15+
Gecko's CI which still used Python 3.7. This has recently been updated
16+
to use [3.8](https://bugzilla.mozilla.org/show_bug.cgi?id=1843209),
17+
which unblocks updating to that version.
18+
19+
Practically this requires several manual changes:
20+
21+
* Change the CI jobs running under Python 3.7 to instead use 3.8.
22+
* Update any outdated vendored dependencies that are being held back
23+
due to lack of 3.7 support.
24+
* Retrigger CI runs for dependabot PRs. Hopefully this allow many
25+
dependencies to be updated, although there may be some for which
26+
the latest versions require 3.9+. In these cases we should manually
27+
try to update to the latest 3.8 compatible release.
28+
29+
## Risks
30+
31+
3.8 itself is near the end of its support period (October 2024), so there
32+
is some risk that we end up in a similar situation again soon, with libraries
33+
requiring 3.9+. However given the requirement to support vendors, and
34+
the fact that Gecko depends on 3.8, bumping the minimum version
35+
further is not possible at this time.
36+
37+
Some unknown external users may depend on 3.7 support. This is
38+
hopefully reasonably unlikely as they would both need to be using wpt
39+
in a large system where Python updates are challenging, and also not
40+
be participating in the RFC process. However if this does happen we
41+
will need to work with the external user to determine a viable path
42+
forward.

0 commit comments

Comments
 (0)