Django 1.9 Roadmap

This document details the schedule and roadmap towards Django 1.9. As we work toward the final release, updates on release blockers are available on the django-developers mailling list.

What features will be in Django 1.9?

Whatever gets committed by the alpha feature freeze!

Django 1.9 will be a fully time-based release; any features completed and committed to master by the alpha feature freeze deadline noted below will be included. Any that miss the deadline won't.

The Django core team has a couple of major features we'd like to merge:

Minor features and bug fixes will be committed as they are completed. If you have submitted a patch, be sure the flags on the Trac ticket are correct such that it appears in the "Patches needing review" filter of the Django Development Dashboard. Better yet, find someone to review your patch and mark the ticket as "Ready for checkin". Core developers try to regularly review and merge "Ready for checkin" tickets.


Major milestones along the way to 1.9 are scheduled below. See Process, below, for more details. The dates are subject to change as necessary.

September 21, 2015 Django 1.9 alpha; feature freeze.
October 19 Django 1.9 beta; non-release blocking bug fix freeze.
November 16 Django 1.9 RC 1; translation string freeze.
2+ weeks after RC1 Django 1.9 final (or RC 2, if needed).


Any features not completed by the feature freeze date won't make it into 1.9.

Tim Graham as the release manager, will be in charge of keeping the schedule. The release manager keeps track of who's working on what issues so that bug reports can be efficiently routed and also nag developers who are in danger of missing deadlines.

Feature freeze / Alpha 1

All major and minor features must be committed by the Alpha 1 deadline. Any features not done by this point will be deferred or dropped. Note that in the 1.6 and 1.7 release cycles minor features were allowed until beta.

At this time, we will fork stable/1.9.x from master. In previous release cycles we forked after beta, but now that we aren't going to accept minor features after alpha, we need to fork sooner.

After the alpha, non-release blocking bug fixes may be backported at the committer's discretion.

Beta 1

Beta 1 marks the end of any changes that aren't considered release blocking bugs. A bug is a "Release blocker" if it's a regression from a previous version of Django or if it's an important bug in a new feature. Only release blocking bug fixes will be allowed to be backported after the beta.

RC 1

If there is still a consistent stream of release blockers coming in at the planned release candidate date; we'll release beta 2 to encourage further testing and push the release candidate date out ~1 month.

RC 1 marks the freeze for translation strings; translators will have two weeks to submit updated translations for inclusion in the final release. Release blocking bug fixes may continue to be backported.


Ideally, Django 1.9 final will ship two weeks after the last RC. If there are no major bugs found by 2 weeks after the release candidate, we will issue 1.9 final. If not, we will decide how to proceed from there at that time (likely another release candidate would be issue at some point).

How you can help

The only way we'll meet these deadlines is with a great deal of community effort. To that end, here's how you can help:

  • Read the guide to contributing to Django and the guide to Django's release process.

    These guides explains how our process works. where to ask questions, etc. It'll save everyone time if we're all on the same page when it comes to process.

  • Work on patches and triage tickets.

  • Attend a sprint (in person or in IRC).

  • Test the release snapshots (alphas, betas) against your code and report bugs.

  • We need lots of testers if we're to have a bug-free release. Download a snapshot or a git checkout and give it a try!

Last modified 9 years ago Last modified on Sep 25, 2015, 8:25:50 AM
Note: See TracWiki for help on using the wiki.
Back to Top