Install

To start a new Drupal project with version 9.0.0-rc1@RC:

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.05 MB
MD5: 014bb0ffd27ca52329e9e5f80e38cd3d
SHA-1: 267df2590cee110f18687b9ef54b1a5c553ec969
SHA-256: bfec407d09e3a1eee298c40fa1bc0c63cc4908dc31900ba0bcefa2f1f3a6c706
Download zip 27.1 MB
MD5: af635db4503993b6217a5df247b15113
SHA-1: 86e2dfd953a9f76cc8981e50dc1bcd3b4a183231
SHA-256: 6cc1e5aa6694ad42f6724940f5d5062212db887b7524cb8b60f0c57bb16e1652

Release notes

This is a release candidate for the next major version of Drupal. Release candidates are not supported for production sites, but they are intended for widespread testing in preparation for the upcoming stable release. More information on release candidates.

This release (as well as 9.0.0-beta3) fixes security vulnerabilities present in 9.0.0-beta2. Sites are urged to upgrade immediately after reading the security announcement and notes below:

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

  • jQuery was updated to 3.5.1 in 9.0.0-beta3 for the above security advisory, and as a result, 9.0.0-beta2 and earlier have been marked insecure. The jQuery update introduces security fixes that may be disruptive to some modules, themes, or sites that used self-closing HTML tags incorrectly for tags that did not support them (e.g., <div /> instead of <div></div>). For more information, read the change record on the jQuery 3.5 update.

  • Drupal 7 entity_translation revision migrations for nodes are now supported

Changes to coding standards

The following additional rules have been enabled in the core ruleset since 9.0.0-beta3:

  • The DrupalPractice.General.ExceptionT rule has been enabled, to ensure that no exception messages are translated. Our conventions for exceptions disallow using the string translation or formatting APIs because they interfere with exception handling and because exception messages that differ from the codebase complicate the debugging process for developers.
  • Commenting.DocComment.TagGroupSpacing has been enabled for better whitespace formatting of docblocks.

Other important bug fixes

Known issues

All changes since 9.0.0-beta3

  • #3076447 hotfix by daffie, catch
  • #3110200 by himanshu_sindhwani, kiamlaluno, tdnshah, xjm: Comments make a reference to filter_process_format(), which no longer exists
  • #3132964 by jungle, longwave, sja112, dww, xjm, daffie: assertResponse() does not actually support a $message parameter, so stop passing one
  • #3076447 by quietone, jungle, shaktik, catch, heddn, alexpott: Migrate D7 entity translation revision translations
  • #3100712 by daffie, tim.plunkett, milindk, StevenPatz, xjm, alexpott, dorficus, tedbow, bircher, marcuschristopher, opdavies: Drupal 8.7.10 to 8.8.0 update fails if views have invalid configuration
  • #3135310 by alexpott: Remove completely unused 'database_ready' install state logic
  • #3138731 by jungle, dww: Fix "inheritdoc" typos in core
  • #3138671 by dww: Fix "incompatitable" typos in core
  • #3137414 by shaal, dww, Gábor Hojtsy, sja112, codersukanta, jungle, xjm, hestenet, Dries: Remove D8 branding from D9 status report
  • #2830326 by dww, mpdonadio, cebasqueira, Wim Leers, amateescu, jungle, xjm, daffie, Pasqualle: Broken link to 'Put your site into maintenance mode' on update.php results in WSOD
  • #3136302 by Webbeh, bnjmnm, catch, xjm: Replace UPDATE.txt with links to d.o documentation
  • #2937513 by eltori, longwave, klausi, catch, idebr: Fix 'Drupal.Commenting.DocComment.TagGroupSpacing' coding standard
  • Revert "Issue #3062446 by a.qala: duplicate if statements in "MenuLinkContent.php" on line 151 and 156 - Code Improvement in "Custom Menu Links" module"
  • #2983452 by ridhimaabrol24, Kwadz, cburschka, jungle, somersoft, julienjoye, dhirendra.mishra, beram, daffie, alexpott: Improve support for SQLite in memory database
  • #2821499 by jungle, Andy_D, nikitagupta, lomasr, bbombachini, alexpott, andypost, Mile23, quietone, Sophie.SK, mtodor, barone, kuldeep_mehra27, vsujeetkumar, swatichouhan012, jhodgdon: Enable phpcs rule DrupalPractice.InfoFiles.NamespacedDependency
  • #3135390 by munish.kumar, jungle, mondrake, xjm, daffie: Replace assertions involving calls to is_readable() and is_writeable() on files and directories with PHPUnit assertions
  • #3137268 by benjifisher, mikelutz, quietone, phenaproxima, heddn: Add benjifisher as a sub-system maintainer for migrate
  • #3120731 by alexpott, japerry, daffie, codersukanta, rfay, xjm, tim.plunkett, catch, andypost: Incorrect "Drupal already installed" if any database settings are wrong or unsatisfactory
  • #3136668 by dww, dawehner, pavnish, catch, daffie, alexpott, xjm: Invalid system.schema key_value entry causes fatal on updating to 8.8.5
  • #3123933 by greg.1.anderson, alexpott, longwave, xjm: Determine whether ComposerProjectTemplatesTest is testing the internet, and if it is, avoid that
  • #3062446 by a.qala: duplicate if statements in "MenuLinkContent.php" on line 151 and 156 - Code Improvement in "Custom Menu Links" module
  • #2055851 by andypost, jungle, dawehner, Mac_Weber, sja112, borisson_, fietserwin, init90, Gábor Hojtsy, xjm, effulgentsia, tim.plunkett: Remove translation of exception messages
  • #3137455 by sja112, mondrake, longwave: AssertLegacyTrait - change links in @trigger_error deprecations to point the relevant change record
  • Revert Issue #3110669 by quietone, Gábor Hojtsy: Migrate d7 menu language content settings

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: catch
Created on: 22 May 2020 at 22:39 UTC
Last updated: 16 Sep 2020 at 18:15 UTC
Bug fixes
Insecure
Unsupported

Other releases