State of Drupal 10
June 1, 2022
@gaborhojtsy
Slides are open source
(CC BY-NC-SA 2.5)
Created by @gaborhojtsy at @acquia
Review links, check out speaker notes and present your own from slides.com/gaborhojtsy/state-of-drupal-10-readiness-june-1-2022
Gábor Hojtsy
Acquia
Initiative coordinator for Drupal 10.
Drupal contributor since 2003, committer since 2007.
Contact me at @gaborhojtsy
Why Drupal 10?
2020 | 2021 | 2022 | 2023 | 2024 |
---|
Q1 | Q2 | Q3 | Q4 | Q1 | Q2 | Q3 | Q4 |
---|
Q1 | Q2 | Q3 | Q4 | Q1 | Q2 | Q3 | Q4 |
---|
Q1 | Q2 | Q3 | Q4 |
---|
Symfony 3 End of Life
8.9 | |||||||
---|---|---|---|---|---|---|---|
9.0 | 9.1 | 9.2 | 9.3 |
9.4 | 9.5 |
SF4 / CK4 End of Life
Drupal 9 security and
bug fix support
Drupal 8 security and
bug fix support
Drupal 10 security and
bug fix support
10.0 | 10.1 | 10.2 | 10.3 | 10.4 | |||||
When is Drupal 10 released?
Beta requirements done by | Release date |
---|---|
September 9 | December 14, 2022 |
2020 | 2021 | 2022 | 2023 | 2024 |
---|
Q1 | Q2 | Q3 | Q4 | Q1 | Q2 | Q3 | Q4 |
---|
Q1 | Q2 | Q3 | Q4 | Q1 | Q2 | Q3 | Q4 |
---|
Q1 | Q2 | Q3 | Q4 |
---|
8.9 | |||||||
---|---|---|---|---|---|---|---|
9.0 | 9.1 | 9.2 | 9.3 |
9.4 | 9.5 |
Drupal 9 security and
bug fix support
Drupal 8 security and
bug fix support
Drupal 10 security and
bug fix support
10.0 | 10.1 | 10.2 | 10.3 | 10.4 | |||||
Drupal 7 security and
bug fix support
[Don't know
yet]
Drupal 10 is
on Symfony 6.x
Theoretic end of life could be as late as
November 2027*****
Potential to have 6 month overlapping LTS releases: #3238652
What's in Drupal 10?
Same features as in Drupal 9.5
Drupal core initiatives
Olivero is stable
and the default
Claro is stable and
default admin
Automatic updates
Starterkit
Bugfixes to existing core functionality
Done by 9.4
Could be in 9.5/10.0
10.1 or later
Decoupled menus
Project Browser
New Easy out of the Box
Features: Media/Layouts
Starter templates/recipes
Core module migration
Starterkit theme
Experimental from Drupal 9.2
Changes the paradigm of theming and responsibility of Drupal themers.
Drupal 10 will hopefully include Starterkit tools. #2659890
Starterkit theme
My
theme
New: Copy & customize for your site
Current: runtime inheritance
My theme
Base theme
Automatic updates
Built as a contributed project.
Supports attended (manual) patch updates by default. Unattended (cron) dependent on TUF, minor update supported as experimental.
Help test in contrib to get into core sooner: #3275810
Live site
Staged copy
Drupal 10 readiness initiative
CKEditor 5
Released experimental in 9.3.0
Upgrade path included that converts CKEditor 4 configuration to the new version. Very close collaboration with CKSource.
Drupal 10 will include
CKEditor 5, CKEditor 4 moves
to a contrib. #3238333
- Object model
- Plugin system
- Configuration
- Migration
Symfony 5
Started updates as of Drupal 9.1.0
Symfony 5.4 is available and stable.
Symfony 6
6.0 is out as of November 2021
6.1 is out as of May 2022
Two Drupal core committers are on Symfony security team now and can make releases of non-LTS versions.
Released Drupal 10.0.0-alpha1 as a stepping stone,
based on Symfony 5.4.
Drupal 10.0.0-alpha2 based on Symfony 6.0, will update to Symfony 6.1 soon.
PHP 8 support
PHP 8.0 since Drupal 9.1.0,
PHP 8.1 since Drupal 9.3.0
Updated Drupal Core and worked heavily with dependencies to make compatible releases available.
Composer 2
Backported even to 8.9.x
Core composer plugins updated to be Composer 2 compatible.
Final PHP requirement is
PHP 8.1 due to Symfony 6.1
requiring PHP 8.1.
Drupal 10 requires 2.3 for dev (CLI still a question)
jQuery UI
Many components removed in Drupal 9.0.0 already
Dialog, Autocomplete, Dropbutton remain. jQuery UI announced renewed security support.
jQuery
Not changed in Drupal 9.
Many components still use it.
These components will
stay around. #3067261
Would have liked to remove it but will stay. #3052002
Moving to contrib
Quickedit #3228986
Aggregator #1136482
Forum #1898812
HAL #3049856
RDF #2152459
Tracker #3261679
Color #3274149
In Drupal 10 these will move to contributed projects.
System requirements
No support for Internet Explorer
MySQL 5.7.8 (same) / MariaDB 10.3.7 (same)
SQLite 3.26 (same) + json1
PostgreSQL 12 (up from 10) + pg_trgm
PHP 8.1
Composer 2
Upgrade tools
phpstan-drupal ➡️ drupal-check ➡️ Upgrade Status
phpstan-drupal Upgrade Status
drupal-rector ➡️
Project Update Bot
Half of projects only need an info.yml file change
Drupal 10 compatibility fixes already mostly automated
Most problems to solve are Drupal 8 to 10 changes
Drupal 9 contrib 6 months in
"In total, the Drupal community worked on 4,195 different Drupal.org projects [in 2020]"
https://dri.es/who-sponsors-drupal-development-2020
Drupal 9 to 10
Drupal 8 to 9
Lenient Composer
Endpoint
#3240297
Composer plugin or
default constraint loosening
#3267143
Drupal 7 (core) migrations
to Drupal 10 will
still be provided
"Drupal 11"
Distributions
+ Can really tailor the experience
+ Supported upgrades (for a while)
- Expensive to maintain
- Hard to move on if abandoned
- Impossible to combine
- Not exposed in the installer
Drupal recipe
Not final name. Formerly also starter templates.
+ Easier to create / maintain
+ Supports composition
+ Planned to be exposed in installer
- No upgrade path by default
- Does not exist yet
Project Browser
More modules will move to contributed projects
Summary
Drupal 10.0: Dec 14
Beta requirements done: Sept 9
1. Make your code PHP 8.1 compatible now
2. Drupal 9.4 beta defined all the deprecations,
so start using Upgrade Status and drupal-rector
Drupal 10 meetings
every Monday in #d10readiness
Dedicated channels for
#ckeditor5
#autoupdates
#distributions-and-recipes
#project-browser
State of Drupal 10 readiness, June 1, 2022
By Gábor Hojtsy
State of Drupal 10 readiness, June 1, 2022
State of the Drupal 10 readiness initiative. June 1, 2022 edition.
- 6,367