Drupal Release: 9.5.0-beta1
Pre Release
Tag Name: 9.5.0-beta1
Release Date: 9/16/2022
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 9.5.0-beta1 introduces significant enhancements with CKEditor 5 now marked as stable, replacing CKEditor 4 in the Standard profile. This release also deprecates several themes (Bartik, Seven, Classy, Stable) and modules (RDF, Quick Edit), introduces a new Starterkit theme, and includes numerous bug fixes and performance improvements. The update focuses on modernizing Drupal's frontend tools, improving the editorial experience, and preparing for future Drupal 10 compatibility.
Highlight of the Release
- CKEditor 5 is now marked stable and replaces CKEditor 4 in the Standard profile
- New Starterkit theme introduced as the recommended base for custom themes
- Several themes deprecated: Bartik, Seven, Classy, and Stable
- RDF and Quick Edit modules are now deprecated
- Improved PHP 8.2 compatibility
- Enhanced Twig debugging with Symfony VarDumper integration
- External image support in CKEditor 5
- Updated JavaScript dependencies and tooling
Migration Guide
Migrating from Deprecated Themes
Classy and Stable
- If your custom theme extends Classy or Stable, plan to migrate to the new Starterkit theme
- Use the
generate-themescript to create a new theme based on Starterkit - Copy over your custom CSS and template overrides to the new theme
- Update your theme's .info.yml file to remove the
base theme: classyorbase theme: stabledeclaration
Bartik and Seven
- Sites using Bartik should plan to migrate to Olivero
- Sites using Seven should plan to migrate to Claro
- Both themes will be removed in Drupal 10
Migrating from Deprecated Modules
RDF Module
- If your site depends on RDF functionality, consider maintaining your own version of the module
- Review any custom code that integrates with RDF and plan for alternatives
- RDF-related help topics and tests have been moved to the RDF module itself
Quick Edit Module
- Plan to remove dependencies on Quick Edit as it will be removed in a future version
- Review any custom code that integrates with Quick Edit and plan for alternatives
Upgrading to CKEditor 5
- CKEditor 5 is now the default editor in the Standard profile
- Review your text formats and editor configurations
- CKEditor 5 plugins may need to be reconfigured
- If you have custom CKEditor 4 plugins, you'll need to create CKEditor 5 equivalents
- The upgrade path from CKEditor 4 to 5 has been improved and will work even when the CKEditor 4 module is removed
Upgrade Recommendations
Who should upgrade to 9.5.0-beta1?
- Development and testing environments should upgrade to test compatibility with their custom code and modules
- Production sites should wait for the stable release unless they need specific features or fixes in this beta
Preparation Steps
- Backup your site before upgrading
- Review the list of deprecated themes and modules to understand future migration needs
- Test the upgrade on a staging environment first
- Check for PHP compatibility - recommended PHP version is now 8.1.6 or higher
- Update your development workflow if using Composer v2.2 (new plugin authorization prompts)
Upgrade Process
- Update your composer.json to require
drupal/core:^9.5.0-beta1 - Run
composer update drupal/core --with-all-dependencies - Run database updates via Drush or the update.php script
- Clear caches thoroughly after upgrade
- Test critical site functionality, especially if you use CKEditor, custom themes, or any of the deprecated modules
Post-Upgrade Tasks
- Review the status report for any warnings or errors
- Test your site's editorial workflows with CKEditor 5
- Begin planning migration paths from deprecated themes and modules
- Update any custom themes that depend on Classy or Stable to use the new Starterkit
Bug Fixes
Critical Bug Fixes
- Fixed PHP 8.2 compatibility issues with
ConstraintViolation::$arrayPropertyPath - Fixed regression in FilterHtml when
*is used in tag attribute - Fixed slow query in
titleQuery Vid.php - Fixed issue where decorated services crash on serialization
- Fixed issue where fast 404s were slower than regular 404s
- Fixed issue where Drupal.ajax does not guarantee that "add new JS file to page" commands have finished before calling said JS
UI and Usability Fixes
- Fixed Views UI layout alignment in Claro
- Fixed "Create content" link within Olivero's "Getting started" page not accounting for base directory
- Fixed long custom block name forcing 'Place block' button out of place
- Fixed nested details element within content type's "manage display" UI changing width when opened
- Fixed Views Mini Pager's next button labeled "Previous" for screen readers in Olivero
- Fixed issue where a disabled block's admin title gets double-escaped
Other Fixes
- Fixed issue where Link options attributes were removed on save
- Fixed issue where profile paths are not updated after moving them to other directories
- Fixed issue where term creation fails with PHP 8 when override_selector = TRUE
- Fixed issue where Views exposed text filter set to required shows an empty error and form error on page load
- Fixed issue where commenting being deleted instead of reassigned to Anonymous user
- Fixed issue where HTMLRestrictions::mergeAllowedElementsLevel() fails when merging
<ol type="1">
New Features
CKEditor 5 Improvements
- CKEditor 5 is now marked stable and replaces CKEditor 4 in the Standard profile
- Added support for using images from external sources
- Improved media handling with proper respect for alt_field settings on Image media
- Fixed contrast perception issues with icons including low-opacity fills
- Added ability to work properly in modal dialogs
- Updated to CKEditor 5 version 35.1.0
Theme System Enhancements
- Introduced new Starterkit theme as the recommended base for custom themes
- Added
ckeditor5-stylesheets: falseto Claro and Olivero themes - Improved Claro's accordion stylesheet
- Fixed Olivero footer obscuring bottom of dropbutton dropdown
- Enhanced Safari support in Olivero's search functionality
Developer Tools
- Integrated Twig with Symfony VarDumper for improved debugging experience
- Updated to PostCSS 8
- Updated numerous JavaScript dependencies to latest versions
- Fixed container serialization to be less brittle
- Added support for
_defaultskey in service.yml files for public, tags, and autowire settings
Security Updates
- Included security fixes from SA-CORE-2022-012, SA-CORE-2022-013, SA-CORE-2022-014, and SA-CORE-2022-015
- Fixed issue where "Edit own" nodes permission for anonymous users was misleading and dangerous
- Removed redundant Link canonical/shortlink response headers
- Improved handling of external resources in CKEditor 5
- Enhanced filtering of HTML attributes to support Tailwind CSS classes with prefix ":"
- Fixed issue with FilterHtml when
*is used in tag attribute
Performance Improvements
Performance Enhancements
- Fixed regression in functional test performance with a large number of modules
- Fixed slow query in
titleQuery Vid.phpthat was causing performance issues - Improved fast 404 handling which was previously slower than regular 404s
- Enhanced AJAX handling to ensure JavaScript files are fully loaded before execution
- Removed unnecessary chmod during config write operations
- Improved MySQL transaction isolation warning to be more informative
- Fixed container serialization to be less brittle and more performant
- Updated JavaScript dependencies and build tools for better frontend performance
Impact Summary
Drupal 9.5.0-beta1 represents a significant step in Drupal's evolution, particularly in the frontend and editorial experience. The most notable change is CKEditor 5 being marked stable and becoming the default editor in the Standard profile, offering a modern editing experience with features like external image support.
This release also signals important architectural shifts with the deprecation of several core themes (Bartik, Seven, Classy, Stable) and modules (RDF, Quick Edit). The introduction of the Starterkit theme provides a new foundation for theme development moving forward.
For developers, there are substantial improvements in tooling with updates to PostCSS 8, integration of Symfony VarDumper with Twig for better debugging, and numerous JavaScript dependency updates. PHP 8.2 compatibility has been enhanced, and several critical bugs have been fixed.
Site builders will need to plan for future migrations away from deprecated themes and modules, but will benefit from improved UI components in Claro and Olivero themes. Content editors will immediately notice the improved editing experience with CKEditor 5.
Security has been strengthened with several security advisories incorporated, and performance has been improved in areas like fast 404 handling and AJAX processing.
Overall, this beta release lays important groundwork for Drupal 10 while providing immediate benefits in editorial experience, developer tooling, and frontend capabilities.
Statistics:
User Affected:
- Will benefit from the new Starterkit theme for creating custom themes
- Need to prepare for deprecated themes (Bartik, Seven, Classy, Stable) being removed in future versions
- Should be aware of RDF and Quick Edit modules being deprecated
