A project for developing the Auto Updates Initiative efforts, as a feature for Drupal core.

Automatic Updates makes it much, much easier and better to keep Drupal core up to date.

Are you using this module?

Before Automatic Updates is added to Drupal core we would like to know how it is working for you. Please fill out this short form if you are using this module.

Requirements

Automatic Updates requires Composer 2.6 or later.

For this module to work from the browser, Drupal must be able to change its own code base. Not all hosting environments allow this; for example, at this time, Automatic Updates is likely incompatible with most offerings from Acquia, Pantheon, or similar providers. If your Drupal site is hosted in such a set-up, we recommend using Automatic Updates in a local development environment, then pushing the changes to the hosting environment.

The 3.x version of this module also ships with a Symfony console script that allows updates even if the webserver cannot update the codebase. To use this script set up a regularly running server crontab job that runs as more privileged server user and invokes the script as
php /path/to/module/automatic_updates/auto-update

Additionally, the 8.x-2.x and 3.x versions of Automatic Updates requires that your Drupal site be managed by Composer. Most sites created with Drupal 8.8 or later are Composer-managed by default.

Installation

This module must be installed using Composer; run composer require drupal/automatic_updates:^3 to add it to your project.

Usage

Install Automatic Updates like a normal module, then visit the Extend page and click the "Updates" tab to update Drupal core to a newer version, if available.

Features

  • Applies patch-level updates to Drupal core in a separate, sandboxed copy of your site, to keep you up and running until the update is completely ready to be deployed.
  • Can detect and report problems at every stage of the update process, so you don't have to find out in production.
  • Automatically detects database updates in an incoming update, and helps you run them during the update process.
  • Provides a robust API for error detection and hooking into every stage of the update process.
  • Can be configured to copy files between your Drupal site and the sandboxed copy using native PHP (available on all platforms), or rsync, if available, for better performance.

API

Automatic Updates provides an event-based API that allows developers to hook into nearly every part of the update process. The API can be used to check for errors and stop the update from proceeding, or even starting in the first place, all without affecting your live Drupal site. It can also be used to implement custom triggers at each successful stage of the update process.

Deliberate limitations

  • Fully automatic, completely unattended updates (i.e., done during cron runs) are not yet supported. This will come when drupal.org's packaging system supports The Update Framework.
  • This module does not support updating across major versions of Drupal core (for example, Drupal 9 to Drupal 10), because major version updates are disruptive. See the Upgrade Status module for help with that.
  • It is not possible to update a development snapshot of Drupal core to any other version.
  • It is not possible to downgrade to an older version of Drupal, or undo an update once it's complete.
  • Multisites are not supported because it's not possible to automatically keep all the sites in a multisite synchronized with changes in the underlying code base.

Experimental Features

Updating to another minor version of Drupal

This module supports updating Drupal core from one minor version to the next (for example, from 9.2.9 to 9.3.0). It's disabled by default because updating across minor versions can be more disruptive than updating within the same minor version. To enable this feature, you will need to programmatically set the allow_core_minor_updates key to true in the automatic_updates.settings config object. You can do this by modifying settings.php, or with Drush. Because of the potential for disruption, this feature cannot be enabled in the UI.

Updating contributed modules and themes

Automatic Updates includes a sub-module, Automatic Updates Extensions, which supports updating contributed modules and themes. However, it is still experimental and under heavy development. We encourage you to test it in your local development environment, or another low-stakes testing situation, but it's emphatically NOT ready for use in a production environment. ☢️ ⚠️

Drupal 7

Automatic Updates 7.x-1.x is an older generation of this module with a different architecture. It does not support Composer-managed sites and is minimally maintained. See more information about Automatic Updates for Drupal 7.

Supporting organizations: 
Funding & Direction
Development for Phase 1/2
Development for Phase 1/2
Security Architecture and Development for Phase 1/2
Coordination and Development for Phase 1/2

Project information

Releases