Install

To start a new Drupal project with version 9.1.5:

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 17.66 MB
MD5: 156f9cef63049553f54fd38b3ce0a120
SHA-1: 35fb9abf9af7d43e5db1c9f6d56629f2540b8921
SHA-256: cc5783049707117fd2e9943b870b0daae68a9ef35d91a893223f1359ff052a17
Download zip 28.97 MB
MD5: e5323fc81fc9c55941ed305f72f523bf
SHA-1: d8896cc373ed5c774e35841c50a99052a55c6bc2
SHA-256: b7182a00b3841cc3c16ae5505a6b4b663bd6ae4a88d1636a331cdb095fcbf363

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.1.x will receive security coverage until December 8, 2021 when Drupal 9.3.0 is released.

If you are upgrading from Drupal 8, read upgrading a Drupal 8 site to Drupal 9, 9.0.0 release notes, and the 9.1.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.13 instead. Regardless of which version you choose now, features will only be added to Drupal 9 minor releases, so plan to adopt Drupal 9 as soon as possible so that you can easily update to Drupal 9.2 and later.

Known issues

Layout builder may be incompatible with the latest releases of Chrome and Firefox, this is being actively worked on in #2958588: Off-canvas style resets are overriding styles (especially SVGs) resulting in display issues.

Search the issue queue for known issues.

