Problem/Motivation
Opening the Drupal 9 branch allows a few things to happen.
- We can upgrade Drupal's PHP requirements to require Symfony 4 or higher (and Twig etc.)
- Contrib modules can test against the Drupal 9 branch to ensure they still work
- We can begin removing deprecated code, and backwards compatibility layers
In order for the Drupal 9 branch to be useful, we need to be able to do the below things soon after the branch is opened.
Proposed resolution
The 9.0.x branch opened alongside 8.9.x according to the normal release schedule.
Must-haves prior to tagging Drupal 9.0.0-alpha1
- DONE: Contrib modules must be able to test against Drupal 9 without having to make an entire new code branch. #2807145: [policy, no patch] Allow contrib projects to specify multiple major core branches and #2313917: Core version key in module's .info.yml doesn't respect core semantic versioning enable this
- DONE: Make 9.0.x installable without depending on the core compatibility constant and resolve any other test failures: #3087874: [meta] Make 9.0.x branch pass testbot
- DONE: #3079791: Bump Drupal's minimum PHP version to 7.2 as soon as 9.0.x is branched (a higher version may be required later)
- Update Drupal's major PHP dependencies:
- Remove deprecated dependencies:
- DONE: #3016471: Make localization file download major version agnostic
- DONE: #3074993: Use "current" in update URLs instead of CORE_COMPATIBILITY to retrieve all future updates
Once these issues are resolved, a Drupal 9 branch becomes useful, because it allows for contrib testing of the upgrade path and updated dependencies. The release notes for the alphas will specify that deprecated code has not yet been removed entirely and that any use of deprecated code by contrib/sites will be incompatible by beta1.
Requirements for beta1 are at #3079680: [META] Requirements for tagging Drupal 9.0.0-beta1.
Should-haves
- DONE: #3094007: Update the 9.0.x branch to Symfony 4.4-beta2
- ANNOUNCED: #3088246: [policy, no patch] How to handle Drupal 8.9.x deprecations (Announcement at https://groups.drupal.org/node/535670)
- DONE: #3091418: Update composer dependencies on 9.0.x following PHP 7.2 requirement
- #3099876: Establish a packaging pipeline queue
- DONE: #3104265: Update Composer dependencies on Doctrine components in 9.0.x
- DONE: #3106075: Bump minimum PHP for Drupal 9 to PHP 7.3