This is the first supported release of the new Drupal 11 major version, and it is ready for use on production sites! Learn more about Drupal 11 and the Drupal core release cycles.

Learn more about Drupal 11.0.0

Drupal 11.0.0 follows shortly after the Drupal 10.3.0 release. Drupal 10.3 has most of the new functionality that Drupal 11 does, but retains backwards compatibility layers added through Drupal 10.3.0's release. Sites must update to Drupal 10.3 before updating to Drupal 11.

If you are starting a new Drupal project, you have a choice between Drupal 10.3 and 11, and generally should choose Drupal 11 where possible for forward compatibility with future releases.

Regardless of which version you choose now, new features will only be added to Drupal 11 minor releases. Plan to adopt Drupal 11 so that you can easily update to Drupal 11.1 and later.

Refer to the guide Upgrading Drupal for how to perform a major version upgrade. Preparing your site for an upgrade describes tools you can use to check the Drupal 11 compatibility of modules, themes, and sites.

Both 11.0.0 and 10.3.2 (the latest Drupal 10 release) include all the latest improvements, and they have the same public APIs and features aside from a few edge-cases. This also means modules and themes can be compatible with Drupal 10 and 11 at the same time! The key changes in 11.0.0 are:

  1. Deprecated code, including entire modules and themes, has been removed.
  2. Dependencies have been updated to new major versions as appropriate.
  3. Platform requirements (including supported PHP and database versions, Composer requirements, and supported browsers) have been updated.

For all other changes, refer to the 10.3.x branch.

Important update information

Sites must update to the latest release of 10.3 before upgrading to Drupal 11

Drupal sites running 10.2 or earlier versions must first update to 10.3.0 or later before updating to Drupal 11. All core updates added before 10.3.0 have been removed. In general, sites should update core and contributed modules to the most recent releases available for their current major core version, before updating to the next major release.

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 simultaneously going forward).

Changes to site-owner-managed files

Platform requirements changes

PHP requirements

