This is an alpha release for the next minor release of Drupal 11. Alphas are good testing targets for developers and site builders who are comfortable reporting (and where possible, fixing) their own bugs. Alpha releases are not recommended for non-technical users, nor for production websites.More information on alpha releases.
This minor release provides improvements and new functionality. It does not break backward compatibility (BC) for public APIs. There may be changes in internal APIs and experimental modules. If so, contributed and custom modules and themes may need updating. This is according to Drupal core's backward compatibility and experimental module policies.
This release may include string changes and additions. Translators can review the latest translation status on localize.drupal.org.
Drupal 11.2.x will receive security support until June 2026. Drupal 11.1.x will continue to receive security support until December 2025.
Drupal 11 will be supported until the release of Drupal 13.
Important update information
API and behavior changes
-
The "Update Manager" module that provides the Available updates report at
admin/reports/updates
is renamed back to "Update Status". All of the functionality to manage updates or install new code on a site through the admin UI is deprecated or removed. All sites should usecomposer
to manage their code. - The Drupal installer now installs modules without rebuilding the container between each module to improve performance. This may be incompatible with some custom install profiles. Sites using custom install profiles may need to add the "container_rebuild_required" key to relevant info.yml files.
Hook system
The order hooks are executed is now defined and can be altered. The details are listed below. In general, procedural hooks are ordered before object oriented hooks for a given module.
- Module developers can use the "Preprocess" attribute to declare object-oriented preprocess hooks. This means there is no need for a .module file as modules can move all their hooks toif the module has all of its hooks on classes in the Hook namespace.
-
The hook
module_implements_alter
can be implemented directly in hook implementations using PHP attributes. Sites using the legacy procedural hook need to update existing implementations to use the "LegacyModuleImplementsAlter" attribute. - Hook implementations can be ordered using "Order" parameter on the hook attribute.
- Hook implementations in other modules can be re-ordered using the "Reorder" attribute.
- Hooks implementations can be removed using the "RemoveHook" attribute.
PHP dependency changes
- Symfony is updated to v7.3.0-BETA1 and will be updated again to v7.3.0 before Drupal 11.2.0.
- Twig has been updated to v3.21.1.
- Numerous other dependencies have received minor- and patch-level updates to the latest versions.
PHP development dependency changes
-
PHPUnit 11 can now be used for testing. While the default version remains PHPUnit 10, it's possible to update to PHPUnit via
composer update phpunit/phpunit --with-dependencies
. Drupal core testing on PHP 8.4 requires PHPUnit 11 as a minimum. - PHPStan has been updated from v1.12 to v2.1.14.
Frontend (CSS and JavaScript) production dependency changes
- Many dependencies have received minor- and patch-level updates to the latest versions.