What to expect from Drupal 10
Need to Know
- Drupal 10 is a modern-looking and functioning major release with some module advancements.
- Drupal 10 embraces workflows, tools and practices familiar to JavaScript developers to attract more of them into the Drupal community.
- Drupal 10 employs PHP 8.1, the latest and most secure PHP version.
Drupal 10 - Modern Look and Functionality
With Drupal 10, the Drupal community continues to advance its CMS, helping people create powerful, flexible, and interactive open-source digital experiences and applications. It offers a more modern-looking and functioning version with several advancements. The new look is apparent immediately from the mobile-friendly default home page, which includes easy access to the Drupal community and resources.
New Themes
Claro
In Drupal 10, the Claro administration theme, first introduced in Drupal 8.8, replaces Seven. Drupal's administration interface is evolving, becoming more powerful, adaptable, accessible, and responsive. The new administration experience is a vast improvement over Seven, which had a UI that felt more like a mid-2000s interface and was the default administrative theme for Drupal 7, 8 and 9.
Claro is a re-imagined content authoring and site administration experience built on modern JavaScript foundations. For example, the new theme uses the single-page React JavaScript framework.
The Drupal community’s objectives with Claro were three-fold:
- Simplify: making it more approachable for site builders and content authors with an improved, decoupled developing framework.
- Modern: the code base ensures consistency and adherence to best practices across frameworks, for example, adding native JavaScript testing tools.
- Embrace: workflows, tools and practices familiar to JavaScript developers, such as the create-react-app, to bring more JavaScript developers into the Drupal community.
In addition to a concerted effort to upgrade the JavaScript framework, Drupal 10 now utilizes PHP 8.1, the latest and most secure PHP version, and upgraded the Symfony framework from 4 to 6. In keeping with Drupal’s API-First initiative, the Drupal community further enhanced its APIs.
Olivero
Olivero replaces the Bartik theme from Drupal 7, 8 and 9. First introduced in Drupal 9.1, Olivero is WCAG AA compliant, supports many new features, and includes a modern user interface for recoloring without relying on the Color module.
Starterkit
Drupal 10 introduces Starterkit (replacing the Classy theme) for bespoke theme creation, including new Recipe functionality that defines the assembled functionality for specific needs (for example, blogs, news, eCommerce). You can install Recipes at any point in the lifecycle of a Drupal application using the Project Browser.
Project Browser, available from inside Drupal sites, makes it easier for newcomers to find and install modules. Project Browser's UI is fast and straightforward, with enhanced filtering, providing a streamlined view of projects. It's a decoupled component that queries the Drupal.org API to ensure that content is accessible and current.
New Editor
CKEditor 5 replaces CKEditor 4, which reaches EOL toward the end of 2023, bringing Drupal's authoring capabilities on par with more advanced editing tools - for example, automatically removing extraneous markup from MS Word and Google Docs and uploading images when pasting from the clipboard. The editor also warns authors about missing alternative (Alt) text, which authors can toggle off when uploading decorative images. The HTML in the source code view adds spacing and indentation to make it more readable. In addition, the Layout Builder and Media functionality received improvements. If your website has many CKEditor 4 plug-ins without supported versions for 5, consider using the contributed module for CKEditor 4 in Drupal 10 to ease the transition until it reaches EOL.
Automatic Updates
The Automatic Updates module, soon to release as a contributed module, will help to automate upgrades. It will apply patch-level updates to the Drupal core in a separate sandboxed copy of your site, allowing you to continue running your live application until the update is complete and ready to be deployed. The module will detect and report errors at every stage of the update process using a robust error detection and handling API.
Modules Removed from Drupal Core
Following its efforts to simplify its releases, the Drupal community will remove some less popular modules - some deprecated in 9.4.x and some moving to contributed modules.
- Aggregator: in Drupal 9.4, it moved from the core to the contributed modules. Less than 5% of Drupal sites used this module to ingest content from RSS feeds.
- Color: allows users with the administrator site configuration permission to change the colour scheme of themes. However, the new Olivero theme includes a more modern colouring interface. We recommend uninstalling the Color module before upgrading to Drupal 10.
- HAL: Hypertext Application Language (HAL) supports the linking required for hypermedia APIs. This module adds support for serializing entities (such as content items, taxonomy terms, etc.) to the JSON version of HAL. An alternative is the JSON:API module, which offers a superset of HAL, or you can still access HAL via the new contributed module for this functionality.
- Quick Edit: allows for editing content in place - it’s moving to the contributed modules.
- RDF: enriches content with metadata to let other applications (e.g. search engines, aggregators) better understand its relationships and attributes. It’s moving to the contributed modules.
Upgrading to Drupal 10
If you’ve upgraded to the latest Drupal 9, the path to Drupal 10 is straightforward. You can use the Upgrade Status module on your site to retrieve an estimate of the work required. Your plan will identify elements that can be automated using the Automatic Updates module and when custom and contributed project code need manual upgrades.
If you’re not currently using Drupal 9, you’ll need to upgrade to the latest version before proceeding to Drupal 10. You can also use Upgrade Status for Drupal 8 to develop a plan to upgrade to Drupal 9.
Upgrade Status offers the following features:
- It checks if you are using Drupal 8.8 or 8.9 and suggests updating to the latest version.
- It verifies that your hosting environment meets Drupal 9's system requirements.
- It runs PHPStan checks and numerous others to find Drupal 9 compatibility issues.
For sites still running Drupal 7, it's more complex than an upgrade - you'll need to commit to a complete website rebuild. Recognizing this challenge, the Drupal community has extended Drupal 7's end of life to November 2023. Use this as an opportunity to overhaul everything on your website, and jump directly to Drupal 10.
Drupal’s Release Roadmap Plans
If you’ve struggled to keep up with Drupal’s release roadmap and need help, reach out to Northern to learn more about our annual release roadmap planning services.