Drupal Release: 9.3.4
Tag Name: 9.3.4
Release Date: 2/2/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.4 is a maintenance release that addresses various bugs and issues across the CMS. Key improvements include fixes for CKEditor 5 functionality, file handling with external stream wrappers, UI improvements in the Claro theme, and various documentation updates. This release focuses on stability and usability rather than introducing major new features, making it an important update for sites currently running Drupal 9.3.x.
Highlight of the Release
- Fixed FileUrlGenerator::generate() to work correctly with externally hosted files using stream wrappers
- Improved CKEditor 5 toolbar positioning to prevent occlusion of Drupal's toolbar
- Fixed dialog width and positioning issues in the Claro theme
- Added support for Drupal.t() in Drupal-specific CKEditor 5 plugins
- Fixed fragment links pointing to textareas in CKEditor 5
- Updated to Stylelint 14 for improved CSS linting
Migration Guide
No major migration steps are required for this maintenance release. This is a bugfix release that should be a straightforward update from Drupal 9.3.3.
If you're using CKEditor 5 with custom configurations, you may want to review the changes related to the ckeditor5_alignment plugin split and toolbar positioning to ensure your editor configurations continue to work as expected.
For developers working with external file systems through stream wrappers, the fix to FileUrlGenerator::generate() may change behavior for externally hosted files, so testing your specific implementation is recommended.
Upgrade Recommendations
This is a maintenance release containing bug fixes and minor improvements. It is recommended that sites running any version of Drupal 9.3.x update to this version to ensure stability and benefit from the latest fixes.
The update process should be straightforward:
- Back up your database and site files
- Put your site into maintenance mode
- Update Drupal core using Composer:
composer update drupal/core-recommended --with-dependencies - Run database updates:
drush updatedb - Clear caches:
drush cache:rebuild - Take your site out of maintenance mode
As always, test the update on a staging environment before applying it to your production site.
Bug Fixes
CKEditor 5 Fixes
- Fixed fragment links pointing to textareas being redirected to CKEditor 5 instance when CKEditor 5 replaced that textarea
- Fixed language toolbar item removal functionality
- Fixed CKEditor 5's toolbar occluding Drupal's toolbar when CKEditor 5 has focus
- Fixed extraneous closing parentheses and curly brace in visually-hidden button description text
Theme and UI Fixes
- Fixed dialog width and positioning issues in Claro theme
- Fixed Claro's password element handling that failed in some circumstances
- Fixed view mode not displaying in dropdown if numerical
Core System Fixes
- Fixed FileUrlGenerator::generate() to work correctly with externally hosted files using stream wrappers
- Fixed PHPStan L0 failures
- Fixed issues with block IDs when updating to Drupal 9.3.0 adding --2 suffix
- Fixed PHPUnit 9.5.12 throwing unhandled deprecation notice on "Drupal\Tests\Listeners\DrupalListener"
- Fixed Element::properties() producing notices if given an array with integer keys
- Fixed UID base field override configs that still had old default value callbacks
- Fixed database dumps no longer being driver-agnostic
- Fixed wrong argument for @message in ModuleInstaller::install call to watchdog_exception
- Fixed unused variable $unpublished in TrackerTest.php
Documentation Fixes
- Fixed docblock in \Drupal\Core\Asset\CssOptimizer::processFile()
- Fixed small typos in CKEditor 5 module
- Updated scaffold README that was out of date
- Fixed documentation for _toolbar_get_subtrees_hash()
- Improved documentation about entity query NOT BETWEEN operator in JSON:API
- Improved messaging about Internet Explorer 11
New Features
CKEditor 5 Improvements
- Added support for Drupal's JS translation API (Drupal.t()) in Drupal-specific CKEditor 5 plugins
- Split ckeditor5_alignment plugin to allow for more precise upgrade paths
- Added test coverage for CKEditor 5 SmartDefaultSettings with wildcard tags and unsupported attributes
- Improved media embedding in text formats
Developer Experience
- Added documentation of migration YAML files
- Added validation for drupal.conditions in plugin definitions
- Added tests of row hash to trackChangesTest
Security Updates
No significant security fixes were included in this release. For security-related updates, it's always recommended to keep your Drupal installation up to date with the latest version.
Performance Improvements
- Fixed yarn vendor-update command for better dependency management
- Excluded system.batch_page.html from setting update security message for improved performance during batch operations
- Improved handling of database dumps to ensure better compatibility across different database drivers
Impact Summary
Drupal 9.3.4 is primarily a bugfix release that addresses various issues across the CMS. The most significant improvements focus on CKEditor 5 functionality, including better toolbar positioning, fragment link handling, and support for Drupal's JavaScript translation API.
The release also fixes important issues with file handling for externally hosted files using stream wrappers, improves UI elements in the Claro theme, and enhances developer experience with better documentation and validation.
While this release doesn't introduce major new features, it provides important stability improvements and fixes that enhance the overall user experience for content editors, developers, and site administrators. The fixes for CKEditor 5 are particularly valuable for sites that rely heavily on rich text editing.
For most users, this update will be seamless and provide incremental improvements to stability and usability. The update is recommended for all sites running Drupal 9.3.x to ensure they benefit from these fixes and improvements.
Statistics:
User Affected:
- Improved CKEditor 5 experience with better toolbar positioning
- Fixed fragment links pointing to textareas in CKEditor 5
- Fixed language toolbar item removal functionality
- Better handling of media embedding in text formats
