Install

To start a new Drupal project with version 9.0.0-beta1@beta:

To update your site and all dependencies to the latest version of Drupal:

To update your site to this specific release:
Pinning to a specific release may make it more challenging to update your site in future, see composer documentation for managing pinned versions

Using Composer to manage Drupal site dependencies

Downloads

Download tar.gz 16.02 MB
MD5: f68e669e0a50859c2fce1a0da8455d8a
SHA-1: 874f4f28570cd581fcd1b53833db8bf53010abfb
SHA-256: c2c07d8bc3c7416321c56bc69a8410e829f56d3bf08fe6674fb0915a0950d033
Download zip 27.09 MB
MD5: 1c6f318fa1dda286849b2a917f7d0812
SHA-1: 7fd10152a2f0ab0d803119fdf1533168284eb9e1
SHA-256: 31506d005cc23e4cf71ef8b3b494f016e3a9e7f62386ca9f344ba555be279dc1

Release notes

This is a beta release for the next major version of Drupal. Drupal 9 beta releases are intended for site owners and module or theme authors to test compatibility and upgrade paths for Drupal 9.0. Beta releases are not intended for production.

Refer to How to prepare your Drupal 7 or 8 site for Drupal 9 for tools you can use to check the Drupal 9 compatibility of modules, themes, and sites. For more information on 9.0.x development, see #3007300: [META] Release Drupal 9 on June 3 2020.

The 9.0.x branch also includes all the latest commits that will be backported to 8.9.x and earlier branches. 9.0.x and 8.9.x have the same APIs and features. The key changes in 9.0.x are:

  1. Deprecated code will be removed.
  2. Dependencies will be updated to new major versions as appropriate.
  3. Platform requirements (supported PHP and database versions) will be increased.

For all other changes, refer to the 8.9.x branch.

Important changes since 9.0.0-alpha2

For a full list of important changes in Drupal 9.0, be sure to also read the 9.0.0-alpha1 release notes and 9.0.0-alpha2 release notes.

Server and database requirements

Drupal 9 requires PHP 7.3 or higher, and the version requirement for Apache has been increased to Apache 2.4.7 or higher. The following database versions are supported by Drupal 9 core:

  • MySQL or Percona 5.7.8.
  • MariaDB 10.3.7 (Note that this is a more recent release than the MySQL version.)
  • PostgreSQL 10 with the pg_trgm extension.
  • SQLite 3.26 (PHP 7.4 does not use the system-provided SQLite, so verify that your PHP is compiled with at least this version). Note that we are discussing lowering this back to 3.22; see the known issues section below.

A contributed database driver is available to provide support for older supported versions of MySQL, Percona, and MariaDB until their end of life. (A similar driver could be created for PostgreSQL 9.)

All identifiers (table names, database names, field names and aliases) are quoted in database queries. Column names or aliases should be wrapped in square brackets when using Connection::query(), db_query(), ConditionInterface::where() or SelectInterface::addExpression. Custom or contrib database drivers should read All identifiers should be quoted in database queries to see what changes are necessary.

Theme system improvements

  • A new Stable 9 base theme has been added for backwards-compatible markup and assets. Its templates and CSS files have been updated to match with the most recent versions in modules. Drupal 8's Stable theme will still be shipped in Drupal 9 along with Stable 9, but will be deprecated during the Drupal 9 lifecycle to be removed in Drupal 10.

  • Classy is no longer a base theme of core themes. Work is underway to further decouple core themes from the Drupal 8 Stable theme. Once this work is complete, the core internal themes will directly receive bugfixes from module changes in minor releases (rather than developers having to copy the fixes into every theme).

Dependency updates

Migration system improvements

A new 'complete node migration' is now available and will migrate all nodes and node revisions, including translated nodes and the translated node revisions. The complete node migration is named d*_node_complete.yml (where * is the major version, 6 or 7) will eventually replace the existing trio of node migrations, d*_node, d*_node_revision, and d*_node_translation. See the change record on the complete node migration for more information.

Upgrading from Drupal 8

Drupal 8 sites can update to Drupal 9 using update.php or drush. Updates will only run on sites that have already been updated to 8.8.0 or later, and we recommend updating from the latest patch release of Drupal 8.8 (or Drupal 8.9.x once that is out), as well as updating all contributed modules, before updating to Drupal 9. Although Drupal 9 is not yet ready for production, we encourage testing of the upgrade path with the beta release.

Even if you are not ready to begin upgrading to Drupal 9, if you are on 8.7.x or older Drupal versions, you should aim to get onto Drupal 8.8.x as soon as possible.

Note for users of the Experimental Workspaces module

Existing Drupal 8 sites using the experimental Workspaces module must update to at least Drupal 8.8.2 before updating to Drupal 9. (This is due to a required data integrity fix.) Remember that Workspaces is currently in beta status and is not intended for production.

Upgrading from Drupal 7

Drupal 7 users can continue to migrate to Drupal 8.8 and the forthcoming Drupal 8.9 release, updating to Drupal 9.0.x can then happen following its release.

The upgrade path for multilingual sites is stable in Drupal 9.0.0-beta1! It will also included in forthcoming releases of Drupal 8.9.x and Drupal 8.8.x.

Known issues

All changes since 9.0.0-alpha2

What’s next?

  1. Learn how to install Drupal
  2. Learn how to update Drupal
  3. Extend Drupal to do more
  4. Get training
  5. Check out what others built
Created by: xjm
Created on: 20 Mar 2020 at 19:30 UTC
Last updated: 28 May 2020 at 07:47 UTC
Bug fixes
Insecure
Unsupported

Other releases