State of Drupal 10
April 4, 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-april-4-2022

Gábor Hojtsy

Acquia

Initiative coordinator for Drupal 10.
Drupal contributor since 2003, committer since 2007.

 

Contact me at @gaborhojtsy

Drupal 10 in 2022
(as soon as in 4 months!)

When is Drupal 10 released?

Beta requirements done by Release date
March 18 June 15
May 13 August 17
September 9 December 14
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

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
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

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*****

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

Use the Lenient Composer Endpoint
if all else fails #
3240297

Drupal 7 (core) migrations
to Drupal 10 will
still be provided

Drupal 10 was (mostly)
built in Drupal 9

Drupal 9 initiatives

New frontend theme
Easy out of the box
Decoupled menus
Automated updates
Project Browser

Claro Stable

(Media and Layouts
as first class*)

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 as vendor package (CLI is still a question)

Symfony 5

Started updates as of Drupal 9.1.0

Symfony 5.4 is available and stable.

Symfony 6

6.0 is available as of November

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 when available.

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.


May components still use it.

These components most likely to stay around. #3067261

Would have liked to remove it but will stay. #3052002

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 moved
to a contrib. #3238333

  1. Object model
  2. Plugin system
  3. Configuration
  4. 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

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 (possibly 2.2)

Be in the know!

Meetings every Monday #d10readiness (next: tonight?)

Dedicated #ckeditor5 channel