===================
Django 4.0 Roadmap
===================

This document details the schedule and roadmap towards Django 4.0.

What features will be in Django 4.0?
=====================================

Whatever gets committed by the alpha feature freeze!

Django 4.0 will be a time-based release. Any features completed and committed to main 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 <https://groups.google.com/forum/#!forum/django-developers>`_ so you can find a shepherd for your feature.

Minor features and bug fixes will be merge 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 <https://dashboard.djangoproject.com/>`_. 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 mergers.

Schedule
========

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

==================  ======================================================
September 20, 2021  Django 4.0 alpha; feature freeze.

October 25          Django 4.0 beta; non-release blocking bug fix freeze.

November 22         Django 4.0 RC 1; translation string freeze.

December 6          Django 4.0 final
==================  ======================================================

Process
=======

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

Mariusz Felisiak 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 merged by the Alpha 1 deadline. Any
features not done by this point will be deferred or dropped. At this time, we
will fork ``stable/4.0.x`` from ``main``.

After the alpha, non-release blocking bug fixes may be backported at the
mergers' 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 4.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 4.0
final. If not, we will decide how to proceed from there at that time (likely
another release candidate would be issued 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 <http://docs.djangoproject.com/en/dev/internals/contributing/>`_ and the `guide to Django's
  release process <http://docs.djangoproject.com/en/dev/internals/release-process/>`_.

  These guides explain 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 <https://docs.djangoproject.com/en/dev/internals/contributing/triaging-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 3 years ago Last modified on Mar 9, 2021, 2:11:59 AM
Note: See TracWiki for help on using the wiki.
Back to Top