Weblog

Announcing Django 0.96!

We're incredibly pleased to announce the release of Django 0.96!

The primary goal for 0.96 was a cleanup and stabilization of the features introduced in 0.95. The release notes cover the few backwards-incompatible changes, but for most people the upgrade process should be simple.

One particular change affects users of MySQL on older servers: If you get an error about Django requiring a newer version of MySQLdb, you'll need to either upgrade MySQLdb to 1.2.1p2 or later, or switch your DATABASE_ENGINE setting to "mysql_old". You can read more about this change in the release notes.

Though the main focus of 0.96 is stability and maturity, it also includes some juicy new features to help you write even better code. Of particular note:

  • Django now ships with a comprehensive set of testing tools. You can write tests based on doctest or unittest, test your views with a simple test harness, and load initial data ("fixtures") automatically.

    If testing is indeed like flossing, think of these new tools as super-comfortable, deliciously flavored, top-of-the-line thread.

  • Django 0.96 also ships with a brand new forms library, django.newforms. This is a replacement for django.forms, the old forms/manipulator/validation framework. Both APIs are available in 0.96, but over the next two releases we're going to switch completely to this awesome new system.

Read the release notes for more details on these and other changes.

We can't possible thank our amazing development community enough. This release contains the work of over 200 different people. To put this in perspective: when we released 0.95 we thanked "the dozens of Django contributors"; this time, it would be more appropriate to thank hundreds of contributors. In other words, this release wouldn't have happened without this amazing community.

To everyone who's reported a bug, submitted a patch, participated on our mailing lists, hung out in our IRC channel: our most heartfelt thanks. As always, We try (but inevitably fail) to list everybody in the AUTHORS file.

So, what are you waiting for? Go download 0.96, and let us know what you think!

Posted by Jacob Kaplan-Moss on March 23, 2007

Comments

Stefan March 23, 2007 at 5:34 p.m.

Well done guys! Any estimates on when Django will reach 1.0?

Adrian Holovaty March 23, 2007 at 5:50 p.m.

Stefan: No firm estimate at this point. It'll be ready when it's ready.

CJL March 23, 2007 at 6:26 p.m.

Awesome. Any progress on Chapter 7 of the Django Book?

eas March 23, 2007 at 8:11 p.m.

Sweet!

Also sweet to see that Tabblo was acquired by HP.

Jeff Croft March 23, 2007 at 9:09 p.m.

Great work, everyone. Just upgraded all my sites, and went smooth as silk. Congrats!

Dave Lowe March 24, 2007 at 1:19 a.m.

Congrats guys, awesome work! Started upgrading and it's going great. And thanks for that note on 'mysql_old', I thought I was going crazy when that mysqldb error suddenly cropped up.

O March 24, 2007 at 2:47 a.m.

THANK YOU !
I have not contributed a lot so far, but thanks to Django and its wonderful community I am close to be a pure Python/Django player inside my Java-minded company (Jython helps me a lot to survive here too).
I will talk about my work on my upcoming blog ASAP.
Thanks again. You are my saviors !

Anthony Starks March 24, 2007 at 9:36 a.m.

one 0.95->0.96 upgrade gotcha on Mac OS X:

the 0.95 installation created /System/Library/Frameworks/Python.framework/Versions/2.3/lib/python2.3/site-packages/Django-0.95-py2.3.egg.

This caused the 0.95 version to continue to be imported even after 0.96 was installed (in /System/Library/Frameworks/Python.framework/Versions/2.3/lib/python2.3/site-packages/django)

The workaround is to rename the egg:
cd /System/Library/Frameworks/Python.framework/Versions/2.3/lib/python2.3/site-packages
sudo mv Django-0.95-py2.3.egg Django-0.95-py2.3.egg-

Tomh March 24, 2007 at 12:12 p.m.

Nice! Gonna check it out soon to see if it can replace rails for my company :). The new form stuff looks very promising.

JohnM March 24, 2007 at 12:52 p.m.

It looks as thought django is reaching a real critical mass of late! This is an awesome milesone for everyone, and congrats to the team, well done!

J

Panos Laganakos March 24, 2007 at 3:38 p.m.

Thanks for the release,

awesome as always.

Fredrik Sundqvist March 24, 2007 at 5:23 p.m.

Nice work! :)

guotie March 24, 2007 at 9:44 p.m.

thanks very much!

apollo13 March 25, 2007 at 5:31 a.m.

Well done, well done!

peter March 25, 2007 at 8:46 a.m.

I wait her so long!

Brian March 25, 2007 at 10:33 a.m.

Can we get some documentation for the 'official' way to upgrade from .95 on OSX? I tried Anthony's method above and it seemed to work, but I wonder if this is the correct way to handle the upgrade?

gjiro March 25, 2007 at 4:58 p.m.

Congratulations + big thanks!

alienbrain March 25, 2007 at 5:43 p.m.

Awesome!

Tons of enhancements. I'm especially very glad that newforms finally made it in the official release. I hope contrib.admin will soon use it so we can go even more nasty!

cruocitae March 26, 2007 at 11:16 a.m.

Hmm. Maybe this is the point I'll try Django out. Thanks!

Greg March 26, 2007 at 4:55 p.m.

I could be doing something daft, but I had to change the following line in setup.py:

package = dirpath[len_root_dir:].lstrip('/').replace('/', '.')

to:

package = dirpath[len_root_dir:].lstrip('\\').replace('\\', '.')

to make it install under Windows.

bex March 27, 2007 at 10:34 a.m.

"newforms?"

hehehe... that begs the question, what will your next version be called?

"newerforms?"

"newestforms?"

"forms with a vengeance"?

Just razzing you... keep up the good work!

CoolGoose March 27, 2007 at 12:38 p.m.

You do understand that in the future versions if i'm not mistaking newforms will just be forms.

Lukas March 28, 2007 at 6:44 a.m.

Therfore the docs suggest that you import them in new projects as:

from django import newforms as forms

lnx April 1, 2007 at 9:01 p.m.

You guys totally freaking rock. Django has got me all excited about web dev again. I think you've actually given years back to my life that I won't be spending in front of a keyboard.

Arik April 2, 2007 at 1:41 p.m.

Django is indeed tantilizing due to the fact it doesn't require such a large stack. However you do have the option of running a big stack, most times its just not necessary. I gave django a go about a month ago and really like how the admin was generated, thinking about giving it a go again.

NeedCoffee April 4, 2007 at 11:52 a.m.

Now if you could just put in the ability to have multiple admin levels into the backend, I'd be golden. ;)

Adrian Holovaty April 8, 2007 at 8:23 p.m.

NeedCoffee: That's coming up shortly. See here:

http://code.djangoproject.com/wiki/Ne...

Tom von Schwerdtner July 2, 2007 at 10:14 a.m.

Is it my app (NewsFire) or your feed that makes this entry show up as "new" every now and then?

Comments are closed

To prevent spam, comments are no longer allowed after sixty days.