Install

To start a new Drupal project with version 9.4.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 drupal-9.4.0-alpha1.tar.gztar.gz 20.46 MB
MD5: b3df67c6b11ef1708df9821fec27d0c6
SHA-1: bc1a8886d777162b5c8b23c060f8c452551065da
SHA-256: dcd0249ac43a5ee7a4d96195aeea28fd4ffa4255e935a126e51ed0b71dfc525d
Download drupal-9.4.0-alpha1.zipzip 33.16 MB
MD5: bc7e0bab2fed504a8074ae09abc9e821
SHA-1: 189511fe7d490e4c32ad45ba7e4456460c8a1883
SHA-256: c6783279a508c830dbeb16e12417a267fbd6895f5d2036774052abcb20e4327b

Release notes

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

This minor release provides new improvements and functionality without breaking backward compatibility (BC) for public APIs. Note that there may be changes in internal APIs and experimental modules that require updates to contributed and custom modules and themes per Drupal core's backwards compatibility and experimental module policies.

Drupal 9.4.x contains new features, and should be the target for new site development. Drupal 9.3.x will continue to have security support until December 2022. Security support for 9.2.x ends with the release of 9.4.0 on June 15, 2022.

Important update information

Updating from Drupal 8

For information on updating from Drupal 8 to Drupal 9, see Upgrading a Drupal 8 site to Drupal 9.

Upgrading from Drupal 6 and 7

Drupal 6 and 7 users can continue to migrate to Drupal 9.4 directly. The migration paths from Drupal 6 and Drupal 7 to Drupal 9 will remain supported throughout Drupal 9's release cycle.

Important changes for this release

  • Drupal 9.4's minimum PHP requirement has been increased from PHP 7.3 to 7.4. Sites on PHP 7.3 may still be installed and updated (with a warning), but their security coverage is not guaranteed unless they update to at least PHP 7.4. For more information, see the PHP requirements handbook page.

    PHP 8.1 is now the recommended PHP version to use with Drupal 9.4 and above.

  • The root .htaccess file now has a section for PHP 8 settings. This brings .htaccess files into alignment with Drupal’s supported PHP version.

    If you have a custom .htaccess file and its PHP settings are working, you can keep using your existing .htaccess file unchanged. If you are upgrading from PHP 7 to PHP 8, you should copy the custom settings that you need from the PHP 7 section to the PHP 8 section.

  • Drupal core will begin warning in the status report if a database connection doesn't support JSON, in preparation for this becoming an installation requirement in Drupal 10.

API changes

Changes to the Standard and Umami Demo profiles

  • The Standard profile now use Olivero as a frontend theme instead of Bartik, and both Standard and the Umami Demo profile use Claro instead of Seven for the administrative theme. The default configurations for Bartik and Seven have been moved to the optional configuration. Standard and Umami now install with default configuration for Olivero and Claro according to core standards.

    This change does not affect existing sites, but does affect new site installation where the new themes will be the defaults.

  • Standard profile will no longer enable the Color module when installed.

PHP Dependency updates

The following dependencies have been changed or updated since 9.3.

  • Drupal 10 will switch its PSR-17 implementation from laminas/laminas-diactoros to Guzzle. It should not be necessary to make any changes unless you are directly referencing Diactoros classes. If your project does depend directly on any Diactoros code (uncommon), you should make sure it is declared as a dependency in your composer.json or change the code to use Guzzle.

  • Drupal core's pinned Composer dependency versions have been updated for the latest minor and patch releases.

JavaScript Dependency updates

Production dependencies

  • The Backbone and Underscore core JavaScript dependencies are deprecated and will no longer be provided as public core libraries in Drupal 10. Consequently, the drupal.editor.admin and drupal.filter.filter_html.admin libraries no longer depend on Underscore. Backbone and Underscore will eventually be removed from core, possibly prior to Drupal 10.0.0.

    Modules or themes which depend on these libraries should either refactor their code to remove the dependencies, or treat them as third-party dependencies for the contributed module.

    Most Underscore functionality has simple replacements in modern ES6 JavaScript. Review the change record about the Underscore deprecation for more information on upgrading your code.

  • The latest minor versions of all JavaScript dependencies are now required by core yarn constraints. Additionally, the constraints have been changed to only allow patch-level updates for production dependencies. This allows yarn upgrades can be done easily and safely when there are security issues with the dependencies, without accidentally making disruptive updates to production dependencies.

    The constraints will be deliberately increased as necessary for future updates and future Drupal minor versions.

  • The CKEditor 5 module now uses version 34.0.0 of the CKEditor 5 JavaScript library, which fixes several critical issues.

  • The CKEditor 5 ckeditor5.list library has been updated to 34.0.1.

  • Shepherd.js is updated to 9.0.0. According to its release note, there should be no breaking changes that affect our usage.

  • Popper.js has been updated from 2.11.2 to 2.11.5.

  • The deprecated Backbone and Underscore dependencies have received patch level updates: Backbone has been updated from 1.4.0 to 1.4.1, and Underscore has been updated from 1.13.2 to 1.13.3.

Development dependencies

  • Node.js is a development dependency for Drupal core. In Drupal 9 and 10, Drupal core's Node.js requirement has been updated from 12.0.0 to 16.0.0. (Information on changes in Node.js 16.) An updated version of Node.js can be installed directly or with nvm. This only affects sites that have installed Drupal core's JavaScript development dependencies with npm or yarn.

  • The Chromedriver JavaScript development dependency has been updated from 87.0.0 to 98.0.1.

  • Eslint is updated to 8.9.0. core/.eslintrc.passing.json has been updated to reflect the new rules.

  • Stylelint has been updated to version 14, and minor changes have been made to whitespace and quoting in core CSS. Refer to the change record on the Stylelint 14 update for more information.

  • The jsdom development dependency has been updated from 18.1.1 to 19.0.0.

  • All of Drupal core’s JavaScript development dependencies have been updated to the latest allowed minor and patch versions to address security issues in those dependencies. This should have minimal impact on contributed or custom code and CI workflows. Core developers should completely remove their core/node_modules directory and re-run yarn install from within the core/ directory.

Changed coding standards

  • JavaScript linting now uses eslint-config-airbnb-base instead of eslint-config-airbnb for linting core JavaScript. Anyone who uses core’s ESLint config to lint React or JSX code should add eslint-config-airbnb back to their yarn dev dependencies.

Known issues

Search the issue queue for known issues.

All changes since Drupal 9.3

Core commit log on GitLab.

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: xjm
Created on: 6 May 2022 at 20:29 UTC
Last updated: 13 Jun 2022 at 17:22 UTC
Insecure
Bug fixes
New features

Other releases