Home

>

Tools

>

Drupal

>

Releases

>

9.4.0-beta1

Drupal Release: 9.4.0-beta1

Pre Release

Tag Name: 9.4.0-beta1

Release Date: 5/30/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.4.0-beta1 marks a significant step toward the next minor release of Drupal 9. This beta introduces several important improvements including bundle-specific permissions management, theme enhancements, CKEditor 5 updates, and various bug fixes. The release focuses on improving developer experience, accessibility, and performance while preparing for future compatibility with PHP 8.1. Notable changes include updates to the Starterkit theme system, deprecation of the Color module, and improvements to Olivero (the default theme).

Highlight of the Release

    • Added bundle-specific permissions management with a dedicated 'Manage permissions' tab for each bundle
    • Improved Starterkit theme system making updates from starterkit themes to generated themes easier
    • Deprecated Color module, marking it for removal in Drupal 10
    • Updated CKEditor 5 to v34.1.0 with improved alignment options and bug fixes
    • Enhanced accessibility in Olivero theme, especially for forced colors mode and mobile menu
    • Added new API for dynamically setting recommended and supported PHP versions
    • Improved token system with new Token::replacePlain() function

Migration Guide

Color Module Deprecation

The Color module has been deprecated and will be removed in Drupal 10. Theme developers should begin migrating away from dependencies on this module and implement alternative theming approaches.

jQuery.form Made Internal

jQuery.form has been marked as internal. Developers should avoid direct usage and prepare for potential future removal.

Modernizr touchevent Deprecation

A replacement for the Modernizr touchevent test has been implemented and the original functionality is now deprecated. Update any code that relies on this feature.

Contextual JS API Deprecation

The contextual JavaScript API has been deprecated and marked as internal. Developers should refactor any code that depends on this API.

CKEditor 5 Updates

If you've customized CKEditor 5 configurations, review the changes in v34.1.0 to ensure compatibility with your customizations.

Guzzle Compatibility

Composer dependency constraints have been updated to allow for better forward-compatibility. This may affect projects with strict dependency requirements.

Upgrade Recommendations

For Production Sites

It is not recommended to use this beta release on production sites. This is a beta release intended for testing and development purposes only.

For Development and Testing

This beta release is recommended for developers and site builders who want to test the upcoming features of Drupal 9.4.0 and provide feedback before the stable release.

Module and Theme Developers

Module and theme developers should test their projects against this beta to ensure compatibility with the upcoming stable release. Pay special attention to:

  • Changes in the theme system, particularly if you rely on the Color module
  • CKEditor 5 updates if you have custom editor integrations
  • Deprecated APIs and functions that may affect your code

When to Upgrade

Wait for the stable release of Drupal 9.4.0 before upgrading production sites. Use this beta release only on development or staging environments for testing purposes.

Bug Fixes

HTMLRestrictions Diff Operation Bug

Fixed an issue where the diff operation in HTMLRestrictions incorrectly handled attributes with multiple values.

CKEditor 5 Plugin Definitions

Resolved exceptions for CKEditor 5 plugin definitions containing wildcard tags when PHP is built with libxml 2.9.14.

View Name Changes and Page Titles

Fixed a bug where changing a view name did not update the page title in the Views UI.

Progress Indicator Spacing in Olivero

Corrected spacing issues with the progress indicator percentage label in the Olivero theme.

Menu Link Migration

Fixed migration of localized Drupal 6 menu links to ensure proper handling of translations.

Module Discovery with Comments

Fixed an issue where ExtensionDiscovery was unable to find modules that have a comment at the end of the type property in a .info.yml file.

Olivero Theme Layout Issues

  • Fixed hyperlinks with "button" or "button--primary" classes not having proper styling when nested in a "text-content" container
  • Resolved layout issues with long menus in Olivero's main/user account menu

Form Building Optimization

Fixed an issue where forms were being built unnecessarily when not using fields.

Standard Profile Theme for Update.php

Corrected the Standard install profile to use Olivero for update.php instead of Seven.

New Features

Bundle-specific Permissions Management

A new "Manage permissions" tab is now available for each bundle that has associated permissions, making permission management more intuitive and accessible.

Improved Starterkit Theme System

Updates from starterkit themes to generated themes are now easier, with unnecessary template overrides removed and associated code streamlined.

New Color Scales for Claro

The Claro theme now includes defined Blue and Red color scales, enhancing the theming capabilities and visual consistency.

Token System Enhancement

A new Token::replacePlain() function has been added to fix token system confusion and provide clearer functionality for plain text token replacement.

PHP Version Management API

Added an API for dynamically setting recommended and supported PHP versions based on known and predicted PHP release schedules, making it easier to maintain compatibility information.

Update Module Permissions

New permissions have been added to the update module to hide warnings, giving administrators more control over what notifications are displayed.

Security Updates

No specific security fixes were mentioned in the release notes. However, the update to CKEditor 5 v34.1.0 may include security improvements, and the general code improvements and bug fixes contribute to a more secure codebase.

Performance Improvements

Contextual Preprocess Optimization

Improved performance by finding a way to not run contextual_preprocess() on every template, reducing unnecessary processing.

REQUEST_TIME Replacement

Replaced the use of the REQUEST_TIME constant in non-OO and non-module code with more efficient time handling methods, improving accuracy and performance.

Impact Summary

Drupal 9.4.0-beta1 represents a significant step forward in Drupal's evolution, focusing on developer experience improvements, accessibility enhancements, and preparation for future compatibility.

The introduction of bundle-specific permissions management provides administrators with more granular control over content types and other entities. Theme developers will benefit from improvements to the Starterkit theme system, making theme updates and maintenance easier, while also needing to prepare for the eventual removal of the Color module in Drupal 10.

CKEditor 5 receives an update to version 34.1.0, bringing improved alignment options and bug fixes that enhance the content editing experience. The Olivero theme, now Drupal's default, sees several accessibility and usability improvements, particularly for mobile menus and forced colors mode.

For developers, several APIs have been deprecated, including Modernizr touchevent, jQuery.form, and the contextual JS API, signaling Drupal's continued modernization. A new API for dynamically setting recommended and supported PHP versions has been added, helping maintain compatibility with future PHP releases.

Performance improvements include optimizations to contextual preprocessing and more efficient time handling methods. The token system has been enhanced with a new Token::replacePlain() function, addressing confusion in the existing implementation.

This beta release sets the stage for the upcoming stable release of Drupal 9.4.0, providing a preview of features that will improve site building, content management, and development workflows.

Statistics:

File Changed300
Line Additions2,197
Line Deletions803
Line Changes3,000
Total Commits78

User Affected:

  • Gain access to new bundle-specific permissions management via a dedicated 'Manage permissions' tab for each bundle
  • Will see 'Welcome!' instead of 'Welcome to [site name]' on the initial install screen
  • Can now hide update warnings with new permissions in the update module
  • Will experience Olivero theme for update.php in the Standard install profile

Contributors:

xjmlauriiialexpottlarowlanbbenjamin