Home

>

Tools

>

Drupal

>

Releases

>

11.0.0-rc1

Drupal Release: 11.0.0-rc1

Pre Release

Tag Name: 11.0.0-rc1

Release Date: 7/11/2024

Drupal LogoDrupal

Highly flexible, open-source content management system known for complex, scalable web applications. Preferred by government, educational, and large enterprise websites requiring advanced customization and security features. Robust module ecosystem.

TL;DR

Drupal 11.0.0-rc1 marks a significant milestone in the development of Drupal 11, bringing numerous improvements and refinements since the beta1 release. This release candidate introduces enhanced navigation capabilities, improved accessibility features, and significant performance optimizations. The codebase has been modernized with better PHP 8.4 compatibility, updated Symfony 7.1 support, and cleaner JavaScript implementations. Notable additions include configurable session name suffixes, improved layout builder functionality, and a refreshed Drupal logo reflecting the 2024 brand evolution. This RC represents the stabilization phase before the final Drupal 11.0.0 release.

Highlight of the Release

    • Updated to Symfony 7.1 stable version for improved performance and features
    • Enhanced navigation module with better UI, accessibility, and mobile experience
    • Improved Layout Builder with static caching for better performance
    • Updated Drupal logo reflecting the 2024 brand evolution
    • Configurable session name suffixes for better multi-site management
    • Updated CKEditor 5 to version 42.0.0 with improved functionality
    • Better PHP 8.4 compatibility with fixed implicitly nullable type declarations
    • Improved accessibility features including ability to mark media images as 'decorative'

Migration Guide

PHP Requirements

  • Drupal 11 requires PHP 8.1 or higher, with PHP 8.4 compatibility improvements included in this release
  • The zlib PHP extension is now explicitly required and checked during runtime requirements check

JavaScript Requirements

  • Node.js 20 is now required for Drupal 11
  • Updated JavaScript dependencies for Drupal 11.0-rc

Symfony Updates

  • Updated to Symfony 7.1 stable version
  • Projects using Symfony components should ensure compatibility with version 7.1

Deprecated Code Removal

  • Removed remaining deprecated code from Drupal 11
  • Removed ThemeInitialization::resolveStyleSheetPlaceholders
  • Removed example cron scripts
  • Removed deprecated moved_files entries in core

jQuery Updates

  • Updated to jQuery UI 1.14.0 beta 2
  • Refactored several jQuery-dependent components to use vanilla JavaScript
  • Replaced dialogContentResize jQuery event with CustomEvent

Class and Method Changes

  • Renamed UserNavigationBlock to NavigationUserBlock for class name consistency
  • Access policies are now marked as final to encourage decorating
  • FormStateInterface::setError*() PHPDoc has been corrected
  • Fixed implicitly nullable type declarations for PHP 8.4 compatibility

Configuration Changes

  • If using Navigation module, check custom implementations for compatibility with the updated code
  • Review any custom Layout Builder implementations due to static caching changes
  • Check for overridden configuration values which will now display status messages

Upgrade Recommendations

For Production Sites

It is recommended to wait for the final 11.0.0 release before upgrading production sites from Drupal 10.x. This release candidate is primarily intended for testing and preparation purposes.

For Development and Testing

Developers and site builders should test their custom modules, themes, and configurations with this release candidate to identify any compatibility issues before the final release. Pay special attention to:

  1. Custom modules that interact with the Navigation system
  2. Layout Builder customizations
  3. JavaScript implementations that might be affected by jQuery UI updates
  4. PHP code that might be affected by stricter type declarations

Preparation Steps

  1. Set up a test environment with this release candidate
  2. Test all critical site functionality
  3. Review custom code for compatibility with PHP 8.1+ and Symfony 7.1
  4. Update any dependencies that might not be compatible with Drupal 11
  5. Document any issues encountered and prepare fixes

Module Compatibility

Check the compatibility of contributed modules with Drupal 11. Many modules may need updates to work properly with this version.

Bug Fixes

Navigation and UI Fixes

  • Fixed fatal error when accessing Navigation Blocks on a minimal profile installation
  • Fixed navigation overlay z-index issues
  • Fixed mobile version of Navigation menu not properly resetting Drupal.displace() on closing
  • Fixed incorrect positioning of close button on mobile devices when navigation module is enabled
  • Fixed dead click zone in Navigation LayoutBuilder UI
  • Fixed distorted secondary tabs design on block view page

Layout and Display Fixes

  • Fixed RecipeCommand mistakenly trying to apply a recipe even if given an invalid directory
  • Fixed configuration synchronization page errors when core.extension.yml is missing
  • Fixed confirmation form for disabling per-entity layout overrides showing incorrect success message
  • Fixed Claro CSS for dropbutton items adding large gap of white space
  • Fixed overflow visibility for wrapper content in navigation CSS
  • Fixed Claro details component not having the right class
  • Fixed spinner shifting label and format column when configuring a field on content type's "manage display" tab