Database requirements The requirements for the database drivers supported by Drupal 11 are: 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 bug reports for issues that may affect web servers other than IIS. Browser support changes See the browser support policy for more information. Removed functionality The following pages have been removed without replacement: The "Add new module" page at /admin/modules/install The "Add new theme" page at /admin/theme/install The "Add new module or theme" page at /admin/reports/updates/install Using Composer is the only way to safely and correctly add new code to a Drupal installation. See the Additional information, deprecations, and API changes for installing an extension through the user interface. Multiple core modules have been removed from core and moved to contributed projects Numerous modules and themes 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. 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. Drush may bypass warning and error messages on update.php related to missing modules or themes. The status report will display errors about missing modules after upgrading. Actions UI Activity Tracker Book Forum Statistics Tour 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-zlib has 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 Symfony has been upgraded to 7.1.1. 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 changes required for PHPUnit 10 compatibility for a summary of the breaking changes and details of how to update their tests for PHPUnit 10. Drupal core's Composer development dependency has been updated to Composer 2.7.7, which addresses security vulnerabilities. It is recommended that Drupal site owners also update their local Composer versions with composer self-update. Numerous other dependencies have received minor- and patch-level updates to the latest versions. Twig has been upgraded from 3.5.0 to 3.9.3. If you have custom code that extends Twig, you should read the Twig v3.9.0 changelog as there are new deprecations. 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. jQuery Form is now forked into core because it is abandoned upstream. It is tagged @internal and should not be used directly by contributed or custom modules. Updated frontend dependencies CKEditor has been updated to CKEditor 5 v42.0.2. 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, consider switching to CKEditor5 Plugin pack. The CKEditor5 Plugin pack provides a more up-to-date version of the plugin for compatibility with the CKEditor version shipped with Drupal core. jQuery 4 is updated to 4.0.0-beta2. If you have custom code that extends jQuery, you should read the change logs as there are deprecations. 4.0.0-beta2 change log. 4.0.0-beta change log. Drupal 11 will be updated to a stable version of jQuery 4.0.0 once it is available. jQuery UI is updated to 1.14-beta.2. Sites or modules with custom JavaScript code should review the jQuery UI 1.14 upgrade guide and the change logs: 1.14.0-beta.2 change log. 1.14.0-beta.1 change log. Drupal 11 will be updated to a stable version of jQuery UI 1.14.0 once it is available. 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. Drupal core development now requires Node.js 20. Known issues 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 11.0.0-rc1 Issue #3465360 by catch, benjifisher, tobybellwood: drush updb errors on System and Layout Builder modules when going 10.3.1 to 11.0.0.-rc1 Issue #3465122 by catch, xjm, Spokje: Update composer dependencies prior to 11.0.0 Revert "Issue #3465122 by catch, Spokje: Update composer dependencies prior to 11.0.0" Issue #3458177 by mondrake, catch, godotislate, longwave, xjm: Changing plugins from annotations to attributes in contrib leads to error if plugin extends from a missing dependency Issue #3465166 by Spokje, nod_: Update JavaScript dependencies for Drupal 11.0.0 Issue #3465122 by catch, Spokje: Update composer dependencies prior to 11.0.0 Back to dev. Drupal 11.0.0-rc1 Issue #3462763 by catch, bbrala, andypost, alexpott: Use artifacts to share the phpstan result and cspell caches from core to MRs (follow-up, job token is unnecessary. Issue #3464978 by mondrake: Make PHPStan rule testing use PHPUnit 10 Issue #3462763 by catch, bbrala, andypost, alexpott: Use artifacts to share the phpstan result and cspell caches from core to MRs (follow-up: also run on daily scheduled tests) Issue #3363127 by nod_, Gábor Hojtsy, mherchel: Drupal Displace outputs invalid value for --drupal-displace-offset-right when opening top dialog Issue #3462763 follow-up by alexpott: Use artifacts to share the phpstan result and cspell caches from core to MRs Issue #3462763 by catch, bbrala, andypost: Use artifacts to share the phpstan result and cspell caches from core to MRs Issue #3463456 by catch, smustgrave: Consolidate ckeditor5's FunctionalJavascript tests Issue #3464581 by quietone, smustgrave: Update deprecation notices in ajax.js Issue #637538 by pooja_sharma, mr.baileys, AaronBauman, Bhanu951, alexpott, rteijeiro, greggles, pwolanin, meba, Nikhil_110, smustgrave, quietone, casey, naveenvalecha, sime, humansky, dawehner: Module and theme names are not filtered on output Issue #3462561 by catch, smustgrave: Stop using a data provider in UserPasswordResetTest Issue #3439836 by pooja_sharma, thebumik, FeyP, vensires, smustgrave, kim.pepper, quietone: Fix File tests that rely on UID1's super user behavior Issue #2360647 by quietone, alexpott, Manuel Garcia, jhodgdon: Documentation in ConfigDependencyManager conflates plugin dependencies and config dependencies Issue #3457009 by ankitv18, quietone, joachim: Add input string to exception message thrown in createConnectionOptionsFromUrl() Issue #3460654 by pooja_sharma, FeyP, catch: Merge test methods in FieldUIRouteTest for better performance Issue #3236269 by mandclu, quietone, heni_deepak, eojthebrave: Render API overview should include a link to the list of elements Issue #3314260 by quietone, avpaderno, rakesh.drupal, ravi.shankar, chaitanyadessai, smustgrave, catch, Spokje: Replace t() calls inside of Controllers that do not use StringTranslationTrait Issue #3460598 by catch, m4olivei, penyaskito, finnsky: Single directory component CSS asset library not picked up in admin theme immediately after module install without cache clear Issue #3439835 by pooja_sharma, thebumik, FeyP, smustgrave, vensires: Fix Field UI tests that rely on UID1's super user behavior Issue #3458975 by longwave, quietone: GenerateThemeTest::testContribStarterkitDevSnapshotWithGitNotInstalled fails on sqlite Issue #3463594 by alexpott: ImageAdminStylesTest::testAjaxEnabledEffectForm() fails because statusMessageExists() does not wait Issue #3142928 by ivnish, neclimdul, Wiktor7, mitrpaka, Chi, keha3912, smustgrave, andypost, catch: Status report wrongly warns of APCu memory limit when admin language is not English Issue #3463479 by catch, Spokje, larowlan: Merge the build and lint stages in core MR pipelines Issue #3463548 by catch, smustgrave: Consolidate methods on FormElementsLabelsTest Issue #3464020 by Spokje, catch, longwave: Update to ckeditor 42.0.2 Issue #3462098 by Prem Suthar, joachim, quietone: hook_local_tasks_alter() and hook_menu_local_tasks_alter() need mutual @see links Issue #3462549 by catch, ankitv18: Optimize TelephoneFieldTest Issue #3119513 by Prem Suthar, imclean, smustgrave: Parameters doc for views "row" should be at the top level of the array Issue #3463569 by alexpott, catch: ToolbarStoredStateTest needs wait after resizing window Issue #3460257 by Grimreaper, smustgrave, quietone: Have a dedicated category for blocks provided by the Navigation module Issue #3463544 by catch: Three more slow functional tests Issue #3463288 by catch: Consolidate test methods in StandardPerformanceTest Issue #3463329 by alexpott: \Drupal\Core\Extension\ExtensionDiscovery::PHP_FUNCTION_PATTERN is out-of-date Issue #3191559 by longwave, Spokje, smustgrave, jhodgdon: [random test failure] Random test fail in EntityReferenceWidgetTest Issue #3305609 by pooja_sharma, joachim: convert TermTest::testParentHandlerSettings() into a kernel test Issue #3451611 by mfb, xjm, smustgrave, quietone: Fix the format=flowed; delsp=yes encoding of email messages Issue #3462759 by catch: Try to rebalance kernel tests between gitlab runners (@group #slow again) Issue #3417136 by dww, quietone, longwave, catch, xjm, lostcarpark, andypost, phenaproxima: Remove adding an extension via a URL Issue #3462383 by phenaproxima, catch, alexpott, longwave: CoreRecipesTest is slow Issue #3454196 by james.williams, longwave: Filter placeholders without arguments are not replaced when HTML corrector filter applied afterwards Issue #3392572 by benjifisher, Liam Morland, ricovandevin, Anybody, smustgrave, quietone, sabrina.liman, carolpettirossi, longwave, alexpott: Add missing category to Drupal\layout_builder\Plugin\Layout\BlankLayout and let modules and themes alter the list of layouts Issue #3306434 by benjifisher, quietone, Berdir, kopeboy, DYdave, larowlan: Fix access checks for bundle permissions to avoid triggering a config validation error Issue #3440848 by mondrake, quietone, daffie: Ensure post transaction callbacks are only at the end of the root Drupal transaction Issue #3163127 by scott_euser, Gauravvvv, sd9121, djsagar, ranjith_kumar_k_u, AkshayAdhav, _utsavsharma, sarvjeetsingh, komalk, Nitin shrivastava, ameymudras, pradhumanjain2311, boulaffasae, kostyashupenko, bnjmnm, meena.bisht, ambuj_gupta, sonam.chaturvedi, Sakthivel M, Utkarsh_33, KondratievaS, ressa: Autocomplete input text can visibly overflow under magnifier icon Issue #3462338 by Jaydeep_patel, bhaveshdas, quietone: Spacing issue in Home > Search page on Advanced search section Issue #3458714 by simohell, shivam_tiwari, amanire, smustgrave: Long string breaks the layout of Claro (reapply fix) Issue #3462556 by catch: Consolidate two test methods in NumberFieldTest Issue #3462529 by catch: Mark more tests with @group #slow and remove it from some others Issue #3393441 by markconroy, Gauravvvv, smustgrave, gordon: Stable 9 is trying to override non-existing css files Issue #3461421 by VinmayiSwamy, ankitv18, joachim, smustgrave: getProcessPlugins() normalises the process array twice Issue #3460921 by quietone: Fix hook_update_N docs for display of code block, remove unnecessary @see Issue #2719657 by quietone, andypost, Mile23, Spokje, ilya.no, xjm, alexpott, smustgrave: Fix 'Drupal.Commenting.InlineComment.NotCapital' coding standard Issue #3460513 by nishtha.pradhan, Berdir: Avoid TypeError if config entity dependencies are NULL Issue #3376516 by andypost, quietone: Remove check for 10200 update from help module Issue #3462339 by longwave: Update to jQuery 4.0.0-beta2 Issue #3462264 by alexpott: Skip unsupported methods in rest/jsonapi tests in an efficient way Issue #3461284 by mherchel, finnsky, quietone, nod_: Prevent simultaneous open/close on simultaneous click/hover Issue #3454603 by phenaproxima, thejimbirch, Prashant.c, alexpott: Many core recipes are not idempotent Issue #3461945 by mstrelan, bbrala: Fix instances of floats passed to functions expecting ints Issue #3458782 by catch, ankitv18, longwave, smustgrave: Remove documentation for readmore, logged_in and is_admin from node.html.twig Issue #3459754 by mondrake: Method getMockForAbstractClass() of class PHPUnit\Framework\TestCase is deprecated in PHPUnit 10 - replace in class NormalizerBaseTest Issue #3368071 by tstoeckler, longwave: Installing Content Translation module breaks Rest resources Issue #3459240 by jurgenhaas, b_sharpe, longwave, quietone: Deprecation message for user_validate_name points to an invalid replacement Issue #1650198 by apaderno, quietone, jhodgdon, smustgrave: Remove references to node_edit in FormBuilderInterface Issue #3458966 by apaderno, smustgrave: Correct the punctuation on the description for \Drupal\Tests\UnitTestCase Issue #3460246 by Prem Suthar, joachim, afeijo: incorrect docs in DateFormatter::format() Issue #3376942 by fromme, Kingdutch, smustgrave: Replace usage of generateString with generate in Media module Issue #3313449 by JeffMattson, joachim: QueueWorkerInterface is missing docs for DelayedRequeueException Issue #3459747 by quietone, smustgrave: Fix 12 words in tests

VCS Label
11.0.0
Short description
Actively maintained with new features and backwards-compatible improvements every six months. Use this version for the best compatibility with future releases.
Packaged Git sha1
140f94ff1051644c4416c7ed30cc5dd1f14507b2
Release files
1cf81680a1a288eb705edcbf3527f21a
Release file SHA-1 hash
a4eb030e66073a59629d1b24e4dcb360e90654c2
Release file SHA-256 hash
d40fef2b241424ad57715cfcd756fe74e81bc0039e29b77371058af9bc056453
e7d4f9f9eeab7b85d8100485065666e2
Release file SHA-1 hash
201e6fb5397de4d352eb88fc880d58aac4a076b6
Release file SHA-256 hash
63b5807017bac1fe3ea3ce95a1f65313fa6a4e8bc28f05086c9e89090b614860