Home

>

Tools

>

Drupal

>

Releases

>

9.3.0-beta3

Drupal Release: 9.3.0-beta3

Pre Release

Tag Name: 9.3.0-beta3

Release Date: 11/24/2021

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 9.3.0-beta3 brings important bug fixes and improvements to prepare for the stable release. This beta addresses critical PHP 8.1 compatibility issues, fixes date handling problems, improves CKEditor 5 integration, and enhances JavaScript testing capabilities. It also updates dependencies and improves code quality through better documentation and deprecation handling.

Highlight of the Release

    • Fixed critical date handling issues in Drupal 9.3
    • Improved PHP 8.1 compatibility
    • Enhanced CKEditor 5 integration with core build process
    • Better JavaScript testing capabilities with fault-tolerant methods
    • Updated dependencies for improved security and performance

Migration Guide

No specific migration steps are required for this beta release. However, developers should note:

  1. If you were relying on the removal of DependencySerializationTrait from JSON API exceptions (which was reverted in this release), you may need to adjust your code.

  2. If you have custom code that interacts with date elements, verify that it works correctly with the fixed date handling functionality.

  3. If you're developing JavaScript tests, consider using the new fault-tolerant methods for interacting with links and fields for more reliable tests.

Upgrade Recommendations

As this is a beta release, it is recommended for testing environments only and not for production sites. Developers and site builders should test their custom modules and themes with this beta to identify any compatibility issues before the stable 9.3.0 release.

If you're already running Drupal 9.3.0-beta2, upgrading to beta3 is recommended to benefit from the important bug fixes, especially if you're experiencing issues with date handling or CKEditor 5 integration.

For production sites, it's advisable to wait for the stable 9.3.0 release unless you specifically need the fixes included in this beta.

Bug Fixes

Date Handling Fixes

  • Fixed broken #date_date_callbacks in Drupal 9.3, which was causing issues with date handling
  • Fixed \Drupal\Core\Datetime\Element\Datelist::processDatelist() to properly use trusted callbacks

PHP 8.1 Compatibility

  • Fixed NumberFieldTest failures in PHP 8.1 environments

CKEditor 5 Issues

  • Fixed PostgreSQL compatibility issues in CKEditor 5 tests
  • Improved file reference integration in CKEditor 5

JSON API

  • Reverted the removal of DependencySerializationTrait from JSON API exceptions to maintain compatibility

Email Validation

  • Updated email validation to prevent addresses with spaces in the domain part, addressing a security concern

New Features

Enhanced JavaScript Testing

A new fault-tolerant method has been added for interacting with links and fields in JavaScript tests. This makes tests more reliable and less prone to failures due to timing issues or DOM changes.

CKEditor 5 Build Integration

Drupal's CKEditor 5 plugins are now built as part of core's yarn build process, improving the development workflow and ensuring better integration between Drupal core and CKEditor 5.

Security Updates

Email Validation Security Fix

Updated egulias/EmailValidator dependency to address an issue where email addresses with spaces in the domain part were incorrectly validated. This could potentially be exploited in systems that rely on properly validated email addresses for security purposes.

Performance Improvements

Build Process Optimization

The integration of CKEditor 5 plugins into core's build process improves build efficiency and reduces redundant operations during development.

Code Optimization

Fixed unreachable logic in UrlGenerator::getRoute, which improves code execution paths and removes unnecessary processing.

Impact Summary

Drupal 9.3.0-beta3 is primarily a bug fix and enhancement release that addresses several critical issues discovered in previous beta versions. The most significant impacts are:

  1. Fixed Date Handling: Critical fixes for date functionality that was broken in Drupal 9.3, affecting forms and other date-related features.

  2. Improved PHP 8.1 Compatibility: This release continues the work toward making Drupal fully compatible with PHP 8.1, which is important for future-proofing sites.

  3. Better Developer Experience: The integration of CKEditor 5 plugins into core's build process and improved JavaScript testing capabilities enhance the developer experience.

  4. Security Improvements: Updated email validation prevents potentially malicious email addresses with spaces in the domain part.

  5. Better Documentation: Various documentation improvements and code quality enhancements make the codebase more maintainable.

This beta release brings Drupal 9.3 closer to a stable release by addressing key issues identified during the beta testing phase.

Statistics:

File Changed300
Line Additions1,598
Line Deletions749
Line Changes2,347
Total Commits19

User Affected:

  • Better PHP 8.1 compatibility with fixes for NumberFieldTest
  • Improved JavaScript testing with new fault-tolerant methods for interacting with links and fields
  • Updated dependencies for better security and performance
  • Fixed documentation issues in various components including Views cache plugin and Connection class

Contributors:

xjmalexpottlarowlanlauriii