Skip to content

Drupal 9 Readiness

Matt Glaman edited this page Feb 2, 2022 · 17 revisions

Drupal 9 is planned to be released June 3, 2020. This document is to help explain how drupal-check can help you get ready!

I'm a contributor

Great! Every contribution helps make Drupal awesome!

An easy place to get started is to look at issues tagged with Drupal 9 compatibility and Novice, see https://www.drupal.org/project/issues/search?issue_tags_op=all+of&issue_tags=Drupal+9+compatibility%2C+Novice

Follow the Novice code contribution guide for more details.

I'm a module maintainer

During contribution sprints, contributors helped generate reports on over 300 of the most popular modules! You can see a list here: https://www.drupal.org/project/issues/search?issue_tags_op=all+of&issue_tags=Drupal+9+compatibility

If you're looking for tips on how to resolve some of the issues, see: Deprecation Error Solutions

Want to help enable contributors?

You can break out the drupal-check issues created during MidCamp into smaller tasks and tag them with Drupal 9 compatibility and Novice.

How can you run the report yourself?

  1. Go to an environment that has PHP 7.2 or higher

  2. Create a clean Drupal directory:

    composer create-project drupal-composer/drupal-project:8.x-dev clean-drupal --no-interaction --stability=dev
    
  3. Ensure only dev versions are cloned for modules in this dir:

    cd clean-drupal
    composer config prefer-stable false
    
  4. Install your module into the directory:

    composer require drupal/your-module-name
    
  5. Install drupal-check per https://github.com/mglaman/drupal-check#installation

  6. Run the analysis:

    drupal-check web/modules/contrib/your-module-name
    

If you run into an issue, please submit it to: https://github.com/mglaman/drupal-check/issues

What if I have no compatibility issues?

You can add this drupalci.yml file to indicate you are Drupal 9 ready!

https://gist.github.com/josephdpurcell/1c78367cedc15a075e4231a5a685ced9

This will ensure that deprecation errors are not suppressed during test runs on Drupal CI.

I have a Drupal 8 project

If you have a Drupal 8 project you want to get ready for Drupal 9 you can use this tool to see how close you are to upgrading.

Fist, ensure you are running the latest version of Drupal 8. Second, ensure you are running the latest versions of each of your contrib modules. Then, follow the steps below to run a report on your project:

  1. Go to an environment that has PHP 7.2 or higher

  2. Copy your Drupal 8 project code locally

  3. Install drupal-check in your project per https://github.com/mglaman/drupal-check#installation

  4. Run the analysis:

    php vendor/bin/drupal-check docroot/modules/custom
    

If you have no issues then you at least know your modules are Drupal 9 ready! Now, to make sure your contrib modules are also Drupal 9 ready, you can run this command:

php vendor/bin/drupal-check docroot/modules/contrib

There are many compatibility improvements being made during DrupalCon Seattle 2019 on contrib modules, so consider waiting before checking contrib modules.

If you run into an issue with the drupal-check tool, please submit it to: https://github.com/mglaman/drupal-check/issues. If you find issues with contrib modules, look at issues tagged "Drupal 9 compatibility" on the module's project page.

Clone this wiki locally