CKEditor and Dialog Fixes

  • Fixed CKEditor 5 Styles dropdown when in off-canvas sidebar
  • Fixed CKEditor 5 renamed CSS variable causing dialogs to fail to appear above jQuery UI dialogs
  • Fixed dialogContentResize jQuery event by replacing with CustomEvent

Accessibility Fixes

  • Fixed Claro highlighted row not being communicated to keyboard users
  • Fixed visually-hidden refresh button in Field UI failing WCAG Focus Visible
  • Fixed tab highlights for current/hover/click being too high up with multi-line text
  • Fixed autocomplete dropdown bleeding through sticky table header

Performance and Technical Fixes

  • Fixed RouteProvider::getRouteCollectionForRequest() poisoning query string of next request
  • Fixed container compile crash when a service decorates a destructable service
  • Fixed FTPExtension class connection issues
  • Fixed label token replacement for views entity reference arguments
  • Fixed handling of update.php when entity type info needs to be updated
  • Fixed BC break in login auth changes
  • Fixed MenuListBuilder getEntityIds() no longer calling getEntityListQuery

New Features

Configurable Session Name Suffixes

Added the ability to configure session name suffixes, allowing for better management of multi-site installations and improved session handling.

Decorative Media Images

Added the ability to mark media images as "decorative" for better accessibility compliance, helping content editors create more accessible content.

Navigation Module Enhancements

  • Added icons for top-level navigation items using the first two letters when no icon is provided
  • Improved mobile navigation experience with better drawer functionality
  • Added Nightwatch tests for the Navigation module
  • Improved access logic for Navigation blocks page

Recipe System Improvements

  • Added ability for recipe commands to write to the container, ensuring that cache does not need to be cleared after a recipe installs a module
  • Added roles in their own recipes for better composability

Mime Type Handling

Registered Drupal's mime type guesser with the Symfony MimeTypes service, improving file handling capabilities.

Service Container Improvements

Added support for !service_closure custom tag in YamlFileLoader, enhancing service container flexibility.

Security Updates

No significant security fixes were explicitly mentioned in the release notes. However, as with any major update, this release includes general security improvements and dependency updates that help maintain the overall security posture of Drupal installations.

Performance Improvements

Layout Builder Performance

Added static caching to LayoutTempstoreRepository, significantly improving performance when working with layouts.

Asset Loading Optimization

  • Improved asset loading performance across pages
  • Made drupal.tableheader only use CSS for sticky table headers, removing JavaScript dependency

Query Performance

Added an index on locales_location on type and name, improving query performance for localization operations.

Test Performance

  • Optimized test ordering when run-tests.sh is used with a mixture of test types
  • Optimized test order when --directory is used
  • Fixed CoreRecipesTest to be faster

Twig Template Optimization

Implemented twig_render_template micro optimization for better template rendering performance.

Service Container Optimization

Improved service container performance through better use of autoconfigure in core.

Impact Summary

Drupal 11.0.0-rc1 represents a significant step toward the final Drupal 11 release, focusing on stabilization and refinement of features introduced in earlier beta versions. This release candidate brings important improvements to the navigation system, accessibility enhancements, and performance optimizations that benefit all types of users.

For site administrators, the improved navigation blocks with better access logic and the ability to configure session name suffixes provide more flexibility and control. The addition of status messages for overridden configuration values improves transparency in site management.

Developers will appreciate the updated Symfony 7.1 support, improved PHP 8.4 compatibility, and the shift toward more modern JavaScript implementations with less jQuery dependency. The recipe system improvements, including the ability to write to the container without requiring cache clearing, streamline development workflows.

Content editors benefit from the updated CKEditor 5, improved accessibility features like the ability to mark media images as decorative, and a more intuitive navigation menu UI with better mobile experience.

End users will notice performance improvements, better accessibility with improved 'Skip to main content' functionality, and the refreshed Drupal logo reflecting the 2024 brand evolution.

This release candidate demonstrates Drupal's continued commitment to modern web standards, accessibility, and developer experience while maintaining backward compatibility where possible. The focus on performance optimizations and UI improvements ensures that Drupal 11 will provide a solid foundation for building modern, accessible, and performant websites.

Statistics:

File Changed300
Line Additions757
Line Deletions566
Line Changes1,323
Total Commits162

User Affected:

  • Benefit from improved navigation blocks with better access logic
  • Can now configure session name suffixes for better multi-site management
  • Will see clearer status messages when configuration values are overridden
  • Experience improved layout builder functionality with better performance through static caching

Contributors:

longwavelarowlanalexpottxjm