Home

>

Tools

>

Drupal

>

Releases

>

10.1.0-rc1

Drupal Release: 10.1.0-rc1

Pre Release

Tag Name: 10.1.0-rc1

Release Date: 6/8/2023

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 10.1.0-rc1 represents a significant update from the beta1 version, bringing numerous improvements across the platform. This release candidate includes important bug fixes for login functionality, enhanced CKEditor 5 support, improved accessibility features, and updated dependencies including jQuery 3.7.0 and Symfony 6.3. The release focuses on enhancing user experience with better error messages, fixing visual glitches, and improving entity management. Notable additions include a modal for entity deletion operations and configurable phpinfo display on the admin status report.

Highlight of the Release

    • Updated CKEditor 5 to version 38.0.1 with improved image handling
    • Enhanced accessibility with modal dialogs for entity deletion operations
    • Updated to jQuery 3.7.0 and Symfony 6.3
    • Fixed login issues when Password Compatibility module is not enabled
    • Added configurable phpinfo display on admin status report
    • New clean_unique_id Twig filter for generating unique HTML IDs
    • Fixed visual glitches including black bar at viewport top and dropbutton menu flash

Migration Guide

Deprecated APIs

  • The ::supportedInterfaceOrClass property on normalizer/denormalizers has been deprecated. Developers should update their code to use alternative methods for specifying supported types.

  • EntityListBuilder::getQuery() has been renamed to something less generic to avoid naming conflicts. If you have extended this class, you should update your code to use the new method name.

Dependency Updates

  • Updated to jQuery 3.7.0
  • Updated to Symfony 6.3
  • Updated CKEditor 5 to version 38.0.1
  • Pinned to egulias/email-validator v4
  • Removed psr/http-message from drupal/core-recommended

Password Compatibility

If you're upgrading from an earlier version, ensure that the Password Compatibility module is enabled if needed for user authentication. A bug fix in this release addresses an issue where users could not log in if this module was not enabled.

CKEditor 5 Image Handling

If you've been using CKEditor 5 with image captions, this release fixes a regression where images were being resized with percentage widths instead of pixel widths. You may need to review your content to ensure images display correctly after the update.

Upgrade Recommendations

Who should upgrade

All Drupal 10.0.x users should plan to upgrade to this release candidate for testing purposes, especially if you:

  • Use CKEditor 5 for content editing
  • Have experienced login issues related to the Password Compatibility module
  • Need the improved entity deletion modal interface
  • Have encountered any of the specific bugs fixed in this release

Upgrade path

  1. Test the upgrade on a staging environment before applying to production
  2. Back up your database and files
  3. Update your codebase to use Drupal 10.1.0-rc1
  4. Run the database updates via the UI at /update.php or using Drush with drush updatedb
  5. Clear caches via the UI or with drush cache:rebuild
  6. Test your site functionality, especially areas related to the fixed issues

Special considerations

  • If you have custom code that extends EntityListBuilder or uses the ::supportedInterfaceOrClass property on normalizers/denormalizers, you may need to update your code to accommodate the API changes.
  • Review any custom themes or modules that might be affected by the jQuery or Symfony updates.
  • If you've implemented workarounds for any of the fixed bugs, you may need to remove those workarounds after upgrading.

