Still on Drupal 7? Security support for Drupal 7 ended on 5 January 2025. Please visit our Drupal 7 End of Life resources page to review all of your options.Install
To start a new Drupal project with version 11.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:
Using Composer to manage Drupal site dependencies
Downloads
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.
Refer to Preparing your site to upgrade to a newer major version for tools you can use to check the Drupal 11 compatibility of modules, themes, and sites. For more information on 11.0.x development, see [meta] Release Drupal 11 in 2024.
The 11.0.x branch also includes all the latest commits that will be backported to 10.3.x and earlier branches. 11.0.x will be nearly identical to 10.3.x except that:
- Deprecated code will be removed, including entire deprecated modules.
- Dependencies will be updated to new major versions as appropriate.
For all other changes, refer to the 10.3.x branch.
Sites should update to the latest release of 10.3 prior to updating to Drupal 11
Drupal sites running 10.2.x or earlier versions must first update to 10.3.0 or later prior to updating to Drupal 11, because all core updates added prior to 10.3.0 have been removed. In general, sites should update to the most recent release of their current major branch before updating to the next major release.
Important changes since 11.0.0-beta1
The following are potentially disruptive changes since 11.0.0-beta1:
-
The backward compatibility layer for some moved files in core library definitions has been removed. These were 11.0.0 deprecations that were missed when preparing beta1. Most contributed projects will be unaffected, but any that reference the old file locations should use the new library definitions as described in the change record.
-
A new API has been added to support backports of database updates across major and minor versions. This primarily affects core development, but might also be needed for contributed projects (since core will support two major versions simulataneously going forward).
-
CKEditor has been updated to CKEditor 5 v42.0.0. Site owners and CKEditor contributed project authors may wish to note the minor changes to image and media insertion user interfaces.
This version also includes the changes to CKEditor plugins from v41.3.1 that have disrupted some contributed projects. Sites and modules experiencing issues with CKEditor plugins should consider switching to CKEditor5 Plugin pack for a more up-to-date version of the plugin which is compatible with the CKEditor5 version shipped with 11.0 and 10.3.
-
Symfony has been updated to 7.1.2.
-
Drupal core development now requires Node.js 20.
-
jQuery UI has been updated to 1.14.0-beta.2. (Drupal 11.0 will be updated to the stable 1.14.0 version as soon as it is available.)
-
Numerous other dependencies have received minor- and patch-level updates to the latest versions.
Bugs with 11.0.0-beta1 that are resolved in this release
- #3447198: RecipeCommand mistakenly tries to apply a recipe even if you don't give it a valid directory
- #3449851: Replace LogicException with trigger_error in LangcodeRequiredIfTranslatableValues constraint
Known issues
- #3441010: Container compile crash when a service decorates a destructable service
- #3446026: Adding media library openers use autoconfigure and tags in 10.3.x has BC consequences
- PHP 8.4 compatibility for Drupal 10 and 11 remains under development. 11.1 (or possibly a patch release of 11.0) will provide full compatibility with PHP 8.4.
Search the issue queue for known issues
All changes since Drupal 11.0.0-beta1
- Issue #3454274 by markconroy, Lillian Bozeman: Do not override class in preprocess_field hook
- Issue #3452502 by Grimreaper, smustgrave: NodeListBuilder is using mark theme wrongly
- Issue #3460114 by Spokje, longwave: Update JavaScript dependencies for Drupal 11.0-rc
- Issue #2408549 by alexpott, narendraR, yash.rode, kunal.sachdev, lauriii, Liam Morland, Wim Leers, Hardik_Patel_12, jofitz, DamienMcKenna, eiriksm, andypost, jenlampton, Gábor Hojtsy, swentel, borisson_, jhedstrom, snehi, Elijah Lynn, narendra.rajwar27, Shubham Chandra, smustgrave, sime, AaronMcHale, Chi, karolus, rkoller, joshua.boltz, anavarre, colan, frob, Berdir, bircher, minnur, effulgentsia, quietone, catch, xjm, hanoii, benjifisher, worldlinemine, larowlan, longwave, simohell, shaal, worldlinemine: Display status message on configuration forms when there are overridden values
- Issue #3460350 by longwave, catch: Require Node.js 20 for Drupal 11
- Issue #3459926 by longwave: Update CKEditor 5 to 42.0.0
- Issue #3454346 by kristiaanvandeneynde, bbrala, mxr576: JsonApiRequestValidator does not set cacheable metadata when the filter allows the request
- Issue #3410091 by mglaman, alexpott, smustgrave, bnjmnm, quietone: [regression] Menu List Builder getEntityIds() no longer calls getEntityListQuery
- Issue #2998857 by Luke.Leber, e.chatrer, afem, bskibinski, mgifford: a11y: Input type file fields lack aria-describedby to the description
- Issue #3456738 by cmlara, Anybody, andrewbelcher, Berdir, catch: BC break in login auth changes from #3444978
- Issue #3108658 by alexpott, mikelutz, catch, xjm, nicxvan, longwave: Handling update path divergence between 11.x and 10.x
- Issue #3455820 by nicxvan, alexpott, smustgrave: Decompress files for config_install
- Issue #3459924 by longwave, Spokje: Update Composer dependencies for 11.0.0-rc1
- Issue #3449851 by Liam Morland, alexpott, smustgrave, solideogloria, catch, kopeboy: Replace LogicException with trigger_error in LangcodeRequiredIfTranslatableValues constraint
- Issue #3156672 by kim.pepper, joegraduate, longwave, PieterDC, smustgrave, tstoeckler, alexpott: ExtensionMimeTypeGuesser breaks other mime_type_guesser services
- Issue #3458403 by mstrelan: Conditionally disable access to update manager routes
- Issue #2719721 by kristiaanvandeneynde, jhodgdon, BramDriesen, pameeela, catch, Wim Leers, Berdir, alexpott, neclimdul, acbramley, benjy, cilefen, mxr576, rothlive, andrewmacpherson: BreadcrumbBuilder::applies() mismatch with cacheability metadata
- Issue #3456425 by mondrake, alexpott: FormStateInterface::setError*() PHPDoc are incorrect
- Issue #3458444 by quietone, smustgrave, slashrsm, nod_, brianperry: Remove decoupled menus and media initiatives from MAINTAINERS
- Issue #3458751 by alexpott: Drupal 10.3.x regression running JS tests using ddev - update lullabot/php-webdriver
- Issue #3458922 by quietone, alexpott, longwave: Fix index test in LocalesLocationAddIndexUpdateTest::testExistingIndex
- Issue #3318988 by andypost, longwave, quietone: Finish deprecating status code and header assertions in JS tests
- Issue #3156439 by alexpott, catch, bonsaipuppy, mkalkbrenner, longwave, xjm: Add an index on locales_location on type and name
- Issue #3458246 by ckrina, finnsky, nod_, m4olivei, plopesc: Add subsystem maintainers for Navigation
- Issue #3456890 by TravisCarden, smustgrave: 'The "%plugin_id" was not found' warning message is confusing
- Issue #3418999 by quietone: Correct spelling of autocomplete type words
- Issue #3444998 by Gauravvvv, TravisCarden, lolgm, nod_, smustgrave: Secondary tabs design is distorted on block view page
- Issue #3440169 by pooja_sharma, marcoliver, smustgrave, DYdave, alexpott: When using drupalGet(), provide an associative array for $headers
- Issue #3455113 by b_sharpe, ankitv18, alexpott, pooja_sharma, phenaproxima, thejimbirch: Rename ensure_exists to createIfNotExists, and camel-case simpleConfigUpdate for consistency
- Issue #3457778 by markconroy, ressa: Reorder checkboxes on "Development settings" page
- Issue #3447748 by joelpittet, ramil g, smustgrave: TypeError: Illegal offset type in isset or empty in FormValidator->performRequiredValidation()
- Issue #3455912 by quietone: Fix spelling for 10 words used in tests
- Issue #3456112 by quietone: Ignore another nonsense word used in hashes
- Issue #3336070 by mikelutz, efpapado, smustgrave, quietone, danflanagan8: skip_on_empty documentation is confusing when skipping a process
- Issue #3291764 by Gauravvvv, baldwinlouie, Utkarsh_33, kostyashupenko, ranjith_kumar_k_u, eugene.brit, Farnoosh, rhiss, smustgrave, podarok, mkdok, bnjmnm, candelas, saganakat: The [0] hatch in misc/vertical-tabs.js causes issues if there are multiple forms with vertical tabs
- Issue #3441010 by catch, longwave, larowlan, dpi, dqd, geek-merlin, el7cosmos: Container compile crash when a service decorates a destructable service
- Issue #3455110 by jagraj_singh_gill, joachim: HandlerStackConfigurator has @see to class that no longer exists
- Issue #3155411 by quietone, smustgrave, jungle, longwave: Add "writeable" to the "flagWords" in core/.cspell.json
- Issue #3396099 by Utkarsh_33, nod_, Gauravvvv, bnjmnm, tedbow, smustgrave, Anybody, Rob230: The core/drupal.message library requires a status_messages render element
- Issue #3452511 by pooja_sharma, joachim: convert ProviderRepositoryTest to a kernel test
- Issue #3456979 by joachim: add a comment to install.core.inc about the updated container
- Issue #3453068 by kalpanajaiswal, BenStallings: Sort::fields property is incorrectly defined as a string
- Issue #3453341 by mondrake, alexpott, longwave: Bootstrap HtmlOutputLogger from phpunit.xml
- Issue #3409733 by james.williams, fjgarlin, poker10: Test-only job does not detect failures correctly
- Issue #3455557 by mstrelan: Remove ThemeInitialization::resolveStyleSheetPlaceholders
- Issue #3450773 by ahsannazir, Kanchan Bhogade, Gauravvvv, kostyashupenko, smustgrave: Olivero: Incorrect positioning of close button on mobile device when navigation module is enabled
- Issue #2990588 by Utkarsh_33, andrewmacpherson, oriol_e9g, smustgrave, shaal: Visually-hidden refresh button in Field UI fails WCAG Focus Visible
- Issue #3361728 by quietone, longwave, xjm: Make 10.x EOL warning better than the 9.5.x one
- Issue #3393400 by mglaman, finnsky, m4olivei, bnjmnm, plopesc, ckrina, smustgrave: Implement Nightwatch tests for Navigation module
- Issue #3454960 by quietone, nod_, larowlan, rkoller, smustgrave: Update to jquery UI 1.14.0 beta 2
- Issue #3440676 by Utkarsh_33, smustgrave, catch, bnjmnm, nod_: Trigger a JavaScript deprecation error for dialogClass in forked dialog.js
- Issue #3455513 by xjm, e0ipso: "Single-Directory Components" needs to be hyphenated because of English grammar and content style rules
- Issue #3332473 by Mithun S, Gauravvvv, rupeshghar, smustgrave, lauriii: Refactor Claro's table--file-multiple-widget stylesheet
- Issue #3315694 by b_sharpe, vermario, deviantintegral, narendraR: Allow recipe command to write to the container - ensuring that cache does not be cleared after a recipe installs a module
- Issue #3455183 by kim.pepper, mstrelan, mondrake: FileSaveUploadTest should not write to the app root
- Issue #3455552 by mstrelan, xjm, quietone: Remove commented-out code in ArgumentDefaultTest referring to php module
- Issue #3421418 by mstrelan, Spokje, xjm, mondrake, longwave, acbramley: Add void return typehints to all test methods
- Issue #3444344 by VinmayiSwamy, Utkarsh_33, Gauravvvv, Mithun S, kd_ace, smustgrave, mradcliffe, bnjmnm, jvest, xjm, idebr, quietone: Claro: Autocomplete dropdown bleeds through sticky table header
- Issue #3454079 by Tom Konda, smustgrave: Prefer to use Array.prototype.includes() for some of Array.prototype.indexOf()
- Issue #3454357 by quietone, longwave: Remove example cron scripts
- Issue #3454605 by thejimbirch, pooja_sharma, phenaproxima, the_g_bomb, catch, b_sharpe: Roles should be in their own recipes for composability
- Issue #3445847 by Alexander Allen, mstrelan, catch, xjm, longwave, mark_fullmer: PHPUnit 10 behaves differently when invoked outside web root
- Issue #3455058 by plopesc, smustgrave: drupalInstallModule nightwatch function does not work with Experimental modules
- Issue #3238870 by shubh_, mstrelan, nod_, hooroomoo, kostyashupenko, smustgrave, larowlan, thebumik, lauriii: Refactor (if feasible) use of jquery parseHTML function to use vanillaJS
- Issue #2874067 by kkalashnikov, Nikolay Shapovalov, quietone, smustgrave, benjifisher, MerryHamster, xjm, dww: Fix Drupal.Commenting.DocCommentLongArraySyntax coding standard
- Issue #3454212 by nathankg, joachim: Update mentions of #2225961 in comments
- Issue #2684251 by pooja_sharma, sheldonreed3, smustgrave, jehon, Lendude: Global Token Replacements is not working correctly in href
- Issue #3313616 by mark_fullmer, Sandeep_k, nessthehero, bnjmnm, smustgrave, Wim Leers, itmaybejj, alexpott, Charles Belov, simohell, AaronMcHale: [drupalMedia] Ability to mark image media as "decorative"
- Issue #3454062 by kim.pepper: Move Recipe\RollbackTest is to the FunctionalTests namespace
- Issue #3453320 by timurtripp: [10.3 regression] CKEditor 5 renamed CSS variable causing CKEditor dialogs to fail to appear above jQuery UI dialogs
- Issue #3454556 by xjm: Require Composer 2.7.7
- Issue #3409561 by VinmayiSwamy, jessehs, andre.bonon, Wim Leers, quietone: CKEditor 5 Styles dropdown broken when in off-canvas sidebar
- Issue #3443810 by SKAUGHT, plopesc, DishaKatariya, finnsky, smustgrave, ckrina, Prashant.c, larowlan: Custom Navigation logo is disconnected from new Layout template
- Issue #3377420 by pivica, Berdir, smustgrave, sergey-serov, bkosborne, bspeare, larowlan: Responsive image width/height values are not used from fallback image style
- Issue #3386191 by phthlaap, sukr_s, Ozle, brunoalmeida, smustgrave, Ashley George, shiv_yadav, larowlan: #states not working correctly when built from a logical combination of multliple fields
- Issue #2927141 by Akhil Babu, pooja_sharma, geertvd, smustgrave, JeroenT, larowlan, catch, quietone: Updates to an entity's URL alias do not reflect on the corresponding local tasks
- Issue #3453551 by mstrelan: Fix return type of FormatterInterface::settingsSummary
- Issue #3449569 by kim.pepper, longwave, catch: Use autoconfigure more in core
- Issue #3445285 by catch, longwave, larowlan, quietone: Add extra page request to the across pages asset performance test
- Issue #3450567 by kalpanajaiswal, joachim: GenerateTheme::__construct() does not document its parameters
- Issue #3121155 by quietone, lauriii, bnjmnm, tedbow: Add comments about alphabetical sorting in UpdateRegistry and test
- Issue #3452630 by SandeepMahlawat, pooja_sharma, joachim, mondrake: HtmlOutputLogger outputs surplus newline
- Issue #3452426 by mxr576, kristiaanvandeneynde: Insufficient cacheability information bubbled up by UserAccessControlHandler
- Issue #3450616 by catch, quietone, smustgrave: Optimize test order when --directory is used
- Issue #3291221 by Gauravvvv, pradipmodh13, rkoller, ahsannazir, smustgrave, quietone: When configuring a field on a content type's "manage display" tab the spinner shifts the label and format column
- Issue #3453621 by lauriii: Update 'lauriii' last name
- Issue #3207896 by andypost, alexpott: Remove URL generator priming in \Drupal\Tests\BrowserTestBase::installDrupal()
- Issue #3449356 by quietone, smustgrave: Rebuild dictionary.txt
- Issue #3192830 by neclimdul: twig_render_template micro optimization
- Issue #3451603 by Artusamak: Typo in Views default argument User plugin
- Issue #3445909 by seanB, smustgrave, alexpott, catch: Add static caching to LayoutTempstoreRepository
- Issue #3449891 by NexusNovaz, manish-31, bbrala: Move to new test path in NodeTest as per todo
- Issue #3443576 by finnsky, mherchel, arunkumark, smustgrave, ckrina, Gauravvvv: Mobile version of Navigation menu doesn't properly reset Drupal.displace() on closing
- Issue #3180696 by Spokje, Nikolay Shapovalov, adamzimmermann, quietone, manish-31, xjm, SuperfluousApostrophe, smustgrave, jonathan1055, longwave: Fix 'Drupal.Commenting.TodoComment' coding standard
- Issue #3450516 by kim.pepper: Add support for !service_closure custom tag in YamlFileLoader
- Issue #3399956 by shashwat-tiwari, nod_, Gauravvvv, Meeni_Dhobale, ahsannazir, sakthi_dev, Kanchan Bhogade, shweta__sharma, joachim, Mithun S, smustgrave, saschaeggi, xjm, Anilu@: Tab highlights for current/hover/click are too high up when other tabs have 2 lines of text
- Issue #3450253 by SandeepMahlawat, Gauravvvv, finnsky, SKAUGHT: Navigation: Avoid layout builder form submit
- Issue #3447942 by Redwan Jamous, ahsannazir, smustgrave: Update stylelint rule unit-allowed-list to include container query units
- Issue #3443577 by Gauravvvv, rishabjasrotia, Rajan Kumar@2026, mherchel, finnsky, ckrina: Navigation overlay z-index is not defined
- Issue #3451701 by dww, Mingsong, MegaphoneJon: The update module should not crash with releases that contain invalid values for core_version_requirement
- Issue #3422537 by bbrala, cmlara, dww, longwave, joachim: Autoresolve cspell GIT_DEPTH issue when diff fails
- Issue #3451738 by Grimreaper, BramDriesen: Remove JavaScript from Views configuration form now that it is only CSS
- Issue #3427999 by andypost, Ayesh, bbrala: [PHP 8.4] Fix implicitly nullable type declarations
- Issue #3442227 by dww, smustgrave: Use labels in Views argument summaries for entity references
- Issue #3450890 by kristiaanvandeneynde: Provide default values for an Access Policy API method that was overlooked
- Issue #3450576 by kristiaanvandeneynde: Access policies should be marked as final to encourage decorating
- Issue #3450760 by SandeepMahlawat, benjifisher, smustgrave: Add missing 'label' key to navigation.layouts.yml
- Issue #3424744 by bronzehedwick, ckrina, m4olivei, finnsky, smustgrave, plopesc, kostyashupenko, KeyboardCowboy: If no icon for a top-level item is provided, use the first two letters
- Issue #3451514 by Spokje: Update Symfony 7.1 to the stable version
- Issue #3441222 by kristiaanvandeneynde, nicxvan, catch, alexpott, smustgrave, lauriii, quietone: Allow update.php to load when entity type info needs to be updated
- Issue #2640994 by dww, tduong, Alex Bukach, Berdir, ameymudras, catch, mohit_aghera, raman.b, jofitz, Ben Buske, ankithashetty, smustgrave, nikitagupta, nicxvan, FeyP, pameeela, technoveltyco, dawehner, kim.pepper, Lendude: Fix label token replacement for views entity reference arguments
- Issue #3438878 by skyriter, ahsannazir, rkoller, ckrina, mradcliffe, smustgrave, Gauravvvv: Regression: The drawer in Safari is missing the drop shadow
- Issue #3085360 by bradjones1, josephdpurcell, Giuseppe87, ravi.shankar, rajandro, ridhimaabrol24, bbrala, andregp, jhedstrom: RouteProvider::getRouteCollectionForRequest() can poison query string of next request
- Issue #3447881 by plopesc, catch, larowlan, smustgrave, quietone: Improve access logic for Navigation blocks page
- Issue #3437166 by Utkarsh_33, smustgrave, Jaypan, wdmartin: Update documentation for table.html.twig around table cells
- Issue #3446413 by shaal, Gábor Hojtsy, smustgrave, quietone: Update the Drupal logo in Drupal core with the 2024 brand evolution
- Issue #3444699 by Gauravvvv, finnsky, ahsannazir, nod_, SKAUGHT, Kanchan Bhogade: Navigation LayoutBuilder UI has dead click zone
- Issue #3449743 by catch: Try to optimize test ordering when run-tests.sh is used with a mixture of test types
- Issue #3447625 by tim.plunkett, DanielVeza, DyanneNova, tedbow: Add DanielVeza as a co-maintainer of Layout Builder
- Issue #3344877 by alexpott, silverham: [regression] FTPExtension class can no longer connect as of 9.5.x
- Issue #3449564 by harivansh, bbrala: Calling normalize without account context generates a warning
- Issue #3449852 by mondrake: Show error codes in PHPCS reports
- Issue #3449455 by mondrake: Correct placement of use statements in ClearTest
- Issue #3449879 by mondrake: Prepare Drupal/Test/Component tests for conversion to attributes
- Issue #3447920 by mfb: Add zlib to list of required extensions for runtime requirements check
- Issue #3449469 by catch, mstrelan, smustgrave: Remove deprecated moved_files entries in core
- Issue #3418489 by ahsannazir, m4olivei, patrickfgoddard, Amandeep123, adwivedi008, ckrina, Kanchan Bhogade, rkoller, xjm, smustgrave, baluv3, kostyashupenko, plopesc, finnsky: Choose an icon for the Announcements link
- Issue #3447206 by pdureau: Add pdureau as a co-maintainer for the Theme API with a focus on SDC
- Issue #3350947 by camilledavis, smustgrave, mgifford: "Skip to main content" link skips over content that is essential to the page, banner role should be for global content
- Issue #3447487 by e0ipso: Add e0ipso as a co-maintainer of core theme system with focus on SDC
- Issue #3446807 by quietone, divya.sejekan, smustgrave: Put 'Not supported' update status on the correct side of the page
- Issue #3446504 by Utkarsh_33, smustgrave, Tom Konda: Mismatch between implementation and description for Drupal.Message.prototype.remove()
- Issue #3439580 by dipakmdhrm, balagan, Shriaas, catch, BramDriesen, nicxvan: Make drupal.tableheader only use CSS for sticky table headers
- Issue #3449302 by catch: core.libraries.yml mis-implements moved_files syntax
- Issue #3449214 by alexpott, nicxvan: A revert has cause cspell to fail due to the word yarhar
- Issue #3298580 by Utkarsh_33, Eduardo Morales Alberti, smustgrave, Akram Khan, skipper-vp, bnjmnm: Claro details component does not have the right class
- Issue #3446357 by mglaman, Gauravvvv, finnsky, smustgrave, mherchel: Fix overflow visibility for wrapper content in navigation CSS
- Issue #3424162 by camilledavis, dineshkumarbollu, smustgrave: Claro highlighted row not communicated to keyboard users
- Issue #3425104 by finnsky, catch, smustgrave: Umami views should use responsive grid
- Issue #3445033 by finnsky, smustgrave: Replace dialogContentResize jQuery event with CustomEvent
- Issue #3374464 by luenemann, Utkarsh_33, vpa24, jennypanighetti, smustgrave, bnjmnm: Claro CSS for dropbutton items adds large gap of white space
- Issue #3439017 by catch, smustgrave: Umami page.tpl.php breaks block placeholders
- Issue #3446116 by sjothivelu, m4olivei, plopesc: Rename UserNavigationBlock to NavigationUserBlock for class name consistency
- Issue #2941189 by DanielVeza, longwave, smustgrave, xjm, tim.plunkett: Confirmation form for disabling per-entity layout overrides shows a success message and should not
- Issue #3446381 by tim.plunkett, smustgrave, sarahjean: SDC's discovery has overly lenient regex
- Issue #3172550 by bradjones1, DuaelFr, alexpott, smustgrave, longwave: Register Drupal's mime type guesser the Symfony MimeTypes service
- Issue #3448487 by catch: CoreRecipesTest is slow
- Issue #3444232 by andypost, smustgrave: [8.4] Fix implicitly nullable type declarations for phpstan job (manual ones)
- Issue #2868384 by RoSk0, poker10, tuutti, rgeerolf, sokru, jofitz, pooja saraah, cilefen, catch, ThomWilhelm, larowlan, quietone: Allow the session name suffix to be configurable
- Issue #3448097 by Spokje: Support and recommend Symfony 7.1.0-RC1 for Drupal 11.0.0-beta1
- Issue #3385934 by phthlaap, joegraduate, useernamee, alexpott: The configuration synchronization page encounters errors when core.extension.yml is missing in the config/sync directory
- Issue #3447198 by phenaproxima, alexpott, nicxvan, larowlan: RecipeCommand mistakenly tries to apply a recipe even if you don't give it a valid directory
- Issue #3447307 by longwave, catch, quietone: Remove remaining deprecated code from Drupal 11
- Issue #3445184 by plopesc, matthieuscarset, m4olivei: Fatal error when accessing Navigation Blocks on a minimal profile installation because of the Shortcut block