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:
Using Composer to manage Drupal site dependencies
Downloads
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:
- Back up your site and codebase.
- Locate an older version of the contributed module which contains the updates you missed.
- 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 onhook_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) andd6_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 ascore/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
- #474684: Allow themes to declare dependencies on modules
- #2914110: Shortcut hook_toolbar implementation makes all pages uncacheable
- #3113992: The 'Update' page has no idea that some updates are incompatible
- #3118087: If any extension has a missing or invalid version, Update manager throws errors and is confused about site update status
Known issues
Search the issue queue for known issues.