Insights & Resources
Migration

Brace Yourself for the Drupal 10 Release: What Institutions Needed to Know

Drupal 10 shipped on December 14, 2022 after a six-month delay, with CKEditor 5, Symfony 6, PHP 8.1, and a deliberate path forward from Drupal 9. This is the prerelease context that shaped institutional planning.

5 min readNovember 9, 2022

Brace Yourself for the Drupal 10 Release: What Institutions Needed to Know

Drupal 10 was scheduled for June 2022 and ultimately shipped on December 14, 2022 after a six-month delay. For institutional Drupal operators (government agencies, universities, nonprofits), the delay was meaningful: it gave hosting providers, third-party module maintainers, and internal teams the runway to align on PHP 8.1, Symfony 6, and CKEditor 5 before the release landed. This post is the prerelease context that shaped institutional planning ahead of the release.

We covered the actual upgrade mechanics in Drupal 10 Upgrade Checklist and the Drupal 9 transition arc in Drupal 7 or 8 to Drupal 9 Smooth Upgrade. This post is about why the Drupal 10 release was a different shape from prior major releases and what that meant for institutional planning.

Why the Release Got Pushed from June to December

The original June target slipped because the dependency stack was not ready. Three coordinated upgrades had to land cleanly: CKEditor 4 to CKEditor 5, Symfony 4 to Symfony 6, and PHP 7.4 to PHP 8.1. Each had its own upstream timeline, and the interaction between them surfaced issues that took additional months to resolve.

For institutional operators, the delay was a feature, not a bug. The Drupal 9 end-of-life (originally scheduled for November 2023) sat downstream of the Drupal 10 release, which meant institutions needed time on Drupal 9 with the new dependency stack visible before the upgrade window closed. A June 2022 release would have compressed the institutional planning runway. December 2022 gave it room.

The other consideration was hosting-platform readiness. Drupal 10 required PHP 8.1, and institutional hosting platforms (managed Drupal hosts, internal infrastructure teams, AWS GovCloud workloads) needed time to roll PHP 8.1 across their fleets. The December release aligned with PHP platform availability in a way the June release would not have.

What Drupal 10 Changed Architecturally

The architectural changes in Drupal 10 were the deepest dependency turnover Drupal had done since the Drupal 8 release.

CKEditor 5 replaced CKEditor 4. A complete editor rewrite with a modular architecture. Institutional content authors saw a different editing surface, and institutional theme integrations needed validation against the new editor.

Symfony 6 replaced Symfony 4. Two major Symfony versions skipped. The Drupal core team did the integration work, but contrib modules with deep Symfony dependencies needed updates.

PHP 8.1 became the minimum. PHP 7.4 reached end-of-life in November 2022. Drupal 10 aligning with PHP 8.1 was the right call. Institutional hosting that had not migrated off PHP 7.4 needed to do so before any Drupal 10 upgrade.

jQuery UI deprecation. jQuery UI had been part of Drupal since the Drupal 7 era. Drupal 10 began the deprecation, with vanilla JavaScript replacing jQuery UI usage in core. Custom modules and themes that depended on jQuery UI needed remediation.

Olivero replaced Bartik as the default front-end theme. Olivero was WCAG-AA compliant out of the box and supported Layout Builder natively. For institutional sites, Olivero was a credible starting point for accessibility-first theme work in a way Bartik had not been.

Claro replaced Seven as the administrative theme. A modern administrative experience. For institutional content authors, the administrative surface mattered as much as the public-facing theme.

What Institutions Needed to Validate Before the Release

The institutional pre-release checklist was specific to public-sector Drupal:

PHP 8.1 readiness on the hosting platform. For managed Drupal hosting, this was a hosting-provider question. For self-hosted Drupal, it was an internal platform question. Either way, the answer needed to be yes before any Drupal 10 work started.

Custom module compatibility with PHP 8.1. PHP 8.1 introduced strict typing changes that affected custom code written for PHP 7.4. Static analysis with tools like PHPStan flagged the issues before runtime did.

Contrib module Drupal 10 readiness. Each contrib module the institution depended on needed a Drupal 10 release. The Drupal Upgrade Status module made it possible to inventory contrib usage and check Drupal 10 readiness in one pass.

CKEditor 5 content validation. Content authored in CKEditor 4 needed to render correctly in CKEditor 5. For institutions with large existing content corpora, this validation was non-trivial.

Theme remediation. Custom themes built for Bartik or with deep jQuery UI dependencies needed remediation work. Olivero or a custom theme built for Drupal 10 was the path forward.

Authorization documentation. For government Drupal workloads on AWS GovCloud or Azure Government, the upgrade was a documented event in the authorization boundary. The change-control evidence was part of the system security plan.

What the Drupal 10 Release Validated About Institutional Drupal

The Drupal 10 release pattern (deliberate, coordinated, with deprecation runway and clear migration tooling) was the validation institutional Drupal needed. Compared to the Drupal 7 to 8 transition (which was a near-rewrite), the Drupal 9 to 10 transition was operationally straightforward for institutions that had stayed current on Drupal 9.

We covered the broader architectural pattern in New Features in Drupal 9, and the Drupal 9 readiness arc in Drupal 9 Readiness Checklist. The pattern that held: institutions that maintained Drupal version currency and dependency hygiene moved through major version transitions with predictable effort. Institutions that fell behind paid the catch-up cost.

For managed Drupal hosting engagements supporting government and higher-education Drupal workloads, the Drupal 10 release was a planned operational event. The discipline applies to every Drupal major version transition since.

Frequently Asked Questions

Did Drupal 10 release on schedule on December 14, 2022?

Yes. The December 14, 2022 release date held after the June-to-December slip. The release shipped with CKEditor 5, Symfony 6, PHP 8.1 minimum, Olivero default theme, and Claro administrative theme as planned.

Was the upgrade from Drupal 9 to Drupal 10 actually as smooth as the prerelease messaging suggested?

For institutions on current Drupal 9 (9.4+) with maintained contrib modules and PHP 8.1-ready hosting, yes. For institutions still on Drupal 9.0 or 9.1 with stale contrib, there was catch-up work. The pattern that the Drupal core team had committed to (smooth upgrades for institutions that stayed current) held.

What happened to Drupal 9 after the Drupal 10 release?

Drupal 9 reached end-of-life on November 1, 2023, eleven months after Drupal 10 shipped. Institutional Drupal 9 sites needed to upgrade to Drupal 10 before that date to maintain security update support.

Should institutions still on Drupal 9 today (2026) upgrade to Drupal 10 or skip to Drupal 11?

Drupal 11 shipped in 2024 with Drupal 10 still receiving updates. The current institutional pattern is to upgrade from Drupal 9 to Drupal 10 (the supported migration path), then plan the Drupal 10 to 11 transition as a separate, smaller upgrade. Skipping Drupal 10 is not a supported path.

Ready to take ownership of your platform?

Stop managing vendors. Start operating a platform.

We assess your current environment, identify operational gaps, and outline what a managed engagement looks like for your organization.

No commitment requiredResponse within 1 business dayTrusted by 100+ institutionsWe will not spam your inbox