Install

To start a new Drupal project with version 9.0.0-beta3@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.06 MB
MD5: 23ea979eb69823dc64430489cc9ac25b
SHA-1: 0f7431c1d7261d43ca0ac3f82bed8848f7565eb9
SHA-256: 56638318ba953717351974563c2f6de8044ae678271bd8262451dd18cafe5f0c
Download zip 27.19 MB
MD5: 6b4c293e173dba321c6ea90c247449b7
SHA-1: c59c48080bf92cd87e605069c1d2127a523a796d
SHA-256: 345a5d29a67e3d7a22e1d2716efc2cb07a6f717bfaf282d8a2896333b6dd6538

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 update information

For a full list of important changes in 9.0, also see the following:

Database driver handling improvements

  • The default database is now checked when Drupal is updated to ensure it complies with the minimum version supported by the database driver. (Previously, this only happened during installation.) Updates will not proceed if the requirement is not met.

    If you see an error about your database version when running update.php, ensure your database meets the minimum database requirements or install one of the legacy database drivers provided as contributed projects.

  • Database drivers provided by modules can now be placed in src/Driver/Database. These drivers will be listed in the installer. Existing custom or contributed drivers do not need to make any changes and will continue to work as before.

  • Contributed and custom database drivers no longer need to extend core's database-agnostic database classes unless they need to override functionality provided by that code. The core database drivers have had unnecessary classes removed. Read the change record for the full list of classes removed.

Upgrade path changes

Updates and changes to dependencies

  • Drupal 9's PHP dependencies have been updated to the latest compatible versions wherever possible. In particular:

    • Symfony components have been updated from 4.4.7 to 4.4.8. symfony/mime and symfony/var-dumper have been updated from 5.0.7 to 5.0.8, and symfony-cmf/routing has been updated from 2.1.1 to 2.3.1.
    • doctrine/annotations has been updated from 1.8.0 to 1.10.2, and doctrine/reflection has been updated from 1.1.0 to 1.2.1.
    • Diactoros has been updated from 2.2.2 to 2.3.0, and other Laminas components have received patch-level updates.
    • Guzzle has been updated from 6.5.2 to 6.5.3.
    • PHPUnit has been updated from 8.5.2 to 8.5.4.
    • psr/log has been updated from 1.1.2 to 1.1.3.
    • Other development dependencies have received patch-level updates.
  • The Composer plugins provided by Drupal -- the scaffold plugin, the vendor hardening plugin, and the project message plugin -- are now compatible with Composer 2, and Drupal core now allows either Composer 1 or 2.

  • The composer/installers development dependency is no longer pinned to 1.9.0 in drupal/core-recommended. Version 1.9 is now the minimum requirement, and composer/installers may be upgraded whenever a new version is available and a Composer-managed site runs composer update.

    Additionally, Composer has been updated from 1.10.0 to 1.10.5, and composer/ca-bundle has been updated from 1.2.6 to 1.2.7.

  • The wikimedia/composer-merge-plugin dependency has been removed because it is incompatible with Composer 2. It was deprecated in Drupal 8.8.0, and has not been used in core since that release. Any sites that have a separate requirement for this project should add it as a direct dependency.

  • jQuery has been updated from 3.4.1 to 3.5.1.

  • The core/js-cookie library (which was introduced in Drupal 9.0.0-beta1 to replace jquery.cookie) has updated its js-cookie dependency from version 2.2.1 to version 3.0.0-rc.0. A summary of the differences in 2.2.1 and 3.0.0-rc.0 can be found by reviewing js-cookie's release history. Code that interacts with js-cookie via the shim provided by core/jquery.cookie is not impacted by this change.

    Review the change record on js-cookie for more information.

  • Node.js is a development dependency for Drupal core. In Drupal 9, Drupal core's Node.js requirement has been updated from 8.11.0 to 12.0.0. (Information on changes in Node.js 12.) An updated version of Node.js can be installed directly or with nvm. This only affects sites that have installed Drupal core's JavaScript development dependencies with npm or yarn.

Changes to coding standards

  • The development dependency drupal/coder has been updated from 8.3.7 to 8.3.9. New coding standards rules are now available with this update. php_codesniffer has also been updated from 3.5.4 to 3.5.5.

  • The Drupal.Classes.ClassFileName rule is now enabled in the core ruleset to ensure classes are named properly so that they can be autoloaded.

  • The new Drupal.Commenting.Deprecated rule has been enabled to ensure that @deprecated documentation follows a standard format with relevant information for upgrading the code. See the deprecation policy for documentation of the standard.

Other important bugfixes

Known issues

All changes since 9.0.0-beta2

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: 16 May 2020 at 00:09 UTC
Last updated: 16 Sep 2020 at 18:15 UTC
Bug fixes
New features
Insecure
Unsupported

Other releases