Hi all,

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/

-- 
You received this message because you are subscribed to the Google Groups 
"Django developers" group.
To post to this group, send email to django-developers@googlegroups.com.
To unsubscribe from this group, send email to 
django-developers+unsubscr...@googlegroups.com.
For more options, visit this group at 
http://groups.google.com/group/django-developers?hl=en.

Reply via email to