Drupal Release: 10.0.0-beta2
Pre Release
Tag Name: 10.0.0-beta2
Release Date: 9/29/2022
DrupalHighly 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 10.0.0-beta2: Stability Improvements and PHP 8.2 Compatibility
This beta release focuses on improving stability, fixing bugs, and ensuring compatibility with PHP 8.2. Key improvements include PHP 8.2 compatibility fixes, test performance enhancements, security updates, and various bug fixes across core modules. The release also adds new features like a Twig filter for template suggestions and includes fonts in the Umami demo theme. This beta is an important step toward a stable Drupal 10 release and is recommended for testing environments but not production sites.
Highlight of the Release
- PHP 8.2 compatibility improvements with
#[\AllowDynamicProperties]attribute added to core classes - Security update (SA-CORE-2022-016) addressing potential vulnerabilities
- New Twig
|add_suggestionfilter for more flexible theming - Fixed issue with default values not displaying for image fields in Layout Builder
- Inclusion of fonts in the Umami demo theme for better visual presentation
- Improved test performance across multiple test classes
- Fixed allowed HTML tags handling when updating text format configurations
Migration Guide
PHP 8.2 Compatibility
If you're planning to use PHP 8.2 with your Drupal site, this beta includes important compatibility fixes:
- Added
#[\AllowDynamicProperties]attribute to core classes to reduce noise in logs - Fixed callable syntax for PHP 8.2 in Views.php
- Defined missing object properties on non-testing classes
These changes help ensure smooth operation with PHP 8.2, but you should still thoroughly test your site and contributed modules when upgrading to PHP 8.2.
IE11 Support Removal from Claro
The Claro admin theme has removed support for Internet Explorer 11. If your administrative users are still using IE11, they will need to switch to a modern browser to properly use the Claro theme.
Coding Standards Updates
Several coding standards have been updated in this release:
- Fixed
Drupal.Commenting.FunctionComment.MissingReturnType - Fixed
Drupal.Array.Array.[ArrayClosingIndentation, ArrayIndentation] - Replaced
t()with$this->t()in all plugins
If you have custom code that extends or overrides core functionality, you may need to update your code to match these standards.
Upgrade Recommendations
As this is a beta release (10.0.0-beta2), it is not recommended for production sites. This release is intended for testing and development environments to help identify and resolve issues before the stable release.
Developers and site builders are encouraged to:
- Test this beta release in development or staging environments
- Report any bugs or issues found to the Drupal issue queue
- Test contributed modules for compatibility with Drupal 10
If you're currently on Drupal 9, it's recommended to stay on the latest stable Drupal 9 release for production sites until Drupal 10.0.0 stable is released.
For those already testing with 10.0.0-beta1, upgrading to beta2 is recommended to benefit from the bug fixes and improvements included in this release.
Bug Fixes
Layout Builder Default Values Display
Fixed an issue where default values were not displayed for image fields placed in Layout Builder. This ensures that image fields with default values render correctly when used within Layout Builder contexts.
ViewsExposedFilterBlock Return Value
Fixed the ViewsExposedFilterBlock::build method to always return an array, preventing potential errors when the method is called in certain contexts.
Taxonomy Glossary Terms Starting with Zero
Corrected an issue with the taxonomy glossary where terms that start with zero were displaying with incorrect labels.
Book Table of Contents
Fixed a random test failure in BookTest::testGetTableOfContents, ensuring more reliable testing of the book module's table of contents functionality.
Help Page Links
Fixed broken help page links in the MySQL module and several other modules that were directing users to 404 (page not found) errors.
BlockContent Entities Delete Method
Fixed an issue where BlockContent entities were using the delete method directly instead of properly implementing pre/post delete hooks, ensuring proper cleanup when deleting block content.
Olivero Theme Link Hover Styles
Fixed an issue where Olivero link hover styles were not being affected by custom color settings, ensuring consistent theming behavior.
Olivero Blockquote Decoration
Resolved an issue where Olivero's blockquote pseudo-element decoration sometimes did not display properly, improving the visual consistency of blockquotes.
Configuration Import Race Condition
Fixed a race condition with automatic deploy steps on ConfigImporter that could cause issues during configuration imports.
New Features
New Twig Filter for Template Suggestions
A new Twig filter |add_suggestion has been added that allows theme developers to add template suggestions programmatically. This provides more flexibility when working with template suggestions and makes it easier to create targeted template overrides.
Fonts Included in Umami Demo Theme
The Umami demo theme now includes fonts directly in the theme, improving the visual presentation and ensuring consistent typography without relying on external font services. This enhancement makes the demo experience more complete and visually appealing.
Bundle Classes for Field Definitions
The system now uses Bundle Classes for building bundle field definitions, providing a more structured and object-oriented approach to field definition management. This improves code organization and maintainability for developers working with entity bundles.
Security Updates
Security Advisory SA-CORE-2022-016
This release includes security fixes from SA-CORE-2022-016, addressing potential vulnerabilities in Drupal core. As with all security updates, it's recommended to apply this update to maintain the security of your Drupal installation.
The specific details of the security fixes are not disclosed in the commit messages to prevent exploitation of unpatched systems, but the update has been cherry-picked from the security team's work.
Performance Improvements
Test Performance Enhancements
Several test classes have been optimized for better performance:
- Improved test performance of
Drupal\Tests\comment\Functional\Views\CommentEditTest - Fixed test performance of
Drupal\node\Tests\NodeAccessBaseTableTest - Removed unnecessary caching layer tests in
EntityResourceTestBase
These improvements reduce the time needed to run tests, making the development workflow more efficient.
Cache Debugging
Added render_cache debug output functionality, which helps developers identify and resolve caching-related issues more efficiently by providing better visibility into the caching system's behavior.
Impact Summary
Drupal 10.0.0-beta2 represents an important step toward a stable Drupal 10 release, focusing on stability, compatibility, and bug fixes. The most significant impacts include:
-
PHP 8.2 Compatibility: Extensive work has been done to ensure Drupal works well with PHP 8.2, including adding the
#[\AllowDynamicProperties]attribute to core classes and fixing callable syntax issues. -
Developer Experience: Several improvements enhance the developer experience, including a new Twig filter for template suggestions, better cache debugging, and improved test performance.
-
Theme Enhancements: The inclusion of fonts in the Umami demo theme and fixes to the Olivero theme improve the visual presentation and consistency of Drupal's default themes.
-
Security: The inclusion of security fixes from SA-CORE-2022-016 ensures that sites running this beta are protected against known vulnerabilities.
-
Bug Fixes: Numerous bug fixes across core modules improve stability and functionality, particularly in areas like Layout Builder, Views, and taxonomy.
While this beta release shows significant progress, it's important to remember that it's intended for testing environments rather than production sites. The improvements in this release demonstrate Drupal's commitment to quality, security, and developer experience as it moves toward a stable Drupal 10 release.
Statistics:
User Affected:
- PHP 8.2 compatibility improvements with added `#[\AllowDynamicProperties]` attributes to core classes
- New Twig `|add_suggestion` filter for more flexible theming
- Improved test performance and fixed random test failures
- Better documentation for cache-related interfaces and methods
- Fixed coding standards and improved docblocks across the codebase
