This is a maintenance minor release of Drupal 10 and is ready for use on production sites. Learn more about Drupal 10 and the Drupal core release cycle.Maintenance minors are recommended for sites that prefer the minimum changes between releases.

This maintenance minor provides the best forward-compatibility with Drupal 11. It includes important dependency updates and API additions.. It does not not break backward compatibility (BC) for public APIs. This is according to Drupal core's backward compatibility and experimental module policies.

Drupal 10.4.x will receive security support until December 2025. Drupal 10.3.x will continue to receive security support until June 2025.

Drupal 10.2.x security support has ended. Sites on any Drupal version prior to 10.3.x should upgrade to a supported release as soon as possible.

Important update information

API and behavior changes

PHP dependency changes

PHP development dependency changes

  • Composer is updated to 2.8.1.

  • OpenTelemetry is updated to 1.1.0. This adds additional development dependencies including the tbachert/spi Composer plugin. When this package is installed by Composer you may be asked whether to trust this plugin; unless you are using OpenTelemetry performance testing in Drupal you can safely answer "no" to this question.

Frontend (CSS and JavaScript) production dependency changes

  • CKEditor is updated to 44.0.0.

  • jQuery UI is updated to 1.14.0

Known issues

Search the issue queue for known issues.

All changes since Drupal 10.4.0-rc1

VCS Label
10.4.0
Release type
Short description
Long term support of Drupal 10 with maintenance only changes. Use this version if you already have a Drupal 10 site, until you're ready to update to 11.x.
Packaged Git sha1
efaa2a46341068974ec6927416ac58f1bed84cbb
Release files
299a3de2b8745973a2098cc5af2b479c
Release file SHA-1 hash
cac7aedbac36f5d7ef555017017a4a544cf42657
Release file SHA-256 hash
2a08ea954205a4107d340aad25cf8c2c3157dc899e9f80a6ddc82e5ae5f38fc2
bd488d3668c268875fe3b21207df0927
Release file SHA-1 hash
c2d6a1a495b02b23daa52ed579cc9197987f9aed
Release file SHA-256 hash
7900510aa7226ac28da8f14fed91e2f151e7a32c67c44c6d716596014df167a3