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:
Using Composer to manage Drupal site dependencies
Downloads
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