Django 1.0 officially released!

Django 1.0

I’ve been working full-time with Django for two years now. In that time there have been huge changes to Django; new features, performance tweaks, stability improvements and better documentation, to name a few. But the question on everyone’s mind was When will Django 1.0 be released? It was slightly ironic that “the Web framework for perfectionists with deadlines” seemed to be eluding it’s own deadline. But the recent code sprints and feature-freeze have finally resulted in the Django’s 1.0 release—a very huge moment for Django developers. And there’s plenty to be excited about.

The official announcement has a couple interesting statistics. Since the last stable release (0.96, about 1 year ago), there have been:

  • Over 4,000 code commits
  • Over 2,000 bugs fixed
  • 350,000 lines of code have been added, edited, or removed
  • 40,000 lines of new documentation, plus revisions of the already spectacular docs.
  • Approximately half of the code that’s gone into Django over the past three years has been contributed by someone other than a core committer.

While 2,000 bug fixes in one year on an open-source project is no doubt impressive, I think the most poignant things to take from those stats are (1) the committment to documentation, and (2) the huge impact a strong community can make.

I’m continually impressed by the quality of programmers that contribute to open-source projects, not only because of their coding abilities but because of their absolute commitment to building better software products—part of which is having quality documentation. Writing documentation usually makes programmers groan, but the Django developers are absolutely anal about having everything thoroughly and clearly documented. The Django Documentation is very well-written, with any unclear language, typos and grammatical errors quickly being filed into bug reports and patches by the community. It’s like having thousands of proof-readers, all with a vested interest in keeping the docs as accurate and up-to-date as possible.

The fact that essentially half of Django has been built by contributors is amazing to me, and really illustrates how efficiently an open-source community operates. How many platforms out there get daily updates with new (tested) features and bugfixes? I’m pretty sure there’s no “trunk” version of Microsoft .NET or Java. The geek inside of me gets a bit giddy when I run svn up on my Django install each morning and see all the updates gently making their way into my own applications. And submitting a patch yourself will make the girls like you even more. Hell, everyone is doing it.

As the 1.0 Release Notes show, there have been a huge number of changes, many of which are not described there. Here’s a quick little Django Cheat Sheet to remind you of all the dirty details. Possibly the most significant change in 1.0, however, is the API stability and commitment to maintaining backwards compatibility. Until now, it was a bit of a chore if you wanted to keep your Django applications up to date—extra diligence was required to make sure features you were using had not been deprecated, and that Django’s APIs had not changes. Such changes (and there were relatively few) to Django’s core were clearly documentened, but it will be great to not have to wonder if the latest bleeding-edge revision is going to break your apps.

Big congrats to Adrian, Simon and Jacob, and all the other people who’ve contributed to Django. This is a huge milestone and I’m pretty pumped to see what the future will bring—I suspect things are just getting started. I think Jeff Croft summed it up quite nicely:

“the Django I fell in love with a couple years ago is a total piece of shit compared to 1.0.”

2 Comments

Jeff Smith

May 06, 2010

I’m so stoked this is finally out in the wild. I’ve been migrating my code throughout the alphas, betas, and RC’s so the changeover to 1.0 was a pretty simple one for me.

I can’t believe how much Django has matured over the last couple of years. I haven’t been working with it full time, but I’ve built a few Django apps/sites and the changes/performance increases are definitely noticeable.

Kyle Fox

May 06, 2010

Jeff: migrating code would’ve been a good plan, in retrospect! Our shop (for better or worse) has a lot of Django code, and with our pressing client demands we unfortunately weren’t always able to keep our code up to date for all our applications. We’re in the process of moving our main CMS to 1.0, and it hasn’t been too painful yet — it will feel good to have that done.

Leave a comment

Comments

Me going grey

Kyle Fox is a developer and designer currently located in Edmonton, Alberta, Canada. (more)