Skip to main content
GrN.dk

Main navigation

  • Articles
  • Cases
  • Contact
  • Your Digital Project Manager
  • About Greg Nowak
  • Services
  • Portfolio
  • Container
    • Excel Freelancer
    • Kubuntu - tips and tricks
    • Linux Apache MySQL and PHP
    • News
    • Image Gallery
User account menu
  • Log in

Join my community / free newsletter — sign up here

Breadcrumb

  1. Home

Drupal 12 Slipped to December. Drupal 10 Still Runs Out of Road

Illustrated infographic summarizing: Drupal 12 Slipped to December. Drupal 10 Still Runs Out of Road

By Greg Nowak. Last updated 2026-08-07.

Drupal 12 is now scheduled for the week of December 7, 2026. Drupal 10 reaches end of life on December 9. At first glance, those dates seem to support a tidy plan: stay on Drupal 10, wait for Drupal 12, then modernise the site once.

Unfortunately, Drupal's upgrade path does not work that way. Major versions cannot be skipped. A Drupal 10 site must move to Drupal 11.3.0 or later before it can move to Drupal 12.

Waiting until December would not remove the Drupal 11 upgrade. It would squeeze two major upgrades, two rounds of testing and any necessary platform changes into the same week that Drupal 10 support ends.

A more workable target is to put Drupal 11.3 or later into production well before December, then prepare and rehearse the Drupal 12 move separately. That gives the project a stable checkpoint instead of turning the final release into an end-of-life rescue.

The dates leave little room for discovery

The current core schedule sets September 11 as the deadline for Drupal 12 beta requirements. Beta 1 is planned for the week of September 14, followed by a release candidate in the week of November 9. Drupal 12.0.0 and Drupal 11.5.0 are due in the week of December 7.

Security support for Drupal 10.6.x and Drupal 11.3.x also ends that week, with Drupal 10 reaching full end of life on December 9.

Those milestones are useful, but they do not create more time for delivery. A real production upgrade can uncover unsupported contributed projects, custom-code deprecations, Composer conflicts, PHP changes, database compatibility issues and failed regression tests. If those problems first appear in December, maintainers, hosting providers and business owners have almost no room to respond.

September should therefore be treated as a readiness checkpoint, not the day work begins. By the beta milestone, the team should already understand which dependencies are uncertain, which platform changes are required and how much custom code still needs attention.

Workstream What should be achieved Evidence needed
Application audit Map core, contributed projects, custom code, Composer constraints, PHP and database dependencies. Upgrade Status results, static-analysis findings and a prioritised blocker list.
Drupal 11 production move Run the live site reliably on Drupal 11.3 or later. Passing tests, updated database state, validated integrations and a rehearsed rollback.
Drupal 12 rehearsal Maintain a separate branch that can follow beta and release-candidate changes. Repeatable builds, reviewed automated fixes and a shrinking exception list.
Release decision Move to Drupal 12 when the application and its dependencies are ready. Stable compatible releases, a supported runtime, completed regression testing and deployment approval.
Separate the supported production upgrade from Drupal 12 readiness work, while keeping both moving.

Drupal 11.3 is the bridge, not a detour

Drupal provides update paths between consecutive major versions rather than every possible historical combination. Its upgrade documentation explains that Drupal 12 removes updates for configuration, database schemas, entities and fields up to Drupal 11.2. A Drupal 10 site must run those updates by reaching Drupal 11.3.0 or higher before attempting Drupal 12.

This is not merely a Composer constraint to work around. Database and configuration changes need to happen in the intended order. Combining too many changes at once also makes failures harder to diagnose. The cause could sit in core, an extension, custom code, the PHP runtime or stored data.

Running Drupal 11.3+ in production creates a useful control point. Editorial workflows, scheduled jobs, search, authentication, APIs, payments and any other relevant integrations can be checked without Drupal 12 changes muddying the picture. The team also gets to prove its deployment and rollback process. Drupal 12 testing can then begin from a known, working baseline.

Audit the whole application

