Drupal Release: 9.3.0-beta3
Pre Release
Tag Name: 9.3.0-beta3
Release Date: 11/24/2021
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 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:
-
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.
-
If you have custom code that interacts with date elements, verify that it works correctly with the fixed date handling functionality.
-
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_callbacksin 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:
-
Fixed Date Handling: Critical fixes for date functionality that was broken in Drupal 9.3, affecting forms and other date-related features.
-
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.
-
Better Developer Experience: The integration of CKEditor 5 plugins into core's build process and improved JavaScript testing capabilities enhance the developer experience.
-
Security Improvements: Updated email validation prevents potentially malicious email addresses with spaces in the domain part.
-
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:
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
