Home

>

Tools

>

Drupal

>

Releases

>

8.9.3

Drupal Release: 8.9.3

Tag Name: 8.9.3

Release Date: 8/5/2020

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 8.9.3 is a maintenance release that includes numerous bug fixes, performance improvements, and code quality enhancements. This update addresses critical issues with comments as base fields, content moderation in views, memory leaks in typed data, and fixes several accessibility issues. While there are no major new features, the release significantly improves stability and resolves several long-standing bugs that affected content management, views functionality, and entity handling.

Highlight of the Release

    • Fixed critical issue preventing comment creation when comment is configured as a base field
    • Resolved memory leak in typed data prototypes for field items
    • Fixed content moderation views to properly join on entity ID and filter on moderation state
    • Improved handling of translatable fields during base field purging
    • Fixed issues with config entity queries for nested properties and sorting
    • Updated CKEditor to version 4.14.1
    • Improved accessibility by removing landmark region role from Powered-by-Drupal block

Migration Guide

No significant migration steps are required for this maintenance release. This is a bug fix release that should not require any special migration procedures beyond the standard update process:

  1. Back up your database and site files
  2. Put your site into maintenance mode
  3. Update Drupal core codebase
  4. Run the update script by navigating to /update.php
  5. Take your site out of maintenance mode

If you are using any of the specific features that were fixed in this release (such as comments as base fields, content moderation views, or config entity queries with nested properties), you may notice improved functionality without any additional configuration changes.

Upgrade Recommendations

This is a maintenance release containing bug fixes and minor improvements. It is recommended for all sites running Drupal 8.9.x to upgrade to this version to benefit from the numerous bug fixes and improvements.

Priority: Medium

The update addresses several critical bugs that may affect site functionality, particularly for sites using:

  • Comments as base fields
  • Content moderation with views
  • Config entity queries with nested properties
  • Multilingual content with unpublished translations

No API changes or database schema updates are included that would cause backward compatibility issues. The update process should be straightforward and low-risk for most sites.

For sites experiencing any of the specific issues fixed in this release, upgrading is highly recommended.

Bug Fixes

Entity and Field Management

  • Fixed issue preventing comment creation when comment is configured as a base field (#2855068)
  • Fixed memory leak in typed data prototypes for field items (#3142893)
  • Fixed base field purging not handling translatable fields correctly (#3039991)
  • Fixed issue with hook_node_access() not firing for the 'create' operation (#2348203)
  • Fixed issue with unrecognized entity operations in Menu Link Content (#3016038)

Views and Content Moderation

  • Fixed Content Moderation views to properly join on entity ID (#3112916)
  • Fixed moderation state views filter to work on non-base table entities (#3040361)
  • Fixed issue where views lose records after adding comment count field (#2801929)

Configuration Management

  • Fixed Config import single page that previously led to fatal errors when not selecting an entity type (#2728507)
  • Fixed issue with config entity queries for nested properties and sorting (#2942569)
  • Fixed notExists() method in Drupal\Core\Config\Entity\Query\Condition when parent property is missing (#3154858)

Multilingual and Internationalization

  • Fixed issue with alternate hreflang links to unpublished translations (#2521782)
  • Fixed diacritics removal from special characters (ǢǣǼǽǮǯ) (#3151364)

UI and Accessibility

  • Fixed workspace switching interface that had unclickable areas (#3092551)
  • Fixed issue where name field is always shown on media library form display when adding a new remote video media type (#3122051)
  • Fixed BooleanCheckboxWidget settings summary to be fully translatable (#3089495)
  • Added focus behavior for media widget with max elements (#3089745)

Testing and Development

  • Fixed assertOffCanvasFormAfterWait() to check for the correct form ID (#3089961)
  • Fixed broken context-aware block plugins that were throwing unexpected exceptions (#3091309)
  • Fixed URL handling to ensure fragment is not an empty string (#3156883)
  • Fixed Bytes::toInt() to ensure $size is a number type (#3156879)

Database and Performance

  • Fixed SQL queries to properly quote aliases which are reserved words in MySQL (#3155563)
  • Fixed direct comparison of string to blob in EntityDisplayTest (#3159739)
  • Improved SQL query formatting by capitalizing AS keyword (#3159982)

New Features

No significant new features were added in this maintenance release. Drupal 8.9.3 focuses primarily on bug fixes, performance improvements, and code quality enhancements to improve stability and reliability of the platform.

Security Updates

This release does not contain any major security fixes. However, it does include several code improvements that enhance security indirectly:

  • Hardened SubProcess process plugin in the Migrate module (#3126063)
  • Fixed URL handling to ensure fragment is not an empty string, preventing potential security issues (#3156883)
  • Updated CKEditor to version 4.14.1 (#3155110)
  • Improved handling of entity operations in Menu Link Content to prevent exceptions (#3016038)

Performance Improvements

Memory Usage Improvements

  • Fixed memory leak in typed data prototypes for field items, ensuring they are re-used as intended (#3142893)
  • Improved handling of setter injection arguments to prevent unmet dependencies (#3085751)

Database Query Optimization

  • Improved Content Moderation views to properly join on entity ID, enhancing query performance (#3112916)
  • Fixed issue where views lose records after adding comment count field, improving query reliability (#2801929)
  • Replaced database queries with entity queries in NodeRevisionsTest for better performance (#3151975)

Code Optimization

  • Removed unused variables across multiple files to improve code quality and reduce memory footprint
  • Fixed sorting functions that were returning boolean values instead of integers, improving sorting reliability (#3156882)

Impact Summary

Drupal 8.9.3 is a maintenance release that focuses on bug fixes and stability improvements rather than introducing new features. The impact of this release is primarily positive, addressing several long-standing issues that affected various aspects of Drupal functionality.

Key impacts include:

  1. Improved Content Management: Fixed critical issues with comments as base fields and content moderation in views, making content workflows more reliable.

  2. Enhanced Performance: Resolved memory leaks in typed data handling and improved database query efficiency, particularly for views and entity operations.

  3. Better Multilingual Support: Fixed issues with alternate hreflang links to unpublished translations and improved handling of translatable fields during base field purging.

  4. Increased Stability: Fixed several issues that could cause exceptions or fatal errors, such as broken context-aware block plugins and config import operations.

  5. Accessibility Improvements: Removed landmark region role from Powered-by-Drupal block and improved focus behavior for media widgets.

  6. Developer Experience: Enhanced documentation and fixed numerous code quality issues, making the codebase more maintainable.

Overall, this release significantly improves the stability and reliability of Drupal 8.9.x without introducing breaking changes, making it a recommended update for all Drupal 8.9.x sites.

Statistics:

File Changed300
Line Additions3,112
Line Deletions1,923
Line Changes5,035
Total Commits89

User Affected:

  • Can now create comments when comment is configured as a base field
  • Fixed issues with content moderation views filtering and joining
  • Improved media library form display when adding new remote video media types
  • Fixed issue with alternate hreflang links to unpublished translations

Contributors:

xjmalexpottlarowlanlauriii