Hello, fellow developers.

On behalf of Python team, I would like to announce that we're
officially discontinuing support for Python 2.5, Python 3.1
and PyPy 1.9.

If you still actively use any of those implementations, please migrate
to a newer version. We have ensured already that no in-tree package
doesn't support one of the newer implementations.

I have just committed a package.mask and use.mask entries for them
and unless anybody objects strongly, we will remove them in 30 days
from now. After the removal, we will disable the support for them
in the eclasses and proceed with semi-automated update of PYTHON_COMPAT.

Any questions shall arise, please do not hesitate to reply
to gentoo-dev@ or discuss in bug #480070 [1] that is dedicated
to the issue.

[1]:https://bugs.gentoo.org/show_bug.cgi?id=480070


A short rationale:

The Python team is finding it difficult to maintain the old Python
implementations. Since we tend to run the newest versions, the old ones
don't receive proper testing and we can either rely on the tests (which
not all packages have) or simple manual testing that consumes a lot
of time.

Furthermore, upstreams tend to test their packages with newer versions,
and therefore the test failures are much more common with the old
versions. Addressing those usually involves much more effort than
benefit.

Python 2.5 dates back to 2006. It had last security fix mid-2011
as v2.5.6 but the newest in the tree is v2.5.4 which proves that it's
unmaintained. The following version -- 2.6 -- has much better support
for Python3 compatibility and therefore projects aiming at supporting
both Python2 & Python3 are often dropping support for 2.5.

This became especially visible when dev-python/pil has been introduced
to the tree, as a replacement for dev-python/imaging. Since PIL
supports 2.6 up to 3.3 and imaging 2.5 up to 2.7, it became no longer
possible to easily have all the listed implementations enabled. That's
why most of developers simply disabled 2.5 and it stopped receiving any
testing.

Python 3.1 dates back to 2009. It's the second Python3 'slot', that has
serious improvements over 3.0. However, it's still not as good as 3.2
and therefore most of effort on switching to Python3 focuses on 3.2+.
I've been told that this version has some API incompatibilities that
make it hard to write portable Py2+3 code that works in 3.1,
and that's why a number upstreams doesn't support it. I have no strong
proof of that.

Additionally, a first alpha of Python 3.4 has been released a few days
ago. Considering that, we will be getting a new Python 3 version to
maintain soon enough and we should make some space for it.

PyPy support is still mostly experimental and buggy. All PyPy versions
so far reuse the standard library from Python 2.7, therefore there is
no specific reason to keep multiple slots. Moreover, PyPy 2.1 was just
released and we'll be adding it soon; and PyPy3 2.1 (Python3 variant)
will be released soon.

-- 
Best regards,
Michał Górny

Attachment: signature.asc
Description: PGP signature

Reply via email to