Install

To start a new Drupal project with version 12.0.0-alpha1@alpha:

To update your site and all dependencies to the latest version of Drupal:

To update your site to this specific release:
Pinning to a specific release may make it more challenging to update your site in future, see composer documentation for managing pinned versions

Using Composer to manage Drupal site dependencies

Downloads

Download tar.gz 23.03 MB
MD5: f3b563801f7c518a1411f46b504f21b1
SHA-1: 3d217eda25646841756c904e79efe3bc56763a32
SHA-256: 3414e337f285e7595807327221ba15aba0d1e501cc2940055f5f33506cd89634
Download zip 36.45 MB
MD5: 58e4979c4729d813f2374a599cb8863f
SHA-1: 658bfbacf45b8716962a48832e8f49afca63292f
SHA-256: f60b041bac1cb61eb5d9ba1dd2faf550979223a2d80c7e7dc5c5c81e1c76e1ca

Release notes

This is an alpha release for the next major version of Drupal. This alpha release is intended for module or theme authors to begin testing whether their code is compatible with significant dependency changes in Drupal 12.0.x. Drupal 12 alpha releases should not be used in production. No upgrade path will be provided between Drupal 12 alpha releases or to Drupal 12.0.0-beta1.

Modules and themes may be moved to contrib for 12.0.0-beta1

The Search and Toolbar modules and the Claro and Olivero themes are proposed for removal in Drupal 12, but have not been removed in alpha1.

HTMX will be upgraded to version 4 for 12.0.0-beta1

HTMX is currently on v2, but v4 was recently released and will be included in Drupal 12.

Most other breaking changes have already been committed to Drupal 12.

For more information on 12.0.x development, see [12.x] [meta] Release Drupal 12 in 2026.

12.0.x will be nearly identical to 11.5.x except for the following:

  1. Deprecated code will be removed, including entire deprecated modules.
  2. Dependencies will be updated to new major versions as appropriate.
  3. System requirements are updated.

For all other changes, refer to the 11.5.x branch.

Sites should update to the latest release of 11.4 or 11.5 prior to updating to Drupal 12

Drupal sites running 11.3.x or earlier versions must first update to 11.4.0 or later prior to updating to Drupal 12, because all core updates added prior to 11.4.0 have been removed. In general, sites should update to the most recent release of their current major branch before updating to the next major release and we very strongly recommend updating to 11.5.0 or higher before updating to Drupal 12.

Important update information

Platform requirements changes

PHP requirements

  • Drupal 12 requires PHP 8.5.
  • The default password hashing algorithm was switched to argon2id in Drupal 12. For the rare case where this is not desirable - or argon2 is not available - it can be switched to the PHP default algorithm (bcrypt) using kernel parameters.

Database requirements

The requirements for the database drivers supported by Drupal 12 are:

  • The MySQL database driver requires MySQL 8.0.
  • The MariaDB database driver requires MariaDB 10.11.
  • The PostgreSQL database driver requires PostgreSQL 19.
  • The SQLite database driver requires SQLite 3.45 with the json1 extension.

Web server

See the web server support policy for more information.

Browser support changes

See the browser support policy for more information.

Windows production environment

Support for hosting Drupal directly on Windows in production environments is deprecated. Windows is not a well supported environment, we do not have an automated Windows test environment and there are few developers who can test on Windows. Therefore, sites wanting to use Windows servers in production should plan to use Linux on Windows.

Support for Windows in development environments will continue.

The database upgrade path from releases prior to 11.4.0 has been removed

Database updates added prior to Drupal 11.4.0 have been removed from Drupal 12.0.x. To update to Drupal 12 sites must update to Drupal 11.4 or higher. We recommend updating to the most recent core 11.x release, as well as updating all of your contributed modules to their latest releases, prior to updating to Drupal 12.

Migrate Drupal and Migrate Drupal UI have been removed from core and not moved to a contributed project

Sites can continue to migrate from Drupal 6 or Drupal 7 to Drupal 11, and then update from Drupal 11 to Drupal 12 using the usual update process. Drupal 6 reached end of life in February 2016 and Drupal 7 reached end of life on January 2025.

The Migrate API remains in core.

Changes to site-owner-managed files

The robots.txt file now blocks search result pages with query parameters from being crawled by search engines. This caused search engines to index dynamically generated search results and crawl infinite combinations of faceted search pages, degrading site performance and SEO quality.

Site owners who have customized their robots.txt file should add the following rules to their robots.txt file.

      Disallow: /search?
      Disallow: /index.php/search?
    

Multiple core extensions have been removed from core and moved to contributed projects

Numerous modules and themes have been removed from Drupal core and moved to contributed projects. In many cases, the removed extensions have little to no impact on site development.

Sites should check their installed modules against the following list, and either uninstall the extension or require the contributed version prior to upgrading to Drupal 12. If a removed extension is required for a site's functionality, the contributed version should be added to the Composer requirements prior to upgrading. Do not uninstall the extension, since this would destroy the extension configuration.

Drush may bypass warning and error messages on update.php related to missing extensions. The status report will display errors about missing extensions after upgrading.

Dependency updates

  • Symfony is updated to 8.1.
  • Guzzle is updated to 8.0.
  • PHPUnit is updated to 12.5.
  • Support is removed for some older dependency versions:
    • doctrine/lexer: 2
    • egulias/email-validator: 3
    • guzzlehttp/guzzle: 7
    • guzzlehttp/psr7: 2
    • justinrainbow/json-schema: 5
    • micheh/phpcs-gitlab: 1
    • sebastian/diff: 4, 5, and 6

More backend and frontend dependency changes may be made prior to beta1.

All changes in 12.0.0-alpha1

Browse the commit log for 12.0.x.

What’s next?

  1. Learn how to install Drupal
  2. Learn how to update Drupal
  3. Extend Drupal to do more
  4. Get training
  5. Check out what others built
Created by: longwave
Created on: 2 Sep 2026 at 19:29 UTC
Last updated: 15 Oct 2026 at 09:15 UTC
Insecure
Bug fixes
New features

Other releases