Hi, everyone. I'd like to be more proactive in avoiding the mess like Python 3.6->3.7 switch were. For this reason, I think it would be better to set and publish some early deadlines. Even if we aren't going to strictly keep to them, it would help people realize how much time there is left to finish the preparations.
Python 3.6→3.7 migration ======================== We've already switched the profiles but there are still some unmigrated packages. We will continue either migrating them or last riting if migration seems unlikely to happen. Nevertheless, it is wortwhile to set some final deadlines. My proposal is: 2020-08-01 Python 3.7 migration deadline After this date, we lastrite all remaining packages that haven't been ported. This gives people roughly two months, with a ping one month from now. 2020-09-15 Python 3.6 target removal As usual, the interpreter will be kept a bit longer, then moved to ::python. This accounts for some extra time if people decide to recover last rited packages last minute. Python 3.7→3.8 migration ======================== The interpreter is stable but there's still lot of migration work to be done. Good news is that because of the delay with 3.7, many packages are getting 3.7+3.8 or even 3.7+3.8+3.9 simultaneously, so there will be less work in the future. 2020-07-01 Python 3.8 target stable-unmasking goal This is not really a deadline but I'd like to aim for resolving depgraph issues and stabilizing everything needed to unmask python3_7 target on stable. Initial set of stablereqs was filed already, and we'll be unmasking the target as soon as the depgraph is clean. 2020-09-01 Python 3.8 migration warning At this point we tell people it's about time to start actively updating their packages. 2020-12-01 Python 3.8 migration deadline We lastrite all the unmigrated packages. 2021-01-15 Python 3.7 target removal As above. Python 2.7 removal ================== I would like to continue removing py2.7 from packages where possible, and slowly lastriting where clearly impossible. However, for the remaining packages I'd like to set a hard deadline. 2021-01-01 Final Python 2.7 deadline That's one year after upstream's EOL. At this point, we last rite all the remaining py2.7 packages. 2021-02-15 Python 2.7 target removal All packages relying on the target are removed. The interpreter stays for as long as we need it. General goal ============ As a general goal, I'd like to set timelines like this once we decide that the next interpreter goes stable. The exact lengths are highly dependent on properties of the next target. For example, I suspect Python 3.9 will be easier for us; so far my testing has shown issues that are rather easy to solve. Combined timeline ================= From the above dates: 2.7 3.6 3.7 3.8 2020-07-01 | | | u py3.8 target unmasked | | | | 2020-08-01 | m | | py3.6 pkg last rites | | | | 2020-09-01 | | | w py3.7→3.8 migr. warning 2020-09-15 | x | | py3.6 pkg removal | | | | | | | | | | | | | | | 2020-12-01 | m | py3.7 pkg last rites | | | 2021-01-01 m | | py2.7 pkg last rites 2021-01-15 | x | py3.7 pkg removal | | 2021-02-15 x | py2.7 pkg removal v WDYT? -- Best regards, Michał Górny
signature.asc
Description: This is a digitally signed message part