Main Content
Drupal 8 to 9 migration

Drupal 9 Has Dropped! What To Do Now

The long-anticipated drop of Drupal 9 has arrived. This marks an exciting step in the evolution of Drupal. A migration from Drupal 8 to Drupal 9 is not as complex and cumbersome as previous version releases. Drupal 8 to Drupal 9 will be an upgrade that is more akin to a point release.

If you are not prepared to upgrade to Drupal 9 immediately, you are not alone.

Drupal 7 is slated for end-of-life status in November of 2022. Due to a dependency issue, Drupal 8 will face end-of-life this year, on November 2, 2021. Regardless of the version you are on, now is a time to begin planning for a migration and understand what that will entail. To help in that process, we created a Drupal 9 Upgrade Planning Template for migrating from Drupal 8 to Drupal 9.


spreadsheet screenshot for a Drupal 9 migration

The upgrade plan involves the following steps:


Install Upgrade Status or Drupal Check

Installing the Upgrade Status module or the Drupal Check utility is the essential migration planning starting point. The former provides a report in the Drupal user interface to give you a list of what deprecated code you still have. The latter works on the command line. Run the report on your site to see where you stand. It is recommended that you run this check on a lower environment than production if possible.

Check Drupal Core and Your Environment

Running Upgrade Status should give you a report that looks like this:


Drupal 9 migration planning


We’ve created an example version of the Drupal 9 Upgrade Planning spreadsheet and added it to our plan:


Drupal 9 Upgrade Planner spreadsheet


Upgrading to Drupal 8.9

If you have upgraded your site to the latest version of Drupal 8, you will already have the latest Drupal 9 features. 

New features have been added incrementally to Drupal 8. A key step in upgrading to Drupal 9 is the removal of deprecated functions.

Drupal 9 deprecated code list

Check Your Custom Projects

Your custom modules, themes and libraries are the domain that is most under your control. Running the Upgrade Status module will give you a report that looks something like this:

Drupal 9 Upgrade Planner spreadsheet


In our example the “My Site Custom” module has 1 warning and 1 error

When we take a look we see that we need to change the name of a function.


Drupal 9 Migration planning


We’ve added this to our Drupal 9 Upgrade Planner spreadsheet.


Drupal 9 migration spreadsheet

Check Your Contributed Projects

Your “Contributed Projects” are modules, themes, and libraries that are created and maintained by the community.

For upgrading to Drupal 9, this is where things get more difficult. Not every Drupal 8 contributed project will be ready for Drupal 9 on day one. Your course of action will depend on your constraints. 

In our example, we get the following report for “Contributed Projects:”

Drupal 8 Migration planning


The report reveals that we have 9 projects that contain errors and 23 that have warnings. I’ve added these to Drupal 9 Upgrade Planner sheet.


Drupal 9 migration spreadsheet

Address Compatibility Issues of Contributed Modules

To get a better understanding of where contributed modules that produce errors or warnings are in terms of their Drupal 9 compatibility, you can check the module page. If there is not a notice about Drupal 9, there should be an issue in the issue queue. For example, this test project is using “Environment Indicator” version 3.7. A search of the Issue Queue () reveals an issue: “Drupal 9 Deprecated Code Report“ that has a patch that is “Reviewed and Tested by the Community.”

The amount of work to put toward a contributed project (“Low Estimate” and “High Estimate”) and when you would hope to have it upgraded (“Delivery Date”) are up to you.

For Environment Indicator, the Drupal 9 code has been reviewed and needs to be accepted or rejected by the maintenance team.

The actions to take are:

  • Add an additional review of the patch to help get it accepted
  • Apply the current patch to the current codebase
  • Wait for the next stable release

For this example we’ve estimated a couple of hours to update the project during the next stable release.


In Conclusion

Upgrading from Drupal 8 to Drupal 9 will be a lot easier than any previous upgrade. For our example project we have the following estimates:

Drupal 9 migration spreadsheet

We can reduce that estimated delivery date by contributing to the upgrade of some of the contributed modules we are using. Promet Source has contributed to a number of “Drupal 9 Upgrade” issues and encourage others to do the same.

We’re Here to Help

At Promet Source, we are passionate about helping clients to optimize their Drupal environments, whether that means the relatively simple shift from D8 to D9, or a migration from an earlier version. While there appears to be considerable time before the decommission dates for Drupal 7 and 8, keep in mind that waiting until the last minute to do so might be akin to reaching out to an accountant on April 14 concerning the previous year’s tax filing. Take steps now to ensure that thorough focus and attention can be devoted to the migration of your site.

Our team of Drupal 9 migration experts leverages best practices and proven processes for efficiently migrating websites, applications, and content to Drupal 9 -- whether from a previous version of Drupal, another CMS, or a home-grown system.

Banner with a link to a checklist to assess Drupal migration readiness