Home

>

Tools

>

Drupal

>

Releases

>

9.3.4

Drupal Release: 9.3.4

Tag Name: 9.3.4

Release Date: 2/2/2022

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.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:

  1. Back up your database and site files
  2. Put your site into maintenance mode
  3. Update Drupal core using Composer:
    composer update drupal/core-recommended --with-dependencies
    
  4. Run database updates:
    drush updatedb
    
  5. Clear caches:
    drush cache:rebuild
    
  6. 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:

File Changed81
Line Additions1,458
Line Deletions444
Line Changes1,902
Total Commits44

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

Contributors:

xjmalexpottlauriiibbenjamin