[Cython] Should we drop support for CPython 2.3? (and maybe even 2.4?)
Dag Sverre Seljebotn
d.s.seljebotn at astro.uio.no
Wed Jul 27 20:14:05 CEST 2011
On 07/27/2011 06:32 PM, Stefan Behnel wrote:
> Hi,
>
> quick question before raising a poll on the users mailing list.
>
> Would anyone mind dropping support for CPython 2.3?
>
> 1) it's long out of maintenance, even the last security release dates
> back to early 2008
>
> 2) there have been seven main releases of CPython since then, four of
> which were in the 2.x line, starting with 2.4 in late 2004 - even 2.5
> was released five years ago
>
> 3) it produces weird and annoying errors in Jenkins, or rather none at
> all most of the time, since the test suite does not run the doctests on
> 2.3 anyway
>
> 4) the new code that was written by Vitja and Mark would be (or would
> have been) cleaner with decorators and other 'recent' Python features
>
> There are two sides to this: dropping support for running Cython in 2.3
> and dropping support for compiling the generated code in 2.3. The first
> is the more interesting one. It's not strictly required to do both, we
> could continue to support it at the C level, but given how badly tested
> Cython is on that version anyway, I think stating that the generated
> code is 2.3 compatible is already hand waving today. So we may even just
> let the C code support fade out silently until someone actually notices.
>
> Actually, even 2.4 is a candidate for dropping support for running
> Cython on it. The last release dates back to December 2008, and its lack
> of 64 bit support makes it severly less attractive than even 2.5, which
> is also going out of security-fix maintenance now.
>
> Comments?
An important aspect is that if you're really stuck on an old Python, you
can always use an old version of Cython.
I'm +1 at dropping 2.3 support. Let's not have it "fade out silently", I
don't like hand waving much -- let's make sure to put it prominently in
the release notes that it is not supported, drop the Jenkins builds for
it, and not think twice about generating C that doesn't work under 2.3.
In fact, how about an #ifdef explicitly generating an error under 2.3.
I'm less sure about 2.4. The RHEL in use at our institute actually have
Python 2.4 in /usr/bin -- granted, they're just about to upgrade. I'd
say keep 2.4 for Cython 0.15[.x], put a deprecation warning in the
release notes, and then remove support in Cython 0.16. That way, there's
at least one Cython version out with all the new stuff for Python 2.4
that people can keep using.
Dag Sverre
More information about the cython-devel
mailing list