Home

>

Tools

>

Drupal

>

Releases

>

9.1.6

Drupal Release: 9.1.6

Tag Name: 9.1.6

Release Date: 4/7/2021

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.1.6: Comprehensive Bug Fixes and Performance Improvements

Drupal 9.1.6 is a maintenance release that addresses numerous bug fixes and performance improvements. This update focuses on resolving entity query access issues, fixing PHPUnit compatibility problems, improving media handling, and enhancing multilingual support. The release includes over 40 bug fixes and several performance optimizations, making it a recommended upgrade for all Drupal 9.1.x sites to ensure better stability, security, and performance.

Highlight of the Release

    • Fixed numerous entity query access issues to ensure proper data handling without unnecessary access checks
    • Improved PHPUnit compatibility with newer versions
    • Enhanced performance with optimized LibraryDependencyResolver for 4%+ performance gain
    • Fixed multilingual search results to properly respect language settings
    • Improved media handling with fixes for oEmbed URL resolution and media library integration

Migration Guide

This is a maintenance release that primarily includes bug fixes and performance improvements. No specific migration steps are required when upgrading from Drupal 9.1.5 to 9.1.6.

Standard update procedures apply:

  1. Back up your database and code
  2. Put your site into maintenance mode
  3. Update your codebase to use Drupal 9.1.6
  4. Run the database update script by navigating to /update.php or using Drush: drush updatedb
  5. Clear caches
  6. Take your site out of maintenance mode

If you're using PHPUnit for testing, note that this release includes fixes for compatibility with PHPUnit 9.4.3.

Upgrade Recommendations

Recommendation: Upgrade as soon as possible

This release contains numerous bug fixes and performance improvements that enhance the stability and functionality of Drupal 9.1.x sites. The fixes address issues across multiple areas including entity queries, media handling, multilingual support, and test infrastructure.

The upgrade is particularly important for:

  • Sites using multilingual features
  • Sites with complex media handling requirements
  • Sites experiencing issues with entity queries or access checks
  • Development environments using PHPUnit for testing

Since this is a maintenance release (9.1.5 to 9.1.6), the upgrade process should be straightforward with minimal risk. The benefits of improved stability, performance, and fixed bugs make this update highly recommended for all Drupal 9.1.x sites.

Bug Fixes

This release includes numerous bug fixes across various areas:

Entity Query Access Fixes

  • Fixed entity query access issues in various components to ensure proper data handling without unnecessary access checks:
    • Cron functions no longer check access unnecessarily
    • Bundle delete forms now warn of content at risk regardless of access
    • Fixed access issues in tracker removal functionality
    • Fixed user_is_blocked() to not be access sensitive
    • Fixed LayoutBuilderEntityViewDisplayForm hasOverrides() access handling
    • Fixed field UI cardinality validation access issues
    • Fixed BlockContentUuidLookup access sensitivity
    • Fixed workspacePublisher access sensitivity issues
    • Fixed MediaRevisionAccessCheck access handling
    • Fixed data cleanup operations to not care about current user
    • Fixed menu_ui_get_menu_link_defaults() access sensitivity
    • Fixed aggregator module access issues
    • Fixed unique value validation access sensitivity

Media and Layout Issues

  • Fixed oEmbed URL resolution to properly handle multiple endpoints
  • Fixed media types with missing source fields breaking the status report page
  • Fixed media library integration with CKEditor random test failures
  • Fixed off-canvas style resets that were overriding styles (especially SVGs)
  • Fixed layout builder issues with non-routable breadcrumb links

Multilingual and Search Issues

  • Fixed search results of multilingual pages to properly respect language settings
  • Improved transliteration of Ukrainian letters

Other Fixes

  • Fixed LogicException with UTF-8 route patterns
  • Fixed FieldStorageConfigStorage::loadByProperties() not returning results
  • Fixed Views block description double-escaping issue
  • Fixed malformed Twig in book-tree template
  • Fixed issues with "Link to entity" in field formatters
  • Fixed JsonAPI route not found errors for entity fields

New Features

This maintenance release focuses primarily on bug fixes and performance improvements rather than new features. However, it does include some documentation enhancements:

  • Added documentation for language source plugins
  • Added documentation for d7 field source plugins
  • Added documentation for block source plugins
  • Added documentation for d6 field source plugins
  • Converted content_moderation and workflows module help to topic-based documentation

Security Updates

While this release doesn't explicitly mention security vulnerabilities being fixed, it includes:

  • Added tests for SA-CORE-2020-009, ensuring the security fix is properly tested
  • Multiple fixes to entity query access handling, ensuring proper access controls are applied where needed and removed where unnecessary
  • Fixed issues with user blocking functionality and access checks

These changes help maintain the security posture of Drupal installations by ensuring proper access controls and validation.

Performance Improvements

  • Optimized LibraryDependencyResolver: The LibraryDependencyResolver::getMinimalRepresentativeSubset() method has been optimized, resulting in performance gains of 4% or more in relevant operations.

  • System Requirements Check Optimization: Improved the system_requirements() function to perform cheaper checks first, reducing unnecessary processing when determining system status.

  • Entity Query Optimizations: Multiple entity query access check improvements throughout the codebase reduce unnecessary access checks, improving performance in various operations involving entity data retrieval and manipulation.

Impact Summary

Drupal 9.1.6 is a significant maintenance release that addresses over 40 issues across various components of the Drupal core. The primary focus areas include:

  1. Entity Query Access Improvements: A substantial portion of the fixes address entity query access issues, ensuring that access checks are only performed when necessary. This improves both security and performance by applying appropriate access controls in the right contexts.

  2. Testing Infrastructure: Several fixes address PHPUnit compatibility and test reliability issues, making the development and testing process more robust.

  3. Media Handling: Improvements to oEmbed handling, media library integration, and fixes for media types with missing source fields enhance the media management experience.

  4. Multilingual Support: Better handling of transliteration for Ukrainian letters and fixes for multilingual search results improve the experience for multilingual sites.

  5. Performance Optimizations: The optimization of LibraryDependencyResolver provides a notable performance improvement of 4% or more in relevant operations.

  6. Documentation Enhancements: Added documentation for various migration source plugins and converted help content to topic-based documentation.

This release represents a significant improvement in stability, performance, and functionality for Drupal 9.1.x sites, with minimal risk of introducing new issues due to its focus on bug fixes rather than new features.

Statistics:

File Changed257
Line Additions6,173
Line Deletions731
Line Changes6,904
Total Commits58

User Affected:

  • Improved stability for entity operations and data management
  • Fixed issues with media types and source fields that previously broke status reports
  • Better handling of multilingual content in search results

Contributors:

alexpottlarowlanlauriii