Drupal Release: 9.2.0-beta3
Pre Release
Tag Name: 9.2.0-beta3
Release Date: 5/28/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.2.0-beta3: Symfony 5.3 Compatibility and RFC Compliance
This beta release focuses on updating Symfony dependencies to version 5.3-rc1 while maintaining forward compatibility with Symfony 6. It also fixes several critical issues including proper RFC 2047 compliance for MIME header encoding and addresses random test failures. This release is primarily targeted at developers testing the upcoming Drupal 9.2.0 release.
Highlight of the Release
- Updated Symfony components to version 5.3-rc1
- Added forward compatibility with Symfony 6
- Fixed MIME header encoding to properly follow RFC 2047
- Resolved random test failures in BuildTestTest
- Allowed pre-release dependencies in Drupal pre-release milestones
Migration Guide
Preparing for Symfony 5.3
If you maintain custom modules that interact directly with Symfony components, you should:
- Review any code that retrieves values from request bags (InputBag, ParameterBag)
- Ensure you're explicitly casting non-string values to the expected type
- Update any code that depends on the KernelEvent bridge to be compatible with both Symfony 5 and 6
Pre-release Dependencies
Module developers can now specify pre-release dependencies in their modules when targeting Drupal pre-release milestones. This allows for more flexible development workflows but requires careful versioning practices.
Upgrade Recommendations
For Production Sites
This is a beta release and not recommended for production sites. Production sites should continue using the latest stable release of Drupal 9.1.x.
For Development and Testing
Developers and testers working on Drupal 9.2.x compatibility should upgrade to this beta to help identify any issues before the stable release. This is particularly important if:
- You maintain modules that interact with Symfony components
- You have custom code that handles email generation with non-ASCII characters
- You're preparing for Drupal 9.2.0 compatibility testing
When upgrading from 9.2.0-beta2, follow the standard update procedure but pay special attention to any custom code that interacts with Symfony components.
Bug Fixes
Core Fixes
-
MIME Header Encoding: Fixed Unicode::mimeHeaderEncode() to correctly follow RFC 2047, resolving a long-standing issue (#84883) that affected email header encoding.
-
CKEditor Versions: Fixed issues with CKEditor version compatibility (#3215929).
-
Random Test Failures: Resolved random test failures in BuildTestTest::testPortMany (#3214565), improving test reliability.
Symfony Compatibility Fixes
-
KernelEvent Bridge: Fixed incompatibility between Symfony 6 KernelEvent bridge and Symfony 5 EventDispatcher (#3215830).
-
InputBag Handling: Addressed deprecation warnings related to retrieving non-string values from Symfony\Component\HttpFoundation\InputBag::get() (#3162016).
New Features
Dependency Management Improvements
- Pre-release Dependencies Support: Added support for pre-release dependencies in Drupal pre-release milestones, making development workflows more flexible.
Symfony Updates
- Symfony 5.3-rc1: Updated Symfony components to version 5.3-rc1, bringing the latest features and improvements from the Symfony ecosystem.
Forward Compatibility
- Symfony 6 Preparation: Added compatibility fixes to ensure smooth transition to Symfony 6 in the future, including addressing deprecated retrieval of non-string values from InputBag::get().
Security Updates
Email Security
- RFC 2047 Compliance: The fix for MIME header encoding (issue #84883) improves security by ensuring proper encoding of email headers, which helps prevent potential header injection attacks and ensures better email deliverability.
No critical security vulnerabilities were addressed in this release.
Performance Improvements
Testing Performance
- Minimum Dependencies: Bumped minimum dependencies required for tests to pass (#3215280), which helps ensure more reliable and efficient test execution.
Email Handling
- Improved MIME Encoding: The fix for RFC 2047 compliance in MIME header encoding not only improves standards compliance but also enhances performance when handling non-ASCII characters in email headers.
Impact Summary
Drupal 9.2.0-beta3 represents an important step toward the stable release of Drupal 9.2.0, with significant updates to Symfony dependencies and fixes for long-standing issues. The update to Symfony 5.3-rc1 keeps Drupal current with the Symfony ecosystem while preparing for future compatibility with Symfony 6.
The fix for RFC 2047 compliance in MIME header encoding addresses an issue that has existed since Drupal 4.7.0, improving email handling for multilingual sites. This release also makes development workflows more flexible by allowing pre-release dependencies in Drupal pre-release milestones.
While this beta release introduces no breaking changes, it does include important compatibility fixes that developers should be aware of, particularly those working with Symfony components directly. The focus on forward compatibility ensures that the transition to future versions of Symfony will be smoother.
As a beta release, this version is intended for testing environments and development sites preparing for the upcoming stable release of Drupal 9.2.0.
Statistics:
User Affected:
- Updated Symfony dependencies to 5.3-rc1
- Fixed compatibility issues for future Symfony 6 support
- Improved MIME header encoding for better RFC 2047 compliance
- Fixed random test failures that were affecting development workflows
