Home

>

Tools

>

Drupal

>

Releases

>

10.0.0-beta2

Drupal Release: 10.0.0-beta2

Pre Release

Tag Name: 10.0.0-beta2

Release Date: 9/29/2022

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 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_suggestion filter 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:

  1. Test this beta release in development or staging environments
  2. Report any bugs or issues found to the Drupal issue queue
  3. 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:

  1. 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.

  2. Developer Experience: Several improvements enhance the developer experience, including a new Twig filter for template suggestions, better cache debugging, and improved test performance.

  3. 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.

  4. Security: The inclusion of security fixes from SA-CORE-2022-016 ensures that sites running this beta are protected against known vulnerabilities.

  5. 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:

File Changed300
Line Additions1,515
Line Deletions824
Line Changes2,339
Total Commits46

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

Contributors:

xjmalexpottlauriii