Install

To start a new Drupal project with version 9.0.4:

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 drupal-9.0.4.tar.gztar.gz 16.08 MB
MD5: 9ae61fd40bdb8d67796948f665e14003
SHA-1: 9766c6bf9e01060158e0ba0300a3f8cb6459b2c6
SHA-256: e2eb103cbabf96700aac42040e2eb1b5b08ff709b5798ba9f41303ac172b414e
Download drupal-9.0.4.zipzip 27.02 MB
MD5: 2efd007158f85f3dbb8bbe30f66f391f
SHA-1: 94a3d42d202b74063cb5a0dca26680632c282043
SHA-256: a90049fb8c80917647c2a54906325929eea4d6aa9b7f0498299d9efc16393037

Release notes

This is a patch (bugfix) release of Drupal 9 and is ready for use on production sites. Learn more about Drupal 9.

Drupal 9.0.x will receive security coverage until June 2, 2021 when Drupal 9.2.0 is released.

If you are upgrading from Drupal 8, read upgrading a Drupal 8 site to Drupal 9 and the 9.0.0 release notes before upgrading to this release.

If your site is on 8.8.x or earlier, you may wish to upgrade to Drupal 8.9.4 instead, and upgrade to Drupal 9 at a later date after preparing your site.

Known issues

Paragraphs modal dialogs may not show due to a CSS change in core

Search the issue queue for known issues.

All changes since Drupal 9.0.3

  • #3167036 by gapple, anu.a_zyxware, thalles, larowlan: Empty *.libraries.yml file can cause fatal error
  • #3101738 by Lendude, jannakha, alexpott, daffie, catch, bkosborne, Berdir: Exposed term filters should not show term options that the user does not have access to
  • #3005641 by ridhimaabrol24, matsbla, tanubansal, jungle, msankhala, dww, quietone, hchonov: Exception is thrown on changing "Site language" setting of a user if user account is translated
  • Revert "Issue #3101738 by Lendude, jannakha, alexpott, daffie, bkosborne, Berdir: Exposed term filters should not show term options that the user does not have access to"
  • #3101738 by Lendude, jannakha, alexpott, daffie, bkosborne, Berdir: Exposed term filters should not show term options that the user does not have access to
  • #3167390 by mbovan, Berdir: ExceptionLoggingSubscriber should not log backtrace string on access denied exceptions
  • #1929420 by krlucas, kay_v, quietone, seiplax, floydm, alexpott, mlncn, nlisgo, gulab.bisht, scor, longwave, pameeela: $account->getDisplayName() should be used when outputing username in RDF module
  • #3167196 by sarvjeetsingh, davidhernandez, Chi: Fix DrupalCoreRenderElementEmail documentation
  • #2614720 by quietone, roderik, ofry, Dylan Donkersgoed, Deepak Goyal, samiullah, jonathanshaw, benjifisher, larowlan, Rewted, Ruedische, KlemenDEV, ao2, abramm, vadim.hirbu, HiMyNameIsSeb, dionsj, mgp_novicell, scalas89, rollins, dmytro-aragorn, hchonov, mayurjadhav, paranojik, nplowman: Fatal errors while loading/building orphaned comments
  • #3122113 by Suresh Prabhu Parkala, rpayanm, ilgnerfagundes, gabesullice, bbrala, alexpott, xjm: Convert all PHPDoc links targeting JSON:API contrib issues to target Drupal core issues
  • #3164678 by jonathan_hunt, longwave: Reference to RFC5424 severity levels is incorrect
  • #3070375 by lauriii, sacarney: Hidden buttons in off-canvas dialog are not being hidden
  • #2978320 by quietone, Ivan616, daffie: rdf comment storage load should not load NULL comments
  • #3035732 by Lendude, nod_, Vidushi Mehta, Kristen Pol, jungle, larowlan: Views UI tags do not use autocomplete suggestions
  • #3166645 by kiamlaluno: The document comment for Image::scaleDimensions() contains a reference to a function that isn't implemented in Drupal 8 and 9
  • #3127466 by komalkolekar, bnjmnm, kishor_kolekar, sd9121, lauriii, DeepaliJ, DyanneNova, kiran.kadam911, andrewmacpherson, rainbreaw, kostyashupenko: Required fields are not identifiable on Internet Explorer 11 high contrast
  • #3071760 by phenaproxima, vijaycs85, catch, nils.destoop, longwave, alexpott: oEmbed system does not remove query strings from local thumbnail filenames
  • #3164721 by TR, quietone: More uses of public static $modules
  • #3112433 by AndyF, Baysaa, catch, Sam152, SpadXIII: Content moderation state filter incorrectly groups content type condition
  • #3025372 by gabesullice, cantrellnm, aleevas, ravi.shankar, bander2, blainelang, Wim Leers: [regression] Impossible to filter for resources with an empty relationship object in JSON:API 2.x
  • Revert "Issue #3112433 by AndyF, Baysaa, Sam152, SpadXIII: Content moderation state filter incorrectly groups content type condition"
  • #3112433 by AndyF, Baysaa, Sam152, SpadXIII: Content moderation state filter incorrectly groups content type condition
  • #3116841 by quietone, swatichouhan012, dww, mikelutz: Correct latest revision for node 1 in drupal6 test fixture
  • #3160267 by nijolawrence, jungle, alexpott, daffie: Change static queries to dynamic queries in core/modules/{every module}/tests
  • #3130685 by manarth: Correct PHP CodeSniffer coding-standards violation in autoload.php
  • #3151101 by Deepak Goyal, dww, ravi.shankar, shetpooja04, alexpott, quietone: [backport] Replace use of whitelist/blacklist in Filter module
  • #3163687 by shetpooja04, snehalgaikwad, longwave: Unused variable $id in field module, BulkDeleteTest.php
  • #3163703 by eiriksm, longwave: Typo in DeprecatedServicePropertyTrait

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: 2 Sep 2020 at 11:33 UTC
Last updated: 16 Sep 2020 at 18:15 UTC
Bug fixes
Insecure

Other releases