The Drupal 12 requirements published on Drupal.org contain one line that reshapes most 2026 upgrade plans: Drupal 12 will only upgrade from Drupal 11.3 or higher. Every earlier update path is gone. A Drupal 10 site that moves to Drupal 11.1 before December has met the end-of-life deadline and still cannot reach Drupal 12.
Drupal 12 requires PHP 8.5.0 or later and raises database minimums to PostgreSQL 18, MariaDB 10.11, MySQL 8.0, or SQLite 3.45. Composer 2.9.3 is recommended, not required. Drupal 12 removes six core modules and all upgrade paths below Drupal 11.3.0, so a Drupal 10 site must land on Drupal 11.3 or higher, not simply on Drupal 11, before Drupal 12 becomes reachable. Sites on 10.6.x, which is 68 percent of the Drupal 10 population, cannot reach anything below 11.3 in the first place: core blocks the path.
Target 11.4 rather than the 11.3 floor: the December 2026 release window ends security support for 11.3.x, and 11.5 lands the same week.
Did the Drupal 12 Release Date Change?
Drupal 12 moved from August to December 2026. Drupal's core team announced in March that the June window was out of reach, set the week of 10 August as the new target conditional on beta requirements landing by 15 May, and named December as the fallback.
The beta condition was not met. Drupal.org's core release schedule now places Drupal 12.0.0 and Drupal 11.5.0 in the week of 7 December 2026, with Drupal 10 reaching end of life on 9 December.
The slip changes nothing about the deadline. We covered why the last quarter of 2026 is an expensive window to run this work in Q4 2026: The Most Expensive Time to Migrate Drupal. This article is about the version you land on, not when you start.
What Are the Drupal 12 System Requirements?
Drupal 12 requires PHP 8.5.0 or later and recommends the latest secure release of Composer, currently 2.9.3. Minimum database versions rise to PostgreSQL 18 and MariaDB 10.11. MySQL 8.0 and SQLite 3.45 are unchanged, and web server requirements do not change.
Drupal 11, by comparison, requires PHP 8.3, with MySQL 8.0, MariaDB 10.6, PostgreSQL 16 or SQLite 3.45, and Composer 2.7.0 or newer. These figures come from Drupal.org's Drupal 12.0.0 platform requirements announcement and its database server requirements page.
In most organizations, those runtime and database upgrades belong to a different team and a different change window than the CMS work. That sequencing is the part worth planning early.
Platform Requirements: Drupal 11 Compared With Drupal 12.0
| Requirement |
Drupal 11 (as announced at 11.0) |
Drupal 12.0 |
|---|
| Minimum PHP |
8.3 |
8.5.0 |
| PostgreSQL |
16 |
18 |
| MariaDB |
10.6 |
10.11 |
| MySQL |
8.0 |
8.0 |
| SQLite |
3.45 |
3.45 |
| Composer |
2.7.0 or newer |
2.9.3 recommended |
| Password hashing |
PHP default |
Argon2id (requires argon2 support in PHP) |
From Drupal 12.0, PHP must be compiled with argon2 support because Argon2id becomes the default password hashing algorithm. Most PHP 8.5 builds include it without intervention, but self-hosted estates running a custom or distribution-packaged PHP should confirm it rather than assume it.
One caveat on the Drupal 11 platform requirements above. Drupal drops unsupported PHP versions in minor releases, so the actual PHP floor for 11.3 or 11.4 may already sit above the 8.3 figure announced at 11.0.
Can You Upgrade Directly From Drupal 10 to Drupal 12?
No. Drupal.org's 10.6.0 release notes state that sites on 10.6 upgrading to Drupal 11 must upgrade to 11.3.0 or higher. Drupal 10.6 is a maintenance minor, which means it backported API additions from the 11.x branch to give Drupal 10 sites the best forward-compatibility available.
Those additions postdate Drupal 11.2, so moving from 10.6 to 11.2 is a downgrade rather than an upgrade.
Core enforces this rather than recommending it. Drupal 11.3 ships a no-op update hook, system_update_11300, registered through the equivalent updates API solely to block that path. A site that updates its codebase to 11.2 and runs database updates gets a failure naming the minimum core version required, not a silently broken site.
The precedent is already in core. The same mechanism blocks Drupal 10.4 and above from moving to 11.0, requiring 11.1.0 or higher. Each maintenance minor of Drupal 10 raised the floor on the Drupal 11 it can reach.
This changes who the 11.3 requirement applies to. 138,594 sites, 68 percent of all reporting Drupal 10 installs, run 10.6.x. For each of them, 11.3 is not a Drupal 12 prerequisite, so they can defer to 2027. It is the lowest Drupal 11 they can reach at all.
Two separate rules converge on the same version. The 10.6 rule sets the floor on the way into Drupal 11. The Drupal 12 rule removes every update path below 11.3.0 on the way out of it. For most of the Drupal 10 population, that makes "11.3 or higher" the single answer to both questions.
Which Core Modules Are Removed in Drupal 12?
Six modules leave core: Ban, Contact, Field Layout, History, Migrate Drupal, and Migrate Drupal UI. They split into two groups with different remediation paths.
Four have contributed replacements. Install them while the site is still on Drupal 11.3 or later, before running the Drupal 12 code upgrade, so the functionality moves with the site rather than disappearing on upgrade day:
- Ban blocks visits from individual IP addresses. It moved to the contributed Ban project, which is where any custom code or contrib module that depends on Ban now needs to point.
- Contact provides site-wide and personal contact forms. If your site has public enquiry forms built on core Contact rather than Webform, this is a live dependency, not a dormant one.
- Field Layout configures layouts for field display on entity view and form displays. Sites that used it for editorial form layouts will lose that configuration unless the contributed project is in place first.
- History tracks which content each user has read, and powers the "new" and "updated" markers on nodes. Community and intranet sites feel this one; brochure sites usually do not.
Drupal.org's deprecated and obsolete extensions page carries the current project links and per-module guidance for all four.
Two have no contributed replacement: Migrate Drupal and Migrate Drupal UI. Drupal 12 keeps the migration API and the destinations for modern Drupal, but drops the Drupal 6 and 7 source plugins, and Drupal.org confirms that Migrate Drupal is not moving to a contributed project.
This matters even if your flagship site is on Drupal 10: if the estate contains an old departmental or campus site nobody has audited, Drupal 11 is the last version that can import it. Drupal 11 is supported until mid-to-late 2028, so that window is real but finite, and it closes on Drupal 11.
How Many Sites Are Still Running Drupal 10?
More sites run Drupal 10 today than run Drupal 11. Drupal.org's core usage statistics for the week of 16 August 2026 report 205,069 sites across the Drupal 10 branches against 161,765 across Drupal 11.
Of the Drupal 10 total, 138,594 sites (68 percent) run 10.6.x, the final minor of the branch: maintained installs kept current on a version that stops receiving updates in December, not abandoned ones. It is also the cohort for which core already blocks any Drupal 11 below 11.3.
The Drupal 11 side is the more useful number. Of the 161,765 Drupal 11 sites, 67,093 run 11.3.x and 71,912 run 11.4.x: 86 percent already sit at or above the Drupal 12 upgrade floor. The ecosystem has largely cleared the prerequisite before Drupal 12 has shipped. The unfinished work sits almost entirely on Drupal 10.
Drupal.org counts only sites running the Update Status module, and the weekly series moves by several percent, so read the direction of travel rather than the precise figure.
Who Should Not Plan a Drupal 12 Upgrade This Year?
Two groups should not, and both mean less work for us.
You Are Already on Drupal 11.3 or 11.4 With a Clean Contributed-Module Inventory
You do not need an agency for this. For a well-maintained site, the Drupal 11 to 12 upgrade is a Composer update, a pass with Rector (the tool that rewrites deprecated Drupal API calls automatically), and a runtime bump. Paying someone to project-manage that is money spent on coordination.
You Are on Drupal 10 With a Q4 Launch or Funding Cycle
Move the version and nothing else. Bundling a redesign or a content-model change into an upgrade with a fixed external deadline is a reliable way to miss both. Defer the rest to Q1.
Where We Land on the Drupal 12 Requirements
Our view: the December deadline tells you when to move. It does not tell you what to move to, and the second question is where these projects actually go wrong.
Vardot's Enterprise Migration Playbook argues that the case for migration is not the end-of-life date but the compounding cost of capabilities a legacy platform cannot deliver. A version upgrade inverts that. The deadline is real and fixed, and it sets the calendar. What a calendar cannot set is the version target.
The playbook's central finding still transfers. Across enterprise, nonprofit, university, and government migrations, the failures that present as technical are almost always ownership, sequencing, or governance problems left unresolved during scoping. Choosing a version target without checking the upgrade path is exactly that, and it surfaces months after the decision that caused it.
There is a reason this article can name exact dates, exact PHP versions, and exact removed modules twelve months out: the roadmap is public, and the requirements were published before the release.
Predictability of this kind is a property of open-source governance, not a favor from a vendor. It is the same reason the four modules leaving core have contributed replacements maintained by the people who use them.
Which Version Should You Target? Four Questions
Most Drupal 10 sites should target Drupal 11.3 or higher in 2026 and treat Drupal 12 as a 2027 decision. These four questions confirm whether you are the exception, and all four can be answered from facts you already hold.
- Are you on Drupal 11.3 or higher today? If yes, Drupal 12 is a routine upgrade you can schedule in Q1 2027 once the release stabilizes. Stop here.
- Are you on Drupal 10 with a contributed-module inventory nobody has checked in six months? If yes, your target is 11.3 or higher; the inventory is the first task, and 9 December 2026 is your date rather than the Drupal 12 release week.
Check which Drupal 10 minor you are on while you are there: if it is 10.6.x, 11.3 is not a target you can negotiate down, and any plan built around 11.1 or 11.2 will fail at the database update.
- Do your PHP runtime and database versions sit with a team outside your CMS group? If yes, open that request now and run it in parallel. Infrastructure queues do not compress because a CMS deadline arrived.
- Does your estate include a site nobody has audited in years? If yes, check its version before you sequence anything else. Drupal 11 is the last release that can import a Drupal 6 or 7 site, so a forgotten departmental or campus property sets a ceiling on the rest of the plan.
Answering no to the first and yes to any other puts your 2026 target at Drupal 11.3 or higher. Vardot's typical range for a Drupal 10 to 11 upgrade is two to four months, which means a project starting in September can finish inside the window at the shorter end of that range, and one starting in November cannot at any point in it.
We run this class of decision through the Align and Blueprint stages of the Vardot Delivery System. Those two stages settle the version target, the contributed-module inventory, and the infrastructure dependencies before anyone commits to a build plan. For a maintained Drupal 10 site, that usually produces the cheaper recommendation, because it is usually the correct one.
Vardot is a Drupal Diamond Certified Partner with 200+ platforms launched, a 4.9/5 Clutch rating, and a top-20 worldwide Drupal contribution record.
If the contributed-module inventory is the unknown in that list, that inventory is the work that has to happen first. Book a Migration Readiness Audit, and we will map it against the 11.3 prerequisites, the removed core modules, and your runtime requirements before anyone writes a scope.