Drupal Release: 9.3.1
Tag Name: 9.3.1
Release Date: 1/5/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 9.3.1 is a maintenance release that addresses several critical bugs, improves PHP 8.1 compatibility, enhances Composer 2.2 support, and fixes various UI and functional issues. This release is important for sites experiencing memory exhaustion during configuration imports or encountering errors with field templates. All Drupal 9.3.0 users should upgrade to this version to ensure stability and proper functionality.
Highlight of the Release
- Fixed critical memory exhaustion issue during configuration imports that affected Drupal 9.3.0
- Improved compatibility with PHP 8.1 and Composer 2.2
- Fixed field template rendering errors that could break site functionality
- Enhanced link field validation to require URI when text is provided
- Resolved issues with trusted redirect responses when using check_logged_in parameter
Migration Guide
No specific migration steps are required when upgrading from Drupal 9.3.0 to 9.3.1. This is a maintenance release that fixes bugs without introducing breaking changes.
If you're experiencing the memory exhaustion issue during configuration imports in Drupal 9.3.0, upgrading to 9.3.1 will resolve this problem without requiring additional configuration changes.
For sites using Composer 2.2, this release improves compatibility, so you should be able to use the latest Composer version without issues after upgrading.
Upgrade Recommendations
Urgency: High
All sites running Drupal 9.3.0 should upgrade to Drupal 9.3.1 as soon as possible. This release fixes several critical issues, including a memory exhaustion problem during configuration imports that could prevent sites from functioning properly.
Sites experiencing any of the following issues will particularly benefit from upgrading:
- Memory exhaustion during configuration imports
- Errors when using field templates
- Problems with trusted redirects
- Issues with PHP 8.1 compatibility
- Composer 2.2 compatibility problems
The upgrade process from 9.3.0 to 9.3.1 should be straightforward and low-risk, as this is a maintenance release focused on bug fixes rather than new features or architectural changes.
Bug Fixes
Critical Bug Fixes
-
Memory Exhaustion Fix: Resolved a critical issue where
system_post_update_sort_all_configcould exhaust PHP memory in Drupal 9.3.0 during configuration imports. -
Field Template Rendering: Fixed an error that occurred when the "Use field template" checkbox was checked, which caused the error:
Cannot use object of type Drupal\Core\Render\Markup as array. -
Trusted Redirect Response: Fixed an issue where using
?check_logged_in=1parameter causedTrustedRedirectResponseto fail.
UI and Form Fixes
-
Link Field Validation: Enhanced link field validation to properly require a URI when link text is provided.
-
Media Library Widget: Fixed an issue where the Media Library Widget could trigger an AJAX error if all media types can be referenced.
-
Field UI Table: Resolved a notice about undefined index 'name' in
Drupal\field_ui\Element\FieldUiTable::reduceOrder(). -
Views Grouping Field Label: Fixed an issue where "Place a colon after the label" was not working on grouping field labels in views.
Theme Fixes
-
Olivero Theme: Fixed alignment of primary menu hover states and dropdowns at wide widths.
-
Off-Canvas Styles: Corrected a placeholder CSS selector in off-canvas.reset.css that was wrong.
Database and Testing Fixes
-
Database Collation: Fixed an issue to avoid comparing fields with different collations in
SelectSubqueryTest. -
Database Driver Module: Made improvements to prevent uninstalling the database driver module within installer tests.
-
Test Mail Collector: Ensured functional tests use the test mail collector properly.
New Features
No significant new features were added in this maintenance release. This version focuses on bug fixes, compatibility improvements, and documentation enhancements to address issues discovered in Drupal 9.3.0.
Security Updates
No specific security fixes were mentioned in the release notes. This appears to be primarily a maintenance release focused on bug fixes, compatibility improvements, and documentation enhancements.
Performance Improvements
-
Memory Usage: Fixed a critical memory exhaustion issue during configuration imports that could cause sites to crash when running
system_post_update_sort_all_config. -
jQuery Dependency Removal: Removed jQuery dependency from date.js, which helps reduce JavaScript overhead and improves frontend performance.
-
Database Query Optimization: Improved database query handling by avoiding comparison of fields with different collations, which can lead to more efficient query execution.
Impact Summary
Drupal 9.3.1 is an important maintenance release that addresses several critical issues discovered in Drupal 9.3.0. The most significant fix resolves a memory exhaustion problem during configuration imports that could render sites unusable. This release also improves compatibility with PHP 8.1 by fixing deprecation notices and enhances support for Composer 2.2.
For site administrators, this update resolves critical rendering errors with field templates and fixes issues with trusted redirect responses. Developers will benefit from improved PHP 8.1 compatibility, enhanced documentation, and fixes for database query issues. Content editors will see improvements in link field validation and media library widget functionality.
The release includes numerous documentation improvements, making the codebase more maintainable and easier to understand. It also addresses UI issues in the Olivero theme and fixes various form handling problems.
Overall, this release significantly improves the stability and reliability of Drupal 9.3.x without introducing breaking changes, making it a recommended upgrade for all Drupal 9.3.0 sites.
Statistics:
User Affected:
- Fixed critical memory exhaustion issue during configuration imports
- Improved compatibility with Composer 2.2
- Fixed errors when using field templates
- Resolved issues with trusted redirect responses