Changes since 9.1.4:

  • #3184650 by geek-merlin, quietone, benjifisher, alexpott: ContentEntity migration source adds revision ID as source key, incompatible with Drupal 8.8 and earlier
  • #3201113 by achap: PhpunitVersionDependentTestCompatibilityTrait has different cases
  • #2579361 by quietone, ayushmishra206, heddn, jibran, Wim Leers, Lendude, benjifisher, dww: Row->setSourceProperty() docs are misleading
  • #3174349 by quietone, itaran, dww, Kristen Pol: file_url_transform_relative() cannot handle URLs where the port is different from the site's request port
  • #3199582 by shriaas2898: hook_field_storage_config_update_forbid example uses access to protected member of implementing class
  • #3097312 by quietone, Wim Leers, raman.b, benjifisher: Never generate migration dependencies on derivatives of itself is a self_referencing migration_lookup
  • #3197754 by mohit_aghera, baliram.patil, ilgnerfagundes, Elin Yordanov, larowlan, anmolgoyal74, guilhermevp: "Add new Forum topic" button appears also in forum containers
  • #2533254 by chx, quietone, jhodgdon: LanguageInterface lacks @ingroup i18n
  • #3144010 by danflanagan8, ravi.shankar, tim.plunkett, chrisolof, sorlov: New pseudo-fields cannot be removed, InvalidArgumentException thrown
  • #3190140 by nmorin, mherchel, bnjmnm, andrewmacpherson: Collapsible nav button text should be more descriptive
  • #3197721 by Poppy_Norfolk, mherchel, rachel_norfolk: Preload the Metropolis-Regular typeface
  • #3196425 by andrewmacpherson, Gauravmahlawat, ranjith_kumar_k_u, mherchel, Lendude: Remove ::selection style from Olivero
  • #3196430 by Gauravmahlawat, ranjith_kumar_k_u, andrewmacpherson, longwave, maxstarkenburg, Lendude: Remove ::selection style from off-canvas dialog reset
  • #3116377 by justafish, ravi.shankar, idebr, komalk, sauravk, swatichouhan012, KondratievaS, kiran.kadam911, priyanka.sahni, lauriii, volkerk, Abhijith S, djsagar, ckrina, Indrajith KB, mmd: Autocomplete input in views exposed filters does not align with select and text inputs
  • #3196392 by Gábor Hojtsy, volkswagenchick: Topic maintainers lack a description in MAINTAINERS.txt
  • #3197749 by quietone, joachim: empty migrate source does not populate fields with constants
  • #3199205 by xjm, mcdruid: Update Archive_Tar to 1.4.13
  • #2623718 by attiks, vsujeetkumar, andypost, MerryHamster, ankithashetty, anmolgoyal74, pfrenssen, longwave, alexpott, borisson_: Fix 'Drupal.Commenting.HookComment' coding standard
  • #2470753 by ayushmishra206, wizonesolutions, Lendude, longwave: Views documentation for views_data is misleading
  • #3084477 by quietone, oknate, Spokje, benjifisher, alexpott: Bulk output entity count errors from migrate_drupal_ui tests
  • #3189587 by Matroskeen: Add documentation for taxonomy terms source plugins
  • #3182134 by chr.fritsch, alexpott, daniel.bosen: Resolve Olivero config differences after install
  • #3189607 by Spokje, longwave, Pooja Ganjage, anmolgoyal74: Convert assertions involving use of xpath on checkboxes to WebAssert
  • #3178966 by quietone, huzooka, ravi.shankar, Wim Leers: Fatal error in CommentEntityTranslation @MigrationSource when source site does not have comment or node module installed
  • #3187309 by longwave, Spokje, ayushmishra206, kleiton_rodrigues, adityasingh, mondrake: Convert assertions involving use of xpath on select and option elements to WebAssert
  • #3197135 by Shashwat Purav, ilgnerfagundes, le72: hook_validation_constraint_alter() example code
  • #2954982 by Matroskeen, abramm, Rob230: Incorrect bundle/bundle key handling in EntityContentBase::processStubRow()
  • #3128548 by anmolgoyal74, yonailo, sokru, joelpittet, daffie, johnwebdev, alexpott, mradcliffe, DuneBL, catch, xjm, mondrake: Add optional parameters to StatementInterface::fetchObject() to be in line with the PDO implementation of the method fetchObject()
  • #3176394 by huzooka, Wim Leers, quietone: Do not migrate comment related configurations if "comment" wasn't enabled on the source site
  • #3182711 by adamzimmermann, thejimbirch, mherchel, ranjith_kumar_k_u, chr.fritsch: Help block is placed into help region, but that doesn’t exist
  • #997826 by dww, Lendude, sukanya.ramakrishnan, amar.deokar, JonMcL, larowlan, jibran, idebr: #states doesn't work correctly with type text_format
  • #3187415 by Shashwat Purav, abhisekmazumdar, anmolgoyal74, Wim Leers, huzooka, quietone: Module settings translation migrations should depend on the default settings migration
  • #3196177 by Matroskeen, anmolgoyal74, quietone: Add documentation for variable source plugins
  • #3189476 by Wim Leers, ayushmishra206, ankithashetty, quietone: If d7_menu_links depends on d7_menu, then node_translation_menu_links should too
  • #3165944 by Wim Leers, anmolgoyal74, quietone: d7_shortcut migration should not have a dependency on d7_menu_links
  • #3196433 by ayushmishra206, erricha, quietone: Link to php.net datetime formats documentation incorrect in FieldDateTest.php
  • #2857444 by nedjo, jofitz, gaurav.kapoor, Wim Leers: Editor module fails to track usage of files embedded in non-core fields
  • #2693485 by juhog, paulocs, Gogowitsch, Hardik_Patel_12, YesCT, Mirroar, Lal_, ravi.shankar, abhisekmazumdar, tim.plunkett, longwave, esolitos, TravisCarden, lapek, jhuhta, adriancid, samiullah, adalbertov, cilefen, mohit1604, Abhijith S, John Cook, alexpott, dawehner, pameeela, larowlan, catch, leisurman: Content types are ordered by machine name on /node/add page (+ similar issues with other entities)
  • #3196391 by worldlinemine, Gábor Hojtsy, froboy, Pooja Ganjage, xjm: Inconsistent capitalisation for initiative leaders in MAINTAINERS.txt
  • #2558857 by heddn, andr1yun, grahl, andypost, catch, benjifisher, Berdir, joachim: Migrations invalidate entity caches when trying to reclaim memory, should flush
  • #3195277 by xjm, Gábor Hojtsy, quietone: Drupal 9 MAINTAINERS.txt talks about Drupal 8
  • #3195951 by thejimbirch, Pooja Ganjage, volkswagenchick, Gábor Hojtsy, ChrisDarke, xjm: Remove "Provisional membership: None at this time" texts from MAINTAINERS.txt
  • #3196050 by anmolgoyal74, Chi: Fix documentation of StorageConfigBase::validateValue()
  • #3192231 by larowlan, xjm, catch, Mixologic, kim.pepper: UnroutedUrlTest is failing on dev versions of PHP
  • #2571475 by mglaman, tstoeckler, tedbow, eiriksm, Jaesin, phenaproxima, alexpott: Outbound HTTP requests fail with KernelTestBase

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: 4 Mar 2021 at 14:41 UTC
Last updated: 21 Apr 2021 at 16:35 UTC
Bug fixes
Insecure
Unsupported

Other releases