How to Prepare Your Drupal 8 Site to Move to Drupal 9

If you’re currently on Drupal 8, you can expect a similar experience with Drupal 9 when it is released later this year in June. As Dries has said, “The big deal about Drupal 9 is...that it shouldn’t be a big deal.” 

Drupal 9 will ship with all of the features of Drupal 8 that the community has been updating and adding to since 2015. There will be a few changes, primarily with system requirements and third-party dependencies, in order to ensure platform security:

  • Drupal 9 will require more modern versions of PHP and databases.
  • Where dependent libraries are ending security support, either these libraries have been updated to newer versions (in the case of Symfony and Twig) or replaced with alternatives (in the case of many jQuery UI components)

Because Drupal 9 was mostly built in Drupal 8, the process for migrating from 8 to 9 will be radically streamlined compared to any other major Drupal upgrade of the past decade. Here are the steps for preparing your Drupal 8 website for Drupal 9:

1. Make sure your environment is compatible with Drupal 9’s requirements:

  • PHP 7.3 and above
  • MySQL 5.7, MariaDB 10.3.7, PostgreSQL 10 with the pg_trgm extension, or SQLite 3.26 and above 
  • Drush 10 (if you use Drush)
  • Composer 1.9.1 (which is the same requirement for Drupal 8.8 onwards, if you use Composer)

2. Upgrade Drupal core to the latest version and remove any dependencies you no longer use.

3. Update contributed modules. Tools for checking compatibility status of contributed modules include:

4. Ensure custom modules and themes are compatible with Drupal 9. Tools for fixing any incompatible code include:

5. When available, update Drupal core to Drupal 9 and run update.php.

6. Congratulate yourself on a smooth migration to Drupal 9!

For more information on what to expect in Drupal 9, check out these resources: