How Drupal 9 was made and what is included

Drupal 9 was mostly built in Drupal 8 using deprecations and optional updated dependency support. Unlike previous new major versions, Drupal 9 is not a reinvention of Drupal. There are only two key differences in Drupal 9:

  1. Updates of dependencies to versions that stay supported.
  2. Removal of our own code that we deprecated with removal before Drupal 9's release.

Other than these two things, Drupal 9.0 is same as Drupal 8.9, the last Drupal 8 minor release.

To illustrate this, imagine your website is a train. Previously,  moving major versions meant moving the train to a different track entirely. Beginning with Drupal 9, new major versions will just be stations on the same track.

Drupal 6, 7 and 8/9 tracks visualized

How and why we deprecated code on the way to Drupal 9

When we had better solutions for problems, we introduced them while keeping and deprecating the old approaches.

What changes are there for third-party dependencies?

Symfony will certainly be updated from 3 to 4.4, other dependecies may be updated or removed or added.

Which modules have been removed from Drupal 9?

The Place Blocks and SimpleTest modules have been removed from Drupal 9. Other modules and themes will be removed in Drupal 10.

Environment requirements of Drupal 9

Which webserver, PHP version, database backend, etc. will be required for Drupal 9?

What are the new features of Drupal 9?

Drupal 9.0 does not include new features, but Drupal 9.1 onward will continue to add features every six months.

What happens in the 9.0.x and 9.1.x branches?

9.0.x is the new major version with dependency updates and deprecated APIs removed. 9.1.x is open for feature development.

Guide maintainers

xjm's picture
bnjmnm's picture
Gábor Hojtsy's picture