Core is only one part of the upgrade. A credible assessment needs to cover contributed modules and themes, custom modules and themes, patches, Composer repositories, locked dependencies, PHP extensions, database versions and environment-specific deployment logic.

Contributed-project readiness also needs a closer look than a simple compatible-or-incompatible label. Acquia's Drupal 12 deprecation-status view identifies projects whose next step is to improve release stability. A project might declare Drupal 12 compatibility or show no detected deprecation errors while its available release is still an alpha, beta or release candidate. That is useful progress, but it may not meet an organisation's production stability policy.

The practical question is: does a release that the business is prepared to deploy support Drupal 12, and will Composer install it alongside every other required package?

Answering that means checking direct and transitive dependencies, abandoned packages, possible replacements, releases available from maintainers and the business importance of each feature. A single module supporting checkout or authentication deserves more attention than several unused administrative conveniences. Prioritise by operational impact, not module count.

Use automation early, then review the result

Drupal's refreshed Project Update Bot combines Upgrade Status for analysis with Drupal Rector for fixes. Its Drupal 12 rules cover more than 80% of the deprecated API uses introduced for the release. The refreshed analysis also resolves submodule dependencies, reducing failed scans and false errors that affected earlier results.

That can clear a substantial amount of mechanical work. It does not complete the migration. Generated patches still require code review, automated tests and functional verification. Static analysis can also expose custom behaviour for which there is no safe automatic fix.

Run these tools while there is still time to act on what they find. Sort the results, apply the changes that can be reviewed confidently and isolate the exceptions that need engineering judgement. The result is a concrete backlog rather than a vague compatibility concern.

Repeat the analysis as dependencies change. Readiness is a moving picture, especially between beta, release candidate and stable releases.

Plan the PHP changes alongside Drupal

The runtime transition is large enough to deserve its own workstream. Drupal 10.5 and 10.6 support PHP 8.1 through 8.4. Drupal 11.3 and 11.4 support PHP 8.3 through 8.5. Drupal 12.0 requires PHP 8.5.

That has two immediate consequences. A Drupal 10 site still using PHP 8.1 or 8.2 must change runtime before or during the Drupal 11 move. A site that reaches Drupal 11 on PHP 8.3 or 8.4 will still need another PHP upgrade for Drupal 12.

Drupal 12 also expects PHP to be compiled with Argon2 support for password hashing. The requirements documentation says this should normally be present with PHP 8.5, but it is worth checking rather than assuming. The same applies to PHP extensions, database connectors, command-line PHP, build images, hosting support and monitoring agents across development, staging and production.

It may make sense to separate the Drupal 11 application upgrade from the final move to PHP 8.5 and Drupal 12. The right sequence depends on the site's current runtime and dependency constraints. Tested Composer builds should settle that decision before anyone reaches the deployment window.

Run production and readiness as two tracks

The production track has a focused job: resolve Composer constraints, remove Drupal 11 blockers, update the database safely, test business-critical behaviour and deploy Drupal 11.3 or later with a rehearsed rollback. This establishes the mandatory stepping stone and proves the first major upgrade on its own.

A separate Drupal 12 branch can then follow beta and release-candidate changes without destabilising production. It should use reproducible dependency resolution, the intended PHP 8.5 environment, repeated static analysis and a documented list of exceptions. Keeping that branch aligned with the proven Drupal 11 baseline prevents the experimental work from drifting into a second, unrelated project.

This is the sort of upgrade programme Greg can coordinate: building the inventory, investigating Composer conflicts, running Upgrade Status and static analysis, reviewing automated deprecation fixes, checking PHP and database requirements, guiding the production move to Drupal 11.3+ and keeping a Drupal 12 rehearsal branch usable.

Drupal 12 has slipped, but Drupal 10's deadline has not moved out of the way. The extra months are valuable only if they are used to remove uncertainty. Get the site onto Drupal 11.3 or later, surface the remaining Drupal 12 blockers early and leave December for a considered release decision rather than an emergency upgrade.

