Drupal 10.3.0
24 June 2024
Drupal version 10.3.0 is now available (major release).
Upgrading to Drupal 10.3.0
Drupal 10.3.0 can be upgraded to (or installed) using any of Installatron's products. Use Installatron's optional Automatic Update feature to automatically apply Drupal updates as new versions are released, or use Installatron's Clone feature to duplicate an existing Drupal install to test the 10.3.0 upgrade prior to applying it live. Get started managing your Drupal installations with Installatron
What's New in Drupal 10.3.0
This is the final feature release of Drupal 10 and is ready for use on production sites.
Breaking Changes
- For security hardening, a backwards-compatibility break has been introduced in ImageStyleDownloadController. This change may affect modules that provide custom stream wrappers or extend ImageStyleDownloadController.
Highlights
- Changes to site-owner-managed files.
- Drupal 10.3 is fully compatible with PHP 8.3.
- In order to protect users from being unexpectedly logged out, the user logout route is now CSRF-protected.
- Drupal now returns render cache items (except for forms) on POST requests.
- The Navigation module provides new administration navigation. It is at beta stability.
- Sticky table headers are now implemented with pure CSS instead of JavaScript.
- update.php will now use the Claro theme instead of the configured maintenance theme, to ensure that updates are run in a consistent environment.
Known Issues
- PHP 8.4 compatibility for Drupal 10 and 11 remains under development.
- #3446026: Adding media library openers use autoconfigure and tags in 10.3.x has BC consequences
Bug Fixes and Changes
- Allow recipe command to write to the container - ensuring that cache does not be cleared after a recipe installs a module
- Remove commented-out code in ArgumentDefaultTest referring to php module
- Add void return typehints to all test methods
- Roles should be in their own recipes for composability
- Fix Drupal.Commenting.DocCommentLongArraySyntax coding standard
- Update mentions of #2225961 in comments
- Global Token Replacements is not working correctly in href
- Move Recipe\RollbackTest is to the FunctionalTests namespace
- [10.3 regression] CKEditor 5 renamed CSS variable causing CKEditor dialogs to fail to appear above jQuery UI dialogs
- Require Composer 2.7.7
- Updates to an entity's URL alias do not reflect on the corresponding local tasks
- Fix return type of FormatterInterface::settingsSummary
- GenerateTheme::__construct() does not document its parameters
- Add comments about alphabetical sorting in UpdateRegistry and test
- Insufficient cacheability information bubbled up by UserAccessControlHandler
- Optimize test order when --directory is used
- core.libraries.yml mis-implements moved_files syntax
- Update 'lauriii' last name
- twig_render_template micro optimization
- Add static caching to LayoutTempstoreRepository
- Move to new test path in NodeTest as per todo