Django 2.0 Roadmap
This document details the schedule and roadmap towards Django 2.0.
What features will be in Django 2.0?
Whatever gets committed by the alpha feature freeze!
Django 2.0 will be a 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.
If you have a major feature you'd like to contribute, please introduce yourself on the django-developers mailing list so you can find a shepherd for your feature.
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". Tickets marked "Ready for checkin" are regularly reviewed by committers.
Schedule
Major milestones along the way to 2.0 are scheduled below. See Process, below, for more details. The dates are subject to change as necessary.
September 18, 2017 | Django 2.0 alpha; feature freeze. |
October 16 | Django 2.0 beta; non-release blocking bug fix freeze. |
November 15 | Django 2.0 RC 1; translation string freeze. |
2+ weeks after RC1 | Django 2.0 final (or RC 2, if needed). |
Process
Any features not completed by the feature freeze date won't make it into 2.0.
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. At this time, we will fork stable/2.0.x from master.
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.
Final
Ideally, Django 2.0 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 2.0 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!