Install

To start a new Drupal project with version 8.9.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 drupal-8.9.0-beta1.tar.gztar.gz 18.84 MB
MD5: a1e8f17527ba1edd52ecae2d88cbdf9c
SHA-1: 21d3edab69b622657c1546b87501b43c1a393756
SHA-256: 04ff39b4fd26599652c5f3cbc46e5d014936e1ade027ebf4051884f9cb84560e
Download drupal-8.9.0-beta1.zipzip 30.37 MB
MD5: 8bf79a4ec8c53ed4f68c895721947913
SHA-1: 0b3f969847b7f4b986ba44eb063bf3bb6d380fb7
SHA-256: 2d2d4eb957ab89b89a4094834a809345079949bfe0d855b2621536fe2ea8a877

Release notes

This is a beta release for the final, long-term support minor version of Drupal 8. 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 new improvements without breaking backward compatibility (BC) for public APIs. 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.

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

Drupal 8.9 is the final minor release of the 8.x series. It is a long-term support (LTS) version, and will be supported until November 2021. It also provides the same public API as Drupal 9.0 aside from deprecated code. For more information on the upcoming Drupal 9 release, read the Drupal 9.0.0-beta1 release notes.

Important update information

  • Theme functions were deprecated prior to Drupal 8.0.0's release in favor of Twig templates. However, the deprecation did not use Drupal's deprecation APIs to notify module and theme developers. Starting with Drupal 8.9.0 the use of theme functions will start to trigger deprecation notices. (In Drupal 9, this error will also be logged because theme functions bypass the sanitization functionality provided by Twig.)

  • The shortcut module disabled the cache for Dynamic Page Cache for users with access to shortcuts. These pages will now be cached which should result in a performance improvement. In rare cases, cache coherency (invalidation) bugs which were previously hidden by the disabled cache may now be surfaced. If content for authenticated users with access to shortcuts is cached incorrectly after upgrading to this release, the module that provides the incorrectly cached content might need a fix to its cache handling code (for example, cache tags or contexts).

Update system improvements and upgrade path fixes

  • Drupal now shows a more user-friendly warning when a site tries to upgrade to a new version without having run required intermediate database updates first.

    If you see 'Unsupported schema version' when attempting to run updates, you should:

    1. Back up your site and codebase.
    2. Locate an older version of the contributed module which contains the updates you missed.
    3. Downgrade the module to that version in your code base, and attempt to run updates again.

    When this error is shown, it will now also prevent any updates from proceeding, so may make a persistent issue on an existing site more obvious.

    Ideally, you should always attempt updates of contributed modules and core on a backup of your site (such as a local development environment) prior to running them on production.

  • Additionally, module developers may now specify when they have removed post-update hooks, using the new hook_removed_post_updates(). See the change record on hook_removed_post_updates() for more details.

  • Previously, corrupt menu link or taxonomy term data could cause fatal errors when sites attempted to update to Drupal 8.7 from 8.6 or earlier, due to two separate issues with the upgrade path.

    Some of this data will now be repaired automatically on upgrade. In some cases, this could result in content that was not displayed reappearing. If you previously encountered this upgrade path issue, review the change notice on the fixed menu and taxonomy upgrade path for more details on how to check for possible side effects from this change.

    Other data integrity issues that cannot be automatically repaired will result in an error message when update.php is run. If you were unable to update to 8.7 due to issues with menu link or taxonomy term data, Drupal 8.8.4 now adds instructions for resolving this issue. Try installing 8.8.4 and running update.php again. If you see an error that there are "Integrity issues detected" for your site data, follow the instructions in this change record to attempt to repair the data so that updates can be run.

Migrate system changes

  • Multilingual migrations are now stable and have been moved into the main Migrate Drupal module. The experimental Multilingual Drupal Migrate module is therefore no longer required, and will be uninstalled automatically on upgrade..

  • A new complete node migration, d7_node_complete.yml (for Drupal 7) and d6_node_complete.yml (for Drupal 6) is now available. This migration will migrate all nodes and node revisions, including translated nodes and translated node revisions. The complete node migration will eventually replace the existing trio of node migrations. See change record on the new 'complete node migration' for more information on the new migrations.

Dependency changes

  • jquery.cookie has been deprecated in Druapl 8.9 and removed in Drupal 9.0 in favor of js-cookie version 2. A core/js-cookie library has been introduced, and a backwards-compatible shim is provided as core/jquery.cookie for Drupal 9. We may upgrade to js-cookie 3 if it is available before 9.0.0-rc1 and 8.9.0-rc1.

  • Drupal is now using stable releases for behat/mink (1.8.0) and behat/mink-selenium2-driver (1.4.0). These were previously pinned to development versions because a critical bug affecting Drupal core had not been resolved in any stable release.

  • Since the Zend Framework has become Laminas, Drupal 8.9 now uses the Laminas components for several dependencies in place of the previous Zend Framework components. Code should be updated to use the new Laminas classes. A backwards compatibility layer is provided by laminas/laminas-zendframework-bridge. See the change record on updating to the Laminas components for examples of how to change your code.

  • The Sortable library updated to 1.10.2. If your module or site depends directly on Sortable, review the changes listed here: Sortable 1.10.2 changelog

Other important bug fixes

Known issues

Search the issue queue for known issues.

All changes since 8.8.0

Browse the commit log for 8.9.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: xjm
Created on: 26 Mar 2020 at 22:41 UTC
Last updated: 3 Apr 2020 at 13:14 UTC
Insecure
Bug fixes
New features

Other releases