Drupal Release: 8.9.3
Tag Name: 8.9.3
Release Date: 8/5/2020
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 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:
- Back up your database and site files
- Put your site into maintenance mode
- Update Drupal core codebase
- Run the update script by navigating to
/update.php - 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
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:
-
Improved Content Management: Fixed critical issues with comments as base fields and content moderation in views, making content workflows more reliable.
-
Enhanced Performance: Resolved memory leaks in typed data handling and improved database query efficiency, particularly for views and entity operations.
-
Better Multilingual Support: Fixed issues with alternate hreflang links to unpublished translations and improved handling of translatable fields during base field purging.
-
Increased Stability: Fixed several issues that could cause exceptions or fatal errors, such as broken context-aware block plugins and config import operations.
-
Accessibility Improvements: Removed landmark region role from Powered-by-Drupal block and improved focus behavior for media widgets.
-
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:
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
