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-beta1@beta: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 beta release for the next major version of Drupal. Drupal 11 beta releases are intended for site owners and module or theme authors to test compatibility and upgrade paths for Drupal 11.0. Beta releases are not intended for production. 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.
Important update information
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.
Changes to site-owner-managed files
-
The default
.htaccessfile has changed to remove support for the Statistics module, which has been moved to a contributed module. The contributed project now provides its own htaccess protection. Sites should ensure that the redundant .htaccess rule is removed from their own copy of the file.
Platform requirements changes
PHP
- Drupal 11 requires PHP 8.3 with the zlib extension enabled. Most systems will already have this extension enabled by default.
Databases
The requirements for the database drivers supported by Drupal 11 are as follows:
- The MySQL database driver requires MySQL 8.0.
- The MariaDB database driver requires MariaDB 10.6.
- The PostgreSQL database driver requires PostgreSQL 16.
- The SQLite database driver requires SQLite 3.45 with the json1 extension.
Web server
Support for IIS is removed. Sites using IIS are encouraged to change to a supported web server. Drupal 11 does not provide a web.config file. We encourage the report of bugs in case they also affect web servers other than IIS.
Multiple core modules have been removed from core and moved to contributed projects
Numerous modules have been removed from Drupal core and moved to contributed projects. In many cases, the removed extensions have little to no impact on site development and can be removed from the site safely or easily replaced with an alternative. Sites that depend on a removed module should use the contributed project version prior to updating their sites to Drupal 11. Drush may bypass warning and error messages on update.php related to missing modules. The status report will display errors about missing modules after upgrading.
Sites should check their installed modules against the following list, and either uninstall the module or require the contributed version prior to upgrading to Drupal 11. If a removed module is required for a site's functionality, the contributed version should be downloaded to the codebase or added to the Composer requirements prior to upgrading. Do not uninstall the module, since this would destroy the module configuration.
API changes
Experimental modules
Experimental modules are provided with Drupal core for testing purposes, but are not yet fully supported.
Backend (PHP) dependency changes
Added PHP dependencies
-
A dependency on doctrine/lexer 2.0 is added. Previously, the dependency was implied as a dependency of
doctrine/annotations. -
A Composer dependency on
ext-zlibhas been added. (This PHP extension was already a required part of Drupal's PHP configuration, but previously, the dependency was not correctly declared.)
Updated PHP dependencies
This beta release includes the following key PHP dependency updates compared to Drupal 10.3.x:
- Symfony has been upgraded to 7.1.0-BETA1. Drupal 11.0.0 will be released with Symfony 7.1.0 or a later stable patch release.
- Doctrine Annotations has been updated from 1.14.3 to 2.0.1.
- PHPUnit has been upgraded from 9.5 to 10.5. Test developers should refer to the change record for a summary of the breaking changes and details of how to update their tests for PHPUnit 10.
- Numerous other dependencies have received minor- and patch-level updates to the latest versions.
Frontend (CSS and JavaScript) dependency changes
Removed frontend dependencies
- Shepherd.js has been removed as a dependency. The Shepherd library was only used by the Tour module, which has been removed from core.
- jQuery Form is removed as an external dependency. It is now forked into core because it is abandoned upstream. It is tagged @internal and should not be used by contributed or custom modules directly.
Updated frontend dependencies
-
CKEditor 5 has been updated from 41.2.0 to 41.3.1.
If you are updating from 10.2.x or earlier and have the CKEditor font module installed, or another CKEditor extension that has been disrupted by this update, you 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 Drupal 10.3.
-
jQuery 4 is updated to 4.0.0-beta. If you have custom code that extends jQuery, you should read the 4.0.0-beta change log as there are new deprecations. If possible, Drupal 11 will update to jQuery 4.0.0, prior to 11.0.0's release. A subsequent beta of Drupal 11 will also be released if or when the dependency update is available.
-
jQuery UI is updated to 1.14-beta. If you have custom code that extends jQuery UI you should read the 1.14.0-beta change log. If possible, Drupal 11 will update to jQuery UI 1.14, prior to 11.0.0's release. A subsequent beta of Drupal 11 will also be released in that case.
-
Yarn 4 and Corepack are now required for Drupal core development. Core developers will need to update their environment to use Yarn 4 and corepack.
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
- #3453320: [10.3 regression] CKEditor 5 renamed CSS variable causing CKEditor dialogs to fail to appear above jQuery UI dialogs
Search the issue queue for known issues
All changes since Drupal 11.0.0-alpha1
- Issue #3439591 by quietone, mstrelan, pradhumanjain2311, andypost, catch, mfb, longwave, coaston, penyaskito: Add composer dependency on ext-zlib
- Issue #3447472 by larowlan, quietone: Update to jquery UI 1.14.0 beta
- Issue #3447292 by longwave, quietone: Update Composer dependencies for 11.0.0-beta1
- Issue #3447210 by alexpott, jnicola: Move RecipeDiscovery into RecipeConfigurator
- Issue #3447072 by thejimbirch, alexpott, phenaproxima: Add 'recipe system' and 'default content system' subsystems and update Maintainers.txt
- Issue #3447191 by longwave, xjm, quietone: Support and recommend Symfony 7.1.0-BETA1 for Drupal 11.0.0-beta1
- Issue #3446967 by kim.pepper, alexpott: [11.x] Remove deprecated methods in InputStreamUploadedFile
- Issue #3446962 by kim.pepper: Remove incorrectly added InputStreamUploadedFile::supportsMoveUploadedFile()
- Issue #3371937 by yash.rode, Abhijith S, smustgrave, fgm: Theme declaration and templates mismatch for feed_icon
- Issue #3071446 by marcvangend, Kirst25, dcam, guptahemant, Lendude, nod_: Remove invalid iframe attributes from oembed field formatter
- Issue #3443748 by NexusNovaz, smustgrave: Testcase creates false positive
- Issue #3446542 by mondrake: Replace @before*|@after* test annotations with attributes
- Issue #3444748 by kim.pepper, bbrala, andypost: Refactor JSON-API file uploads to use FileUploadHandler
- Issue #3439522 by longwave, adwivedi008, quietone, smustgrave: Update JavaScript dependencies for Drupal 10.3/11.0
- Issue #3427374 by danflanagan8, Vighneshh: taxonomy_tid ViewsArgumentDefault plugin doesn't add cache tags
- Issue #3266160 by smustgrave, alex.skrypnyk, tannguyenhn, beatrizrodrigues, joachim, larowlan: Composer Scaffold plugin calls dispatch() instead of dispatchScript()
- Issue #3443117 by bbrala, longwave, quietone: Fix Drupal.Functions.MultiLineFunctionDeclaration coding standard
- Issue #3445950 by alexpott, tim.plunkett: \Drupal\Core\Plugin\DefaultLazyPluginCollection::setInstanceConfiguration() assumes that $configuration results in the same plugin instance
- Issue #3091003 by sukr_s, smustgrave, RaphaelBriskie, FeyP, borisson_: Changing a display's machine name while an attachment exist breaks Views
- Issue #3445274 by Gauravvvv, smustgrave: Navigation module offsets the Olivero skip link element
- Issue #3443461 by Gauravvvv, Mithun S, finnsky, ckrina: escapeAdmin.js functionality should be removed(it not used anymore)
- Issue #3425692 by msandoval, bember, KarimB, Amirez, Lenenba, joachim, mradcliffe, julieelman, Farnoosh: development.services.yml should document that parameters are only shallow-merged
- Issue #3446403 by edutrul, jnicola, mradcliffe: [name]: This field is missing for example recipe
- Issue #3446378 by mglaman, catch: [random test failure] NavigationBlockUiTest::testNavigationBlockAdminUiPage failing
- Issue #3446340 by finnsky, rkoller: Fix z-index
- Issue #3443835 by Gauravvvv, aronm, m4olivei, finnsky, dalin, javi-er: 'Help' tooltip is obstructed behind the navigation toolbar border
- Issue #3446258 by andypost: Remove core/scripts/drupal.sh
- Issue #3331229 by pminf, chadhester, zshrestha, hardikpandya, _pratik_, rogerpfaff, ultimike, xjm, mandclu, alexb7217: Use chaining for User::addRole() and ::removeRole()
- Issue #3443559 by mherchel, ckrina, finnsky, lauriii: Regression: Shortcuts menu flickers when the page is loaded
- Issue #3191727 by Santosh_Verma, Gauravvvv, imalabya, chetanbharambe, Harish1688, chetansonawane, lauriii, smustgrave, mherchel: Focus states on mobile second level navigation items can get cut off in Olivero
- Issue #2990766 by camilledavis, Gauravvvv, mgifford: Location of "Skip to Main" link below admin toolbar in Claro is problematic for screen magnifier users
- Issue #3439646 by Tom Konda, smustgrave: Some of string comparisons should use String.prototype.startsWith() or String.prototype.endsWith()
- Issue #3446078 by mherchel, javi-er: Olivero content shift on page load
- Issue #3446107 by bbrala, andypost, xjm: Enforce null coalescing operator ?? instead of a ternary operator through phpcs
- Issue #3445896 by mstrelan, mondrake: PHPUnit\Runner\ErrorHandler::__construct is private since PHPUnit 11.1
- Issue #3445788 by andypost: [PHP 8.4] Fix phpstan job for ContentModerationConfigureEntityTypesForm
- Issue #3444978 by catch, Berdir: UserAuth BC layer is not working for modules that use it to provide email based logins
- Issue #3445833 by catch: Performance test gitlab job is failing on 11.x
- Issue #3445791 by balsama, phenaproxima: Language module hook_modules_installed should account for sites with no installation profile now that it is possible to install a site from a recipe
- Issue #3444264 by andypost, alexpott, longwave: [PHP 8.4] ReflectionMethod constructor deprecated with one argument
- Issue #3417066 by mondrake, longwave, larowlan, alexpott, catch: Upgrade PHPUnit to 10, drop Symfony PHPUnit-bridge dependency
- Issue #3439923 by alexpott, longwave, thejimbirch, Wim Leers, phenaproxima, immaculatexavier, nedjo, bircher, deviantintegral, franz, narendraR, omkar.podey, srishtiiee, Rajab Natshah, millnut, mondrake, amateescu, larowlan, sonfd, tasc, vasike: Add recipes api as experimental API to core
- Issue #3443959: DialogRenderer::getTitleAsStringable() does not support all return types of TitleResolverInterface::getTitle()
- Revert "Issue #3396536 by fjgarlin, catch, kim.pepper: [random test failure] Re-enable AjaxTest::testAjaxFocus()"
- Issue #1956134 by smustgrave, dawehner, larowlan, jibran, jbloomfield, lokapujya, Oscaner, elachlan, mgifford, olli, srilakshmier, Manuel Garcia, Nitin shrivastava, afeijo, alexpott, jgeryk, garphy, grisendo, jessebeach, xjm, joachim, tim.plunkett, andypost, Wim Leers, EclipseGc, damiankloip, benjy, klonos: Provide helpful editing links on "admin/structure/block" for deriver blocks (menu, views, block content, etc.)
- Issue #3441920 by scott_euser, catch, smustgrave, quietone: Support #attached settings in ViewAjaxController
- Issue #3282598 by Gauravvvv, amit.mall, lalitware, pradhumanjain2311, Wim Leers: Claro should not hardcode decimal list style type for
- Issue #3266299 by Gauravvvv, stueybrock, smustgrave, rkoller, amietpatial, sahil.goyal, mgifford, ckrina, mherchel, andrewmacpherson, mikemai2awesome: Claro: Form labels that are disabled have too low color contrast
- Issue #3440223 by bronzehedwick, ahsannazir, jwitkowski79, adwivedi008: Incorrect padding on child menu items
- Issue #3421175 by quietone, catch, Gábor Hojtsy, alexpott, smustgrave, longwave, daffie: Update INSTALL.txt and hook_requirements() etc. with remaining Drupal 11 platform requirements
- Issue #3439909 by SolimanHarkas, vensires: Fix Taxonomy tests that rely on UID1's super user behavior
- Drupal 11.0.x-dev
- Back to dev.