Bug Fixes

  • Login Functionality: Fixed critical issue where users could not log in if the Password Compatibility module was not enabled.

  • CKEditor 5 Image Handling: Fixed regression where CKEditor 5 was resizing images with % width instead of px width, which broke image captions.

  • Datetime Field Validation: Field name is now included in validation error messages for datetime fields, making errors more understandable.

  • Visual Glitches:

    • Fixed black bar that briefly appeared at the top of viewport when navigating
    • Fixed dropbutton menu that quickly showed/hid on page load causing layout shift
    • Fixed focus loss when closing dialogs if the opener was inside a collapsible element
  • Entity View Builder: Fixed TypeError in EntityViewBuilder::view() when null is passed instead of an EntityInterface.

  • Database Query Conditions: Fixed inconsistent behavior of DBTNG/EQ condition when working with arrays.

  • Views Issues:

    • Fixed broken/missing handler when adding File Usage "File" relationship
    • Fixed active page number not showing on the last page in Views Full pager
    • Fixed fatal error when entering non-numeric values for start row in Multiple field settings
  • TypedData Instances: Fixed incomplete TypedData instances created by TypedConfigManager::createFromNameAndData().

  • Image Attributes: Added width/height attributes to fallback images, improving page layout stability.

  • Ajax State: Fixed Ajax state leaking to Views destination paths.

  • Claro Theme:

    • Fixed low contrast for buttons in dialogs
    • Fixed malformed messages when JS creates messages and PHP messages already exist
  • CSS Nesting: Fixed accidental use of CSS nesting in off-canvas dialog styles.

New Features

  • Modal for Entity Delete Operations: Entity delete operations now use a modal interface, improving the user experience and accessibility when deleting content.

  • Configurable phpinfo Display: The phpinfo section on the admin status report is now configurable, giving administrators more control over system information display.

  • New Twig Filter: Added a new clean_unique_id Twig filter for Html::getUniqueId, making it easier to generate clean, unique HTML IDs in templates.

  • Required List Field Settings: The allowed values storage setting of list fields is now properly required, improving field configuration validation.

  • BC Redirects for Changed Paths: Added backward compatibility redirects for children of changed paths, ensuring that links to moved content continue to work.

  • Field Block Label Display: Field blocks can now display the configuration label when set in Layout Builder, providing more flexibility in content display.

Security Updates

  • No explicit security fixes were mentioned in the commit messages for this release candidate. However, the dependency updates, particularly to jQuery 3.7.0, Symfony 6.3, and other libraries, may include security patches from those upstream projects.

Performance Improvements

  • Layout Stability: Several fixes contribute to better layout stability and reduced content shifts:

    • Fixed dropbutton menu flash on page load
    • Added proper width/height attributes on fallback images
    • Fixed black bar visual glitch when navigating
  • Dependency Updates: Multiple JavaScript dependencies have been updated for Drupal 10.1, which may include performance optimizations.

  • Test Improvements: Several test improvements have been made that should lead to more efficient testing processes, including:

    • Providing a static viable alternative to $this->prophesize() in data providers for PHPUnit 10
    • Skipping specific tests on PostgreSQL that were causing issues

Impact Summary

Drupal 10.1.0-rc1 brings significant improvements across multiple areas of the CMS. The update to CKEditor 5 version 38.0.1 with fixed image handling will be particularly valuable for content editors who work with images. Site administrators will appreciate the configurable phpinfo display and improved entity deletion interface. Developers benefit from updated dependencies including jQuery 3.7.0 and Symfony 6.3, along with API improvements and bug fixes.

The release addresses several critical issues, most notably fixing login functionality when the Password Compatibility module is not enabled. Visual improvements fix annoying glitches like the black bar appearing at the top of the viewport during navigation and dropbutton menu flashing on page load.

Accessibility enhancements, particularly the new modal for entity deletion operations, demonstrate Drupal's ongoing commitment to creating an inclusive user experience. The addition of backward compatibility redirects for changed paths helps maintain site integrity during upgrades.

Overall, this release candidate represents a solid step forward for Drupal 10.1, with a good balance of new features, bug fixes, and performance improvements that benefit all types of Drupal users.

Statistics:

File Changed277
Line Additions5,241
Line Deletions3,099
Line Changes8,340
Total Commits49

User Affected:

  • Configurable phpinfo display on admin status report
  • Improved entity deletion with new modal interface
  • Fixed login issues related to Password Compatibility module
  • Better error messages for datetime field validation

Contributors:

longwavejustafishlauriiilarowlanbbenjamin