All work is done in Drupal 9 for now
The same way we built most of Drupal 9 in Drupal 8, we are building Drupal 10 in Drupal 9 as much as possible. There is one key exception, the CKEditor 5 project is being built as a contributed module to help test it and make it easier to collaborate on.
PHP 8 and Composer 2 support shipped
Both shipped in Drupal 9. Composer 2 support was even backported to Drupal 8, but that was not possible for PHP 8 compatibility. We plan to require PHP 8 for Drupal 10 given the end of life of PHP 7 in November 2022.
Symfony 5 support is good, Symfony 6 support in the works
One of two main drivers of the Drupal 10 timeline is Symfony 4’s end of life in November 2022. We plan to update to at least Symfony 5. We did resolve all known Symfony 5 compatibility issues to date, so that looks promising.
While in Drupal 10’s time, Symfony 5 will be on the long term supported 5.4 branch, that would “only” be security supported until November 2025, giving Drupal 10 a 2.5 year lifetime. To possibly expand this, we are exploring to update to Symfony 6 and resolving incompatibilities identified in Drupal 9 already. Symfony 6 development is not itself open yet, so we are only able to work on things that are already deprecated.
CKEditor 4 to 5 update needs more hands
The other big motivation behind the Drupal 10 timeline is CKEditor 4 support lasting until 2023 only. CKEditor 5 support is being worked in a dedicated contributed module for now. We are collaborating heavily with the CKSource team on runtime plugin support (Webpack DLLs), general HTML support (to avoid data loss when using CKEditor 5 on legacy content), etc. There are various great benefits of CKEditor 5 including optional collaborative editing functionality (using a paid server component).
We need more people involved in this. Dedicated CKEditor 5 meetings happen every other Thursday in #ckeditor5 on Drupal Slack at 15:30 UTC.
Starterkit theme prototype needs feedback
This is a Drupal theming paradigm shift! While inheriting from runtime base themes have served us well to avoid duplication, it causes serious problems for innovation and makes us supporting old bugs to not break live sites. So instead we aim to provide built-in support for generating a theme in core that is based off of a prepared starterkit:
php core/scripts/drupal generate-theme <machine-name>. Lauri prototyped an initial solution, needs more feedback.
jQuery UI components have replacements prototyped, need reviews
Practically all of the jQuery UI components as well as various uses of Backbone.JS have replacements prototyped: dialog, toolbar, tabbing manager, autocomplete, tours, etc. All of them are in need of serious feedback though and testing.
Internet Explorer 11 support will be dropped
An agreement has been made to drop support for IE11 from Drupal 10. The official announcement is forthcoming.
Some one-off feature modules will likely be removed
We already agreed to deprecate aggregator module in Drupal 9 and remove in Drupal 10. There will possibly be other single-use core modules removed that lack maintainers and momentum. Work is underway to indicate individual module lifecycle states, although this needs more help soon for us to be able to use it to deprecate modules in time.
Drupal 10 readiness day at DrupalCon North America
The above were just some of the highlights we are working on. DrupalCon North America 2021 is online and will focus one of the days on Drupal 10 readiness. We submitted various in-depth talks to illuminate further details of the above areas and more. Join us there and use the opportunity to be at the forefront of the new version.