Django 3.2 Upgrade: How the Community Can Help

Much of the work to implement major Django upgrades has been historically done by edX, but this is become less sustainable over time as the size of Open edX (and the share of it maintained by other organizations) increases. There are two specific things that we’d like help with from the broader Open edX community for the Django 3.2 upgrade, which are being tracked at the Django 3.2 Upgrade GitHub Project board:

We expect the workflow to be something like the following, although we may make some improvements to the process as we go:

  1. We have created an issue for each particular task in https://github.com/edx/upgrades/issues and tagged them with a yellow “outdated dependency” label. If you think of an appropriate task that hasn’t been ticketed yet, please go ahead and create a ticket for it.

  2. When you’re ready to start actively working on a task, please add a comment to that effect. Someone at edX will then assign the ticket to you and update the ticket status on the board.

  3. If a usable new upstream release is created for a dependency, please mention it in the ticket so the status can be updated. If you create one or more PRs for review, please mention those in the ticket as well.

  4. Open edX services will upgrade to the newly released dependency versions during routine dependency upgrades and active work on updating the services to work with Django 3.2.

  5. We aim to complete this work by the end of September 2021.

  6. If you have any questions, please raise them in the Open edX #external-openedx-django-3-2 Slack channel.

  7. You can see current status of dependencies work in this diagram.