Home

>

Tools

>

Drupal

>

Releases

>

9.0.2

Drupal Release: 9.0.2

Tag Name: 9.0.2

Release Date: 7/8/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 9.0.2: Bug Fixes, Performance Improvements, and Code Refinements

Drupal 9.0.2 is a maintenance release that addresses numerous bugs and improves code quality. This update focuses on fixing issues with content moderation, file handling, and test compatibility. It also includes UI improvements to the modal dialog and machine name field. The release contains important fixes for timezone selection, content translation moderation, and file system operations. While there are no major new features, this update enhances stability and performance across the platform.

Highlight of the Release

    • Fixed incorrect default timezone selection that was causing issues with date/time handling
    • Resolved content moderation issues for translated content and non-moderated bundles
    • Improved UI for modal dialogs and fixed machine name field display issues
    • Fixed file system operations including directory creation race conditions and file name handling
    • Enhanced test compatibility and code quality through numerous refactoring efforts

Migration Guide

No specific migration steps are required for this release as it contains primarily bug fixes and improvements. Standard update procedures apply:

  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

For detailed instructions, refer to the Drupal update documentation.

Upgrade Recommendations

This release contains numerous bug fixes and improvements that enhance stability and performance. It's recommended that all Drupal 9.0.1 sites upgrade to 9.0.2 at the earliest convenience.

The update is particularly important for:

  • Sites using content moderation with translated content
  • Sites experiencing issues with timezone selection
  • Developers running PHPUnit tests or using file system operations
  • Sites with custom modules that interact with file handling or entity relationships

As this is a maintenance release with no API changes or breaking changes, the upgrade process should be straightforward with minimal risk.

Bug Fixes

  • Content Moderation

    • Fixed issue where moderation state was the same for all node translations in edit page
    • Resolved problem where node revisions were forced even if bundle was not under moderation workflow
  • UI and Display

    • Fixed machine name field display where the 'M' was overlapping with the green border
    • Resolved issue with tableheader recalculation when toolbar tray is toggled
    • Fixed Views table settings exposing "Details" field even when empty
  • File System and Handling

    • Fixed permission denied errors caused by race conditions during directory creation
    • Improved file name munging and filtering
    • Resolved issues with file transfer exceptions in Updater::install()
  • System and Core

    • Fixed incorrect default timezone selection
    • Resolved issue with undefined index: #item in user_user_view_alter()
    • Fixed BasicAuth::authenticate() to properly respect the implemented interface
    • Fixed issue where plugins did not preserve integer keys when parsing annotations
    • Resolved BatchBuilder included files failures
    • Fixed issue with entities having external URLs as URI relationships that couldn't be deleted when menu_link_content is installed
  • Testing and Development

    • Fixed PHPUnit compatibility issues when running PHPStan checks
    • Resolved ProxyBuilder compatibility with Symfony 5 to handle voids correctly
    • Fixed "Getting the base fields is not supported for entity type" exception in ViewsConfigUpdater
    • Addressed issue where ModuleInstaller loads .module and .install before allowing classes to be autoloaded

New Features

This release does not introduce significant new features as it's primarily focused on bug fixes, performance improvements, and code refinements. The changes are aimed at improving stability and fixing issues reported since the previous release.

Security Updates

No significant security fixes were included in this release. This is primarily a maintenance release focused on bug fixes, performance improvements, and code refinements.

Performance Improvements

  • Replaced hardcoded LIMIT in queries with queryRange() for better database performance
  • Improved file system operations by addressing race conditions during directory creation
  • Enhanced module installation process by fixing class autoloading issues
  • Improved handling of external URLs in the UnroutedUrlAssembler
  • Optimized content moderation workflow by preventing unnecessary revision creation for non-moderated bundles

Impact Summary

Drupal 9.0.2 is a maintenance release that focuses on bug fixes, performance improvements, and code refinements. The most significant impacts include:

  1. Content Moderation Improvements: Fixed issues with moderation states for translated content and prevented unnecessary revision creation for non-moderated bundles.

  2. UI Enhancements: Improved modal dialog styling and fixed display issues with the machine name field, enhancing the overall user experience.

  3. File System Stability: Addressed several file handling issues including race conditions during directory creation, file name munging, and transfer exceptions.

  4. Developer Experience: Fixed numerous issues affecting development workflows, including PHPUnit compatibility, class autoloading during module installation, and plugin annotation parsing.

  5. Code Quality: Extensive refactoring and cleanup of deprecated code, typo fixes, and improved documentation throughout the codebase.

While this release doesn't introduce new features, it significantly improves the stability and reliability of Drupal 9.0.x, making it an important update for all Drupal 9 sites.

Statistics:

File Changed300
Line Additions2,600
Line Deletions655
Line Changes3,255
Total Commits62

User Affected:

  • Fixed incorrect default timezone selection that was causing issues with date/time handling
  • Improved content moderation functionality for translated content
  • Fixed issues with file handling and permissions during module installation
  • Resolved problems with file name munging and filtering

Contributors:

xjmalexpottlarowlanlauriii