In other threads we've discussed the problem of Python 2/3 compatibility
where we need to catch exceptions and need the exception object itself.
This leads to ugliness and possible poor performance on PyPy.
However, we could get around it completely if we drop Python 2.5
support, since the 'except Exception as e' syntax is valid from Python
2.6. [1]
Other things I've read recently suggest life will be made much easier
for out Python 3 work if we drop Python 2.5 support [2].
So, I propose that we attempt to merge the py3k work after the release
of 1.4, rather than let it go stale and lose the good work done so far,
and also drop support for Python 2.5 for Django 1.5.
For reference, here are release dates so far, and Python versions, with
my proposal sketched in:
Django releases
---------------
Django 1.0 - September 3, 2008
Django 1.1 - July 29, 2009
Django 1.2 - May 17, 2010
Django 1.3 - March 23, 2011
Django 1.4 - early 2012 ?
Django 1.5 - late 2012 ??
Python releases Django dropped support
--------------- ----------------------
Python 2.3 - July 29, 2003 in 1.2 released May 2010
Python 2.4 - November 30, 2004 in 1.4 released early 2012 (?)
Python 2.5 - September 19, 2006 in 1.5 released late 2012 (?)
So, we dropped Python 2.3 support 6 years 10 months after it was
released. We will be dropping 2.4 support after approx 7 years 3 months,
and we would be dropping Python 2.5 support after approx 6 years 3
months. So, this would be a slight squeeze compared to Python 2.3, and a
bigger squeeze compared to 2.4.
But given that I think a push to Python 3 is the right thing to do, this
doesn't seem like an extreme programme at all. We *should* be squeezing
the programme in terms of migrating from 2.x, not expanding it. It would
be nice to be able to announce this when we release 1.4, if we agree on it.
In the past we have talked about dropping a Python version with each
Django release. The other thing to consider is support by the major
vendors. I know very little about this side, but from what I've gleaned,
RHEL5 goes into long term support mode in 2012 Q1 (it had Python 2.4,
which we already dropped), and RHEL6 is already out, and has Python 2.6.
Regards,
Luke
[1] http://docs.python.org/whatsnew/2.6.html
[2] http://goo.gl/qNfKN
--
Luke Plant || http://lukeplant.me.uk/
+1
I think dropping Python 2.5 in the process of porting Django to Python 3.X are reasonable goals. That said, even without the Py3k work going so well I would support dropping Python 2.5 in the next major version.
Jannis
I think both of these proposals are great -- start merging the Python
3 work right after we release 1.4, and drop support for Python 2.5 in
trunk after 1.4 is released.
Thanks for the suggestion, Luke.
Adrian
I totally agree.
Jacob
Same here. +1.
Russ %-)
--
You received this message because you are subscribed to the Google Groups "Django developers" group.
To post to this group, send email to django-d...@googlegroups.com.
To unsubscribe from this group, send email to django-develop...@googlegroups.com.
For more options, visit this group at http://groups.google.com/group/django-developers?hl=en.
This is a very good reason I hadn't though of.
Anyway, looks like this is a plan! Excellent.
Adrian
Regards,
Kok HOOR
Sent from my iPad
This. +1 from me. We do everything else in our power to encourage
secure behavior from our users, this is yet another appropriate step.
-Paul
In a similar vein, I'm actually still doing security fixes for Python
2.2 for some RHEL customers, and for 2.3 and 2.4 for RHEL 4 and 5 (we
never shipped 2.5 in RHEL; we're at 2.6.6 in RHEL 6)
(But I don't want to stand in the way of Python 3 support, and 2.6 is
probably the minimum sane version of 2.* to handle a dual 2/3 codebase)
Dave
I would argue that Jaunty being a non-LTS release shouldn't be considered as a target platform we want to support. OTOH the LTS release Ubuntu Lucid (10.04) ships Python 2.6.5, so we're good.
Jannis
FWIW, RHEL 6.0 shipped with 2.6.5, and we rebased to 2.6.6 in RHEL 6.1:
https://bugzilla.redhat.com/show_bug.cgi?id=627301
http://rhn.redhat.com/errata/RHSA-2011-0554.html
Hope this is helpful
Dave