Hello, everyone.
It seems that everything looks good enough to keep our yearly switchover
around May. Which means that around 2025-05-01, we are going to:
1. Change the default Python target from CPython 3.12 to 3.13,
2. Remove the support for Python 3.10 and PyPy 3.10 (pypy3 target).
Mid-May we also expect Python 3.14.0b1, and therefore Python 3.14 target
being introduced.
== Python 3.13 switch ==
Once again, please test your packages against Python 3.13 and add it to
the COMPAT. Overall, looks like the porting is at roughly 76% right
now, and from my little sprint yesterday, it looks like in many cases
the packages simply work already with 3.13 and just need to be tested
and marked.
As usual, the lists and graphs can be found on qa-reports:
https://qa-reports.gentoo.org/output/gpyutils/312-to-313.txt https://qa-reports.gentoo.org/output/gpyutils/312-to-313.svg
and for pending stabilizations:
https://qa-reports.gentoo.org/output/gpyutils/312-to-313-stablereq.txt https://qa-reports.gentoo.org/output/gpyutils/312-to-313-stablereq.svg
There's also the more general impl matrix at:
https://qa-reports.gentoo.org/output/python-pkg-impls.txt
While porting, please also remember to switch packages using distutils-
r1 to use PEP517 builds, as the pre-PEP517 world is falling apart.
I'm going to submit the news item for review shortly.
== Python 3.10 and PyPy 3.10 removal ==
PyPy3.11 has been released recently, and the porting is mostly done.
There are still a handful of packages that work with PyPy3.10 only:
https://qa-reports.gentoo.org/output/gpyutils/pypy310-to-pypy311.txt
However, they seem low priority — probably most of them have gotten
marked for pypy3 by accident, and may never have been actually tested.
Feel free to test/port them, but I think there will be no harm if they
lose PyPy3 support entirely for the time being.
Given that the main reason for keeping CPython 3.10 target was to be
able to compare results between CPython and PyPy, the release of
PyPy3.11 allows us to remove the target. On top of that, some major
projects (Sphinx and IPython) have removed upstream support for 3.10
already, and well, with all their reverse dependencies things are
already falling apart.
So, we're going to remove 3.10 targets while switching the default to
3.13. As usual, dev-lang/python:3.10 will remain available for
local/venv use, for as long as we can (i.e. until upstream EOL, then
until it breaks hard). We may also keep dev-lang/pypy:3.10 for a while,
unless upstream discontinues it before the switchover.
== Python 3.14 beta ==
PEP 745 [1] sets the beta 1 release date for 2025-05-06. As customary,
at this point we will add new target support to the eclass, and start
porting the initial packages. We're not syncing this with the other
switches, since new COMPATs will appear gradually anyway.
[1]
https://peps.python.org/pep-0745/
--
Best regards,
Michał Górny
-----BEGIN PGP SIGNATURE-----
iQFGBAABCgAwFiEEx2qEUJQJjSjMiybFY5ra4jKeJA4FAmfZW1ISHG1nb3JueUBn ZW50b28ub3JnAAoJEGOa2uIyniQO140IAJIwl8JlIIWh1PSJVRPbXCVJlEkfkvgr H6pRD18W3EGP1tg/ux21iTVGOYaolyyYLsBcjglmzMbubeBJg8RJwVEpOtoBFIRR jhEm0uUZfvwiWLturrjJr5c8IvEu+5pvvSr0qkQbcJDR+itXlIS6QOsTWSrkcHmO Um/68zyDM+DinpFcoZCui2biqNohhIf0FciDVyiGd1D5AIH99H4qISK1cIzTPSPn Oi7QSPrBke17FreC0QU4lBoi2N/UkMUo5dzbMk3DmAvqdtklg2wBzg+YKZg/w6zP zsm14EVOVSCFa0uzu1U9fUT65wO29DOkY9AfXQ+MwnePSNYpP+qD808=
=8U/D
-----END PGP SIGNATURE-----
--- SoupGate-Win32 v1.05
* Origin: fsxNet Usenet Gateway (21:1/5)