This is a beta release for the next minor (feature) release of Drupal 10. Betas are good testing targets for developers and site builders who are comfortable reporting (and where possible, fixing) their own bugs. Beta releases are not recommended for non-technical users, nor for production websites. More information on beta releases.

This minor release provides improvements and new functionality. It does not not break backward compatibility (BC) for public APIs. There may be changes in internal APIs and experimental modules. If so, contributed and custom modules and themes may need updating. This is according to Drupal core's backward compatibility and experimental module policies.

This release may include string changes and additions. Translators can review the latest translation status on localize.drupal.org.

Drupal 10.3.x contains new features, and should be the target for new site development. Drupal 10.2.x will continue to have security support until December 2024.

Drupal 10 will be supported until the release of Drupal 12. Sites must update to at least Drupal 10.3.0 prior to updating to Drupal 11. For information on the upcoming Drupal 11 release, read the Drupal 11.0.0-beta1 release notes.

Known issues

  • Drupal core does not currently have an effective way of handling data model updates that are needed in two separate versions of Drupal (for example, Drupal 10.4 and 11.1, or 10.3 and 11.0). The issue to resolve this is: [#3108658]

    Until this issue is resolved, bug fixes requiring a data model change may be held to a later release.

  • PHP 8.4 compatibility for Drupal 10 and 11 remains under development. 10.4 (or even a later patch release of 10.3) will provide full compatibility with PHP 8.4.

  • [#3441010]

  • [#3446026]

Search the issue queue for known issues.

Important update information

For security hardening, a backwards-compatibility break has been introduced in ImageStyleDownloadController. This change may affect modules that provide custom stream wrappers or extend ImageStyleDownloadController. Review the change record for information on how to update your routing entries for this change.

Changes to site-owner-managed files

  • The special privileges of user 1 are now part of the SuperUserAccessPolicy and is enabled by default. The special behavior of user 1 can be disabled by setting the parameter security.enable_super_user in the site services.yml file to false.
  • The use of the State cache can be controlled using a new setting in settings.php. The setting is $settings['state_cache'] and is set to TRUE to improve performance. Sites may set it to FALSE if any modules are storing large amounts of data or frequently changing data in the State store. In Drupal 11, the setting will be removed and the State cache will be permanently enabled.

Platform requirements changes

  • Drupal 10.3 is fully compatible with PHP 8.3. PHP 8.3 is now recommended and may offer performance improvements.

API deprecations and behavior changes

Experimental modules

Experimental modules are provided with Drupal core for testing purposes, but are not yet fully supported.

PHP dependency changes

  • Twig has been upgraded from 3.5.0 to 3.9.3. If you have custom code that extends Twig, you should read the v3.9.0 changelog as there are new deprecations.
  • Numerous other dependencies have received minor- and patch-level updates to the latest versions.

Frontend (CSS and JavaScript) production dependency changes

  • CKEditor 5 has been updated from 41.2.0 to 41.3.1.
  • jQuery Form is removed as an external dependency. It is now forked into core because it is abandoned upstream. It is tagged @internal and should not be used by contributed or custom modules directly.
VCS Label
10.3.0-beta1
Short description
Betas are good testing targets for developers and site builders who are comfortable reporting (and where possible, fixing) their own bugs. Beta releases are not recommended for non-technical users, nor for production websites.
Packaged Git sha1
98c3dd72fc4c99feb4b3a73614b1c8b4b2393b77
Release files
84fad52fe56af8c61f6857eb526c3357
Release file SHA-1 hash
dd0dca60aacc6b72a073939e6dc46ce501c9fd64
Release file SHA-256 hash
aa3dc30225bd4180641db24aaf7c8219fc89eec5bf7251c5b39de073dadef49a
9e0e519facc0fd86386d730d97f4371e
Release file SHA-1 hash
247df8eb2091d68ab4e6e6af001c4a56e3e6fb38
Release file SHA-256 hash
7099495bf41ba2d53c125883cd00ba1cbb76510ea0305606b0891085202f707a