Install

To start a new Drupal project with version 9.1.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.1.4.tar.gztar.gz 17.66 MB
MD5: 1f4190858592ade6ea782b67452cf10c
SHA-1: d4274a776ebb0109b5807a7a3ec5039c700db5b3
SHA-256: f6ddd4ecab75cbae1d9ab96ca4d693f9f6f097f503a557b3019a890109bbeb8d
Download drupal-9.1.4.zipzip 28.96 MB
MD5: 4dc3804a55f17ac3d1d17593d08d8809
SHA-1: 8f7a5b2e47d6e6874571eecb752d8cb24617aeb1
SHA-256: f73fbf5aaaa5cc59ce5bdb12e4b9473de2a8077c9552d6abec4801523452f5fc

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

Search the issue queue for known issues.

Changes since 9.1.3:

  • #3187241 by realityloop: Add Brian Gilbert (realityloop) as a provisional mentoring coordinator
  • #3194562 by alexpott, clayfreeman: Add database dumps for 9.0.0
  • #3191468 by Gábor Hojtsy, xjm, ckrina, DeepaliJ, bskibinski, Deepthi kumari, catch, Neslee Canil Pinto, Dennis Cohn, boulaffasae, bnjmnm, andypost, aleevas, antonellasevero, anu.a_95, bandanasharma, atul4drupal, cedric_a, codersukanta, Hardik_Patel_12, Krzysztof Domański, hash6, himanshu_sindhwani, heykarthikwithu, HOG, fhaeberle, Dinesh18, design.er, DyanneNova, effulgentsia, ethomas08, emma.maria, Adam Szalapski, kostyashupenko, tedbow, vishalchandna, volkerk, aburrows, Pls, martin107, lauriii, alwaysworking, VD39, anand.toshniwal93, dawehner, justafish, iKb, eojthebrave, finnsky, Ambient.Impact, tunic, alexpott, andrewmacpherson, antoineh, anmolgoyal74, slip, rsau, lhuria94, jeevanbhushetty, porkloin, progga, rahul01, pwilson, hudri, huzooka, ravi.shankar, reinchek, rensingh99, sauravk, saschaeggi, ranjith_kumar_k_u, SharmaAnmol, pradeepjha, prabha1997, pranav45, priyanka.sahni, rainbreaw, quiron, sd9121, shaal, tim.plunkett, thekishanraval, yoroy, nod_, Devipriya Rajamanickam, Archita Arora, thalles, tanubansal, Vinodhini.E, shashikant_chauhan, shimpy, sibustephen, swatichouhan012, siddhant.bhosale, pminf, phenaproxima, kiran.kadam911, katrienc, KondratievaS, Kristen Pol, Lal_, L2G2, katherined, katannshaw, Indrajith KB, imganesh, Jongruk Timmanee, iro, kapilkumar0324, joseph.olstad, Lendude, Maithri Shetty, mrinalini9, mradcliffe, narendra.rajwar27, neelam_wadhwani, olli, Peter Majmesku, modulist, mfairchild365, komalk, kishor_kolekar, martijn.cuppens, Meenakshi.g, Vidushi Mehta, Neetika K: Retire "Admin UI and JavaScript Modernisation" initiative in favour of "Decoupled menus" and the upcoming "Easy out of the box" initiative
  • #3170260 by gabesullice, nod_, Dries: Launch Decoupled Menus Initiative
  • #3193955 by mondrake, anmolgoyal74, daffie: Swap assertEqual arguments in preparation to replace with assertEquals
  • #2223195 by Lendude, anmolgoyal74, Suresh Prabhu Parkala, sulfikar_s, alexpott, larowlan, dww: Views "Global: Custom text" field handler should not be sortable
  • #3192888 by baliram.patil, quietone: Remove reference to load plugin, LoadEntity
  • #3191490 by quietone, huzooka, Wim Leers: Migrate d6 and d7 block (configs) with title "" with "label_display" set to "0"
  • #2867959 by mondrake, danielnv18, xjm, ZeiP, daffie: Replace usages of deprecated AssertLegacyTrait::assertIdentical
  • #3167733 by Spokje, vishnukumar, bkosborne, surya.s, kndr, alexpott: PHP 7.4 notice in views node wizard if a taxonomy field widget is hidden
  • #3054510 by greggles, Spokje, bas123, fchandler, effulgentsia, Wim Leers, mr.baileys, patchman-jelmerverkleij: Make a minor docs improvement to NormalizerBase.php in order for Patchman to see it as a newer version than it was prior to SA-CORE-2019-003
  • #2828099 by raman.b, GroovyCarrot, Sweetchuck, dawehner, mxr576: Service container aliases do not work
  • #3192221 by mondrake, ayushmishra206, daffie, longwave: Swap assertIdentical arguments in preparation to replace with assertSame
  • #2702233 by Manuel Garcia, dww, jibran, alexpott, dagmar, DuaelFr, gease, YurkinPark, dawehner, Lendude: Add JavaScript tests for Form API #states: required, visible, invisible, expanded, checked, unchecked
  • #3190231 by Matroskeen: Incorrect example of checking field name in hook_options_list_alter()
  • #3193771 by larowlan, sk_10, quietone: Drupal\Component\Pluginception\PluginNotFoundException: The "'"--><" entity type does not exist
  • #3000383 by drunken monkey, mbovan, anushrikumari, alexpott, ravi.shankar: Assert the current path on Views AJAX requests is not set with two leading slashes
  • #3193600 by ankithashetty, mondrake, ayushmishra206, daffie: Convert assertEqual() calls involving NULL, TRUE and FALSE to more appropriate PHPUnit assertions
  • #3186009 by longwave, ankithashetty, klausi: MimeTypePass has undefined variables
  • Merge 9.1.3, resolve merge conflicts, and update lockfile and dev versions.
  • #3192763 by lauriii, ckrina, saschaeggi, bnjmnm: Add subsystem maintainers for Claro
  • #3192059 by chr.fritsch, Abhijith S, phenaproxima, alexpott: Use the source field main property to determine if the source field has changed
  • #3192427 by mondrake, daffie: Replace usages of deprecated AssertLegacyTrait::assertNotEqual
  • #3175729 by quietone, Pooja Ganjage, Wim Leers, benjifisher, catch: Mark i18n migrations as finished
  • #3127250 by anmolgoyal74, joseph.olstad, ankithashetty, fago, catch, alexpott: Node previews are cached by dynamic page cache
  • #3190285 by mondrake, anmolgoyal74, daffie: Entity QueryAggregate does not escape the field
  • #3192553 by mondrake, longwave: Convert assertIdentical(NULL..) to assertNull(...)
  • #2717541 by msankhala, manish-31, sulfikar_s, Abhijith S, tanubansal, andypost, ashrafabed, alexpott: hook_block_alter documentation missing
  • #2635440 by damiankloip, deviantintegral, JvE, Spokje, Abhijith S: Document what cache clearing from ContentEntityStorageBase::resetCache() actually clears
  • #3192292 by amateescu, daffie: Users with the 'administer workspaces' permission can not create a workspace
  • #3159788 by mondrake, ravi.shankar, narendra.rajwar27, longwave, Hardik_Patel_12, ankithashetty, sarvjeetsingh, kishor_kolekar, catch: AssertLegacyTrait::assert(No)Text() in functional tests still have a message passed in
  • Revert "Issue #3159788 by mondrake, ravi.shankar, narendra.rajwar27, longwave, Hardik_Patel_12, ankithashetty, sarvjeetsingh, kishor_kolekar: AssertLegacyTrait::assert(No)Text() in functional tests still have a message passed in"
  • #3077322 by aleevas, quietone, RoSk0, mikelutz, Lendude: Add test for NULL source value to test of static_map process plugin
  • #3012704 by raman.b, quicksketch, drclaw, keesje, alexpott, Lendude: "Items per page" checkbox does not stay checked in Views UI when creating a block display
  • #2784739 by slasher13, daffie, miiimooo, voleger, MerryHamster, chanderbhushan, anmolgoyal74, mohit1604, Prashant.c, Meenakshi.g, kostyashupenko, Juterpillar, sylvain lavielle, gawaksh, Lendude, mradcliffe, andypost, alexpott: Fix PostgreSQL operator in views
  • #2565931 by quietone, jofitz, shaktik, sokru, mikeryan, clemens.tolboom, kapilkumar0324, anushrikumari, wturrell, benjifisher, mikelutz: Handle long comment bundle names
  • #3189064 by Matroskeen, quietone, benjifisher: Migration sql source plugins can not be serialised because of reference to the database connection
  • #3151732 by quietone, benjifisher: DrupalSqlBase::checkRequirements should test version with $minimum_version
  • #3191821 by daffie: The docblock of Drupal\workspaces\WorkspaceAssociationInterface::deleteAssociations() is not correct
  • #3159788 by mondrake, ravi.shankar, narendra.rajwar27, longwave, Hardik_Patel_12, ankithashetty, sarvjeetsingh, kishor_kolekar: AssertLegacyTrait::assert(No)Text() in functional tests still have a message passed in
  • #3180086 by mherchel, kishor_kolekar, ranjith_kumar_k_u, Scott Weston, bnjmnm, lauriii, paulocs, andrewmacpherson, proeung: It should not be possible to have two dropdown menus appear at the same time within Olivero
  • #2960353 by alena_stanul, DevJoJodae, munish.kumar, MrMason, ckaotik, opi, pankaj.singh, Manuel Ferreira, mherman-pro: Make the Preview button on the Contact Forms to obey the "Manage form display" field settings
  • #3167901 by raman.b, johnwebdev, Spokje: RemoveSectionForm assumes there is a label
  • #3001660 by kjay, markconroy, lauriii, shaal, poojakural: Fix Umami's responsive layout styles
  • #3181508 by tedfordgif, amateescu, larowlan: Can not delete workspace if it has associated content

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: 3 Feb 2021 at 19:25 UTC
Last updated: 21 Apr 2021 at 16:35 UTC
Bug fixes
Insecure

Other releases