Drupal 9 is, according to drupal.org:
"...a cleaned-up version of Drupal 8... [with] deprecated code removed and third-party dependencies updated."
Drupal 9 updates Drupal’s underlying dependencies like Symfony 4.4 and Twig 2, removes several deprecated API functions in favor of better options, and allows everyone running Drupal 8.8+ an easy upgrade path to Drupal 9 and beyond.
Early Access Only - Not for Production Use
Do not use this Early Access release for your live site.
Currently, Drupal 9 is only available on Pantheon as an Early Access feature release. This means the feature is currently in active development and is intended for testing and evaluation purposes only.
Pantheon engineers are rolling out changes often, and easy updates from Drupal 9 Early Access are not guaranteed.
Sites may be deleted without notice.
Test Drupal 9 with a fresh installation using either our Integrated Composer Early Access program or Build Tools:
- If you simply want to test the browser experience of Drupal 9 and get access to forthcoming Pantheon support for Composer in the Dashboard.
- To create a new site with a continuous integration (CI) workflow using GitHub.
|Integrated Composer||• Composer automatically runs on Pantheon |
• Lean repository (vendor dir not in git)
• Integrated 1-click Pantheon updates & Custom Upstreams
|• Early Access only |
• Requires a unique site-name prefix
|Build Tools||• Composer automatically runs via CI |
• Pull request-based workflow
• Supports automated testing
|• Requires 3rd-party CI |
• Terminus required
• Composer updates happen outside the 1-click Pantheon Dashboard
If you're not ready to create a new site yet, you can also check an existing site's compatibility to upgrade. Once you're ready, test-upgrade an existing Pantheon Drupal 8 site to Drupal 9.
Create a New Drupal 9 Site with Integrated Composer
Join our Early Access program to test out both Drupal 9 and Pantheon Integrated Composer support.
Fill out this form to get access to our “Drupal 9 Early Access” group. Once you are added, you'll have access to a new "Drupal 9 Early Access" site creation option from your Pantheon Dashboard.
Spin up a new "Drupal 9 Early Access" site with
ic-demo-2020-as a site name prefix (i.e.,
ic-demo-2020-d9-preview). This will give you the Drupal 9 starter codebase and will automatically trigger a Composer install and
git commiton site creation.
Create a Drupal 9 Site with Continuous Integration via Build Tools
Want to regularly develop with continuous integration (CI) and automated tests? Leverage Pantheon’s Build Tools to get up and running quickly with a CI workflow to build, test, and deploy Drupal 9.
These steps use GitHub and CircleCI:
Install the Terminus Build Tools plugin.
Enable support for custom CircleCI Orbs in your Organizational settings. In CircleCI, click Settings, then Security, and under Allow Uncertified Orbs click Yes:
Use Terminus to create a new Drupal 9 site, complete with a customizable CI workflow. Remember to replace
<NEW-SITE-NAME>in this example with a name for your new site, and
optional-pantheon-organization-namewith your choice (if any):
terminus build:project:create "pantheon-systems/drupal-9-with-circleci-orb:dev-master" <NEW-SITE-MACHINE-NAME> --stability=dev --team='optional-pantheon-organization-name'
Test an Existing Drupal Site for Drupal 9 Upgrade Compatibility
Review the How to Prepare Your Drupal 7 or Drupal 8 Site for Drupal 9 guide on Drupal.org.
Use the Upgrade Status Drupal 8/9 module to generate a full report of your site’s compatibility.
Check out Acquia’s Drupal 9 Deprecation Status Upgrade Tracker for information about Drupal 9 support for contributed Drupal modules and themes.
Update Deprecated Code for Drupal 9 Compatibility
Drupal 9 has deprecated a number of different functions and APIs in favor of better options going forward.
node_load() was replaced in Drupal 9 with
Node::load resulting in this change needed:
$node = node_load(1);
use \Drupal\node\Entity\Node; $node = Node::load(1);
Since most of these changes are relatively minor, there are a number of deprecation checking and correction tools available.
Test-upgrade an Existing Pantheon Drupal 8 Site to Drupal 9
Clone your Drupal 8 site’s codebase to your computer and change directory to it. You can create a new Drupal 8 site or use an existing Drupal 8 site:
git clone <url for site repo> cd <site-name>
Use Terminus to create a Multidev environment called
d9-previewon your Drupal 8 site for testing:
terminus multidev:create <site>.<env> d9-preview
Create and switch to a new testing branch in the Drupal 8 codebase:
git checkout -b d9-preview
9.0.0tag into your codebase:
git pull https://github.com/pantheon-systems/drops-8.git 9.0.0
pantheon.ymlfile to specify PHP 7.3 or newer and Drush 8:pantheon.yml
php_version: 7.4 drush_version: 8
Note that Drupal 9 is not yet compatible with the pre-installed Drush 10.
Commit and push your changes:
git commit -am "test upgrade to Drupal 9" git push origin d9-preview
update.phpon your new Drupal 9 site:
terminus drush <site>.<env> updatedb
Pantheon Drupal 8 Modules Being Upgraded to Drupal 9
|Module Name||Drupal 8 Version?||Drupal 9 Version?|
|Pantheon Advanced Page Cache||Yes||Yes|
|Search API Pantheon||Yes||Not yet|
Does Pantheon have plans to upgrade MariaDB?
Yes, Pantheon has plans to upgrade MariaDB platform-wide before September 30, 2020.
Where can I report an issue?
Drupal 9 issues can be reported on GitHub: