Install

To start a new Drupal project with version 12.0.0-beta1@beta:

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 16.94 MB
MD5: 8ed520c98cda72bba0d916e2655724cf
SHA-1: bac5db634f284bcd6e671c34cac209276d759b9f
SHA-256: 3f4d92875e449a6711eb620b8b1587c88edd6bad640114e6a2c7f4bedeb4b32c
Download zip 23.91 MB
MD5: 3cc68ac8d5a36560b14a9c2d52a2ec6b
SHA-1: d0f4740c40a593254d6a3823ea29727fa8e7618d
SHA-256: 7ff3b604d39c12024e26de4c2610a81cc118b53709bb80d4f80aea5b842fd5bf

Release notes

This is a beta release for the next major version of Drupal. Drupal 12 beta releases are intended for site owners and module or theme authors to test compatibility and upgrade paths for Drupal 12.0. Beta releases are not intended for production. Refer to Preparing your site to upgrade to a newer major version for tools you can use to check the Drupal 12 compatibility of modules, themes, and sites. For more information on 12.0.x development, see [meta] Release Drupal 12 in 2026. The 12.0.x branch also includes all the latest commits that will be backported to 11.5.x and earlier branches. 12.0.x will be nearly identical to 11.5.x except that:

  1. Deprecated code will be removed, including entire deprecated modules and themes.
  2. Dependencies will be updated to new major versions as appropriate.

Important changes

Platform requirements changes

PHP requirements

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 in production environments

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.

Sites should update to the latest release of Drupal 11 prior to updating to Drupal 12

Sites should always update to the latest release of Drupal 11 prior to updating to Drupal 12. Updates added prior to Drupal 11.3.0 have been removed and Drupal's update system will refuse to update from Drupal 11.2 or earlier. However we recommend updating to at least Drupal 11.4 (or 11.5 once it is available) in order to ensure the smoothest possible upgrade path between versions.

The Syndicate block (RSS feed icon) was deprecated in Drupal 11.2.0 with no replacement. The block plugin has been removed in Drupal 12.0.0. Any configured placement of the Syndicate block is removed when updating to Drupal 12.0.0.

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 in January 2025.

The Migrate API remains in core.

Changes to site-owner-managed files

  • The setting update_fetch_with_http_fallback that allows sites to fall back to HTTP when HTTPS requests to updates.drupal.org failed has been removed. If your site relies on this setting because HTTPS connections to updates.drupal.org are failing, resolve the underlying SSL/TLS issue instead.

New administration theme

The new Default Admin theme, which was added as experimental in Drupal 11.4, has now been marked stable, and replaces Claro as Drupal's admin theme. Claro has been moved to a contributed project.

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

Nine modules and three 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's configuration and data.

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.

API and behavior changes

Backend (PHP) dependency changes

Updated PHP dependencies

  • PHPUnit has been upgraded from 11.5 to 12.5. Using PHPUnit attributes instead of annotations is now required. Test developers should read how to identify annotations for conversion. Drupal no longer supports versions of PHPUnit less than 12.0.
  • Guzzle 8 has been updated from 7.1 to 8.0.
  • Coder has been upgraded to v9, which includes some minor backward compatibility breaks. Users of PHP_CodeSniffer may need to upgrade their configuration files to match.
  • Support has been dropped for the following older versions of dependencies:
    • micheh/phpcs-gitlab: v1.1
    • doctrine/lexer: ^2
    • egulias/email-validator: ^3.2.1
    • guzzlehttp/guzzle: ^7.10
    • guzzlehttp/psr7: ^2.8.0
    • justinrainbow/json-schema: ^5.2
    • sebastian/diff: ^4 || ^5 || ^6

Frontend (CSS and JavaScript) dependency changes

Core JavaScript dependencies have been updated to their latest applicable release.

Removed frontend dependencies

  • The Backbone and Underscore third party JavaScript libraries have been removed. They have not been offered as a library by Drupal core since Drupal 10. JavaScript that depends on these libraries should manage these dependencies themselves.

Added frontend dependencies

Updated frontend dependencies

  • htmx has been upgraded from 2.0 to 4.0. Sites with custom code should htmx now uses version 4 to learn about the backward-incompatible changes.

All changes since Drupal 12.0.0-alpha1

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: 30 Sep 2026 at 14:17 UTC
Last updated: 14 Oct 2026 at 21:44 UTC
Insecure
Bug fixes
New features

Other releases