Related on GrN.dk

  • EU OpenAI Residency Is a Migration Project, Not a Dashboard Toggle
  • Support bots need a deletion test before they learn the old help center
  • AI agents need a browser policy before they start clicking around

Need help with this kind of work?

Plan your Drupal upgrade Get in touch with Greg.

Sources

  • Drupal Core Release Schedule
  • Drupal Upgrade Process Overview
  • Drupal PHP Requirements
  • Project Update Bot Refreshed for Drupal 12
  • Drupal 12 Deprecation Status
Last modified
2026-08-07

Tags

  • Drupal
  • Drupal-12
  • migration
  • Composer
  • php

Review Greg on Google

Greg Nowak Google Reviews

 

Illustrated infographic summarizing: The AI Crawler in Your Logs May Be Wearing a Borrowed Name
The AI Crawler in Your Logs May Be Wearing a Borrowed Name
2026-08-09

A User-Agent is a claim, not proof. See how to verify AI crawler traffic before it shapes reporting, robots.txt decisions, or WAF exceptions.

Illustrated infographic summarizing: AI Agents Need a Spending Brake, Not Just a Billing Dashboard
AI Agents Need a Spending Brake, Not Just a Billing Dashboard
2026-08-08

AI agent costs can climb inside a single workflow. Runtime budgets, loop detection, outcome metrics, and safe handoffs keep that spending under control.

Illustrated infographic summarizing: Drupal 12 Slipped to December. Drupal 10 Still Runs Out of Road
Drupal 12 Slipped to December. Drupal 10 Still Runs Out of Road
2026-08-07

Drupal 12 arrives as Drupal 10 support ends in December 2026. Moving to Drupal 11.3+ first keeps two mandatory upgrades manageable.

Illustrated infographic summarizing: EU OpenAI Residency Is a Migration Project, Not a Dashboard Toggle
EU OpenAI Residency Is a Migration Project, Not a Dashboard Toggle
2026-08-05

An EU-resident OpenAI API setup needs a new project, regional routing, dependency and state migration, compatibility testing, and clear governance evidence.

Illustrated infographic summarizing: AI Images Need a Chain of Custody, Not Just a Disclosure Label
AI Images Need a Chain of Custody, Not Just a Disclosure Label
2026-08-04

AI image labels are only the endpoint. Learn how to test C2PA credentials through editing, CMS, CDN and agency handoffs while preserving evidence.

Illustrated infographic summarizing: MCP Just Went Stateless: Audit the Integrations Behind Your AI Tools
MCP Just Went Stateless: Audit the Integrations Behind Your AI Tools
2026-08-03

The 28 July 2026 MCP release removes protocol sessions and changes discovery, tasks, caching, OAuth and tracing. A practical guide to auditing the move.

Illustrated infographic summarizing: SEO Trends for 2026: What Actually Changed Since 2024
SEO Trends for 2026: What Actually Changed Since 2024
2026-08-03

A practical guide to what changed in SEO between 2024 and 2026, from AI and multimodal search to Core Web Vitals, privacy and local visibility.

Illustrated infographic summarizing: INP and Green SEO Share a Backlog: Cut the Work Every Visit Repeats
INP and Green SEO Share a Backlog: Cut the Work Every Visit Repeats
2026-08-03

INP and sustainable web work often expose the same waste. Use field data, profiling, caching and performance budgets to build one practical backlog.

Illustrated infographic summarizing: AI crawler policy now has verbs: separate search, RAG, and training
AI crawler policy now has verbs: separate search, RAG, and training
2026-08-02

AI crawler rules now need separate decisions for search, RAG, and training, backed by practical testing across robots.txt, CDNs, WAFs, and CMS controls.

Illustrated infographic summarizing: WordPress Supports Old PHP; Your Production Server Shouldn’t
WordPress Supports Old PHP; Your Production Server Shouldn’t
2026-08-01

WordPress still runs on legacy PHP, but compatibility is not a security policy. Build and test your upgrade path before PHP 8.2 support ends.

More articles
RSS feed

Footer

  • All articles
  • Contact

GrN.dk web platforms, web optimization, data analysis, data handling and logistics.