Drupal 11.x & Preparing for 12
We build on Drupal 11.4, the current release. This page tracks the platform capabilities worth leaning on and the things to avoid so the eventual Drupal 12.0 upgrade (targeted for late 2026) is a non-event. It is intentionally curated, not exhaustive — see the linked sources for the full picture.
Key features in the 11.x series
Section titled “Key features in the 11.x series”High-signal capabilities that arrived across Drupal 11.0–11.4. Verify the version before relying on any of these — several are recent.
- PHP 8.3 & Symfony 7 baseline — Drupal 11.0 requires PHP 8.3 and moved core onto Symfony 7. As of 11.3, PHP 8.4 is the recommended version and Symfony was bumped to 7.4. See the Drupal 11.0.0 release notes and the 11.3.0 release notes.
- Native HTMX in core (11.3) — HTMX was added as a core dependency in 11.2 and became fully featured in 11.3, replacing much of Drupal’s home-grown AJAX and cutting loaded JavaScript by up to 71% for browser–server interactions. This is our preferred tool for live interactions. See Native HTMX in Drupal 11.3.0 and the HTMX API docs.
- New admin Navigation, now stable (11.3) — the collapsible vertical admin sidebar became stable and production-safe in 11.3, replacing the legacy Toolbar (which is deprecated for removal in 12.0). See the 11.3.0 release notes.
- Recipes — apply a predefined set of configuration (content types, roles, modules) to an existing site in one step; a core building block of the Distributions & Recipes initiative. See Drupal Recipes. (11.4 also made recipe-based install roughly twice as fast — see the 11.4.0 announcement.)
- Workspaces UI (11.1) — the Workspaces UI module was added in 11.1 for staging, previewing, and deploying batches of content changes. See the 11.1.0 release notes.
- New
drdeveloper CLI (11.4, experimental) — an experimental./vendor/bin/drcommand-line tool built by the Drush maintainers ships with 11.4. See the 11.4.0 announcement. - Performance & Brotli (11.4) — 11.4 roughly halves database queries versus 11.3 and adds Brotli compression support (15–25% better ratios than gzip). See the 11.4.0 announcement.
Not listed as a new-in-11.x feature: Single-Directory Components became stable back in Drupal 10.3 (still very much worth using — see Development Approach). Project Browser and Automatic Updates remain contributed modules on the path to core, not yet part of the 11.x core baseline.
Preparing for Drupal 12: what to avoid
Section titled “Preparing for Drupal 12: what to avoid”The goal is simple: don’t write code today that depends on things being removed in Drupal 12.0, so the upgrade is mechanical. The authoritative, maintained backbone for this is the official guide:
- How to upgrade from Drupal 11 to Drupal 12 — read this first. Its core advice:
- Run Upgrade Status to find deprecated code and incompatible dependencies, and Drupal Rector to auto-fix most deprecations. Do this continuously, not at upgrade time.
- Stop using deprecated core modules now. Several move out of core in 12.0 (each deprecated during 11.x): Ban (11.3), Migrate Drupal UI (11.3), Contact, Field Layout, History, and Telephone (all 11.4). If we need one, plan to depend on its contributed replacement. Full list: Deprecated and obsolete extensions.
- Avoid the legacy Toolbar — it is deprecated for removal in 12.0 in favor of the stable Navigation module (see above).
- Keep dependencies current and range-compatible — allow overlapping version constraints (e.g.
^6.1 || ^7.0) so contrib can bridge the 11→12 jump.
In practice, for our own code this means: keep drupal check:deprecations / Upgrade Status green in CI, don’t build on the modules above, and don’t call anything the deprecation reports flag.
This page is intentionally not exhaustive. For the complete, authoritative list of what’s being removed, see Deprecated and obsolete extensions and the Drupal 12 core deprecation-removal meta issue.
