1 |
Hi, everyone. |
2 |
|
3 |
I'd like to be more proactive in avoiding the mess like Python 3.6->3.7 |
4 |
switch were. For this reason, I think it would be better to set |
5 |
and publish some early deadlines. Even if we aren't going to strictly |
6 |
keep to them, it would help people realize how much time there is left |
7 |
to finish the preparations. |
8 |
|
9 |
|
10 |
Python 3.6→3.7 migration |
11 |
======================== |
12 |
We've already switched the profiles but there are still some unmigrated |
13 |
packages. We will continue either migrating them or last riting if |
14 |
migration seems unlikely to happen. Nevertheless, it is wortwhile to |
15 |
set some final deadlines. My proposal is: |
16 |
|
17 |
|
18 |
2020-08-01 Python 3.7 migration deadline |
19 |
|
20 |
After this date, we lastrite all remaining packages that haven't been |
21 |
ported. This gives people roughly two months, with a ping one month |
22 |
from now. |
23 |
|
24 |
2020-09-15 Python 3.6 target removal |
25 |
|
26 |
As usual, the interpreter will be kept a bit longer, then moved to |
27 |
::python. This accounts for some extra time if people decide to |
28 |
recover last rited packages last minute. |
29 |
|
30 |
|
31 |
Python 3.7→3.8 migration |
32 |
======================== |
33 |
The interpreter is stable but there's still lot of migration work to be |
34 |
done. Good news is that because of the delay with 3.7, many packages |
35 |
are getting 3.7+3.8 or even 3.7+3.8+3.9 simultaneously, so there will be |
36 |
less work in the future. |
37 |
|
38 |
|
39 |
2020-07-01 Python 3.8 target stable-unmasking goal |
40 |
|
41 |
This is not really a deadline but I'd like to aim for resolving |
42 |
depgraph issues and stabilizing everything needed to unmask python3_7 |
43 |
target on stable. Initial set of stablereqs was filed already, |
44 |
and we'll be unmasking the target as soon as the depgraph is clean. |
45 |
|
46 |
2020-09-01 Python 3.8 migration warning |
47 |
|
48 |
At this point we tell people it's about time to start actively |
49 |
updating their packages. |
50 |
|
51 |
2020-12-01 Python 3.8 migration deadline |
52 |
|
53 |
We lastrite all the unmigrated packages. |
54 |
|
55 |
2021-01-15 Python 3.7 target removal |
56 |
|
57 |
As above. |
58 |
|
59 |
|
60 |
Python 2.7 removal |
61 |
================== |
62 |
I would like to continue removing py2.7 from packages where possible, |
63 |
and slowly lastriting where clearly impossible. However, |
64 |
for the remaining packages I'd like to set a hard deadline. |
65 |
|
66 |
|
67 |
2021-01-01 Final Python 2.7 deadline |
68 |
|
69 |
That's one year after upstream's EOL. At this point, we last rite |
70 |
all the remaining py2.7 packages. |
71 |
|
72 |
2021-02-15 Python 2.7 target removal |
73 |
|
74 |
All packages relying on the target are removed. The interpreter |
75 |
stays for as long as we need it. |
76 |
|
77 |
|
78 |
General goal |
79 |
============ |
80 |
As a general goal, I'd like to set timelines like this once we decide |
81 |
that the next interpreter goes stable. The exact lengths are highly |
82 |
dependent on properties of the next target. For example, I suspect |
83 |
Python 3.9 will be easier for us; so far my testing has shown issues |
84 |
that are rather easy to solve. |
85 |
|
86 |
|
87 |
Combined timeline |
88 |
================= |
89 |
From the above dates: |
90 |
|
91 |
2.7 3.6 3.7 3.8 |
92 |
2020-07-01 | | | u py3.8 target unmasked |
93 |
| | | | |
94 |
2020-08-01 | m | | py3.6 pkg last rites |
95 |
| | | | |
96 |
2020-09-01 | | | w py3.7→3.8 migr. warning |
97 |
2020-09-15 | x | | py3.6 pkg removal |
98 |
| | | |
99 |
| | | |
100 |
| | | |
101 |
| | | |
102 |
| | | |
103 |
2020-12-01 | m | py3.7 pkg last rites |
104 |
| | | |
105 |
2021-01-01 m | | py2.7 pkg last rites |
106 |
2021-01-15 | x | py3.7 pkg removal |
107 |
| | |
108 |
2021-02-15 x | py2.7 pkg removal |
109 |
v |
110 |
|
111 |
|
112 |
WDYT? |
113 |
|
114 |
|
115 |
-- |
116 |
Best regards, |
117 |
Michał Górny |