Site Building
Topic

Minor Version and Security Updates for Drupal 7, 8, 9, 10, and 11

Drupal core uses a regular release cycle to introduce new features and security updates. Contributed modules and contributed themes also have periodic updates to address security issues, add new features, and fix bugs. Updating is the process of moving from one version of a project to another, within the same major release.

Make sure you understand the difference between updating and upgrading. For upgrading a major version, see Upgrade to Drupal's Major Version.

Example tasks

  • Perform security updates to Drupal core and contributed modules
  • Update Drupal core for a patch version, e.g. from Drupal 9.3.1 to 9.3.2
  • Update Drupal core for a minor version, e.g. from Drupal 9.2.x to 9.3.x
  • Update a contributed module to a new version
  • Keep track of Drupal's minor release and security updates

Confidence

The best-practice for Drupal is to use Composer. There is ongoing work to provide alternatives, but none of those have come to fruition yet. We have high confidence that the information on Drupal.org and in the Drupal User Guide will be updated with current best practices as they evolve. Simply put, this process involves updating the code in your project with the latest code from Drupal.org, so any process that facilitates doing that will continue to work.

Drupalize.Me resources

Categories
Drupal 8, 9, 10, and 11
More information

Drupal's development has a regular release cycle consisting of major, minor, and patch releases. Drupal releases use semantic versioning for its version numbers. Since we're committed to making sure our tutorials are kept up-to-date with the latest and greatest version of Drupal we figured it would be a good idea if you knew how to keep your Drupal site up-to-date with the latest "point" releases as well.

This tutorial will cover:

  • How to determine the type of update
  • The standard update procedure
  • Update Drupal using Drush
  • Update Drupal using Composer

This tutorial won't cover:

  • How to perform a major version Drupal upgrade, for example, from Drupal 6 or 7 to the latest version of Drupal. For that, see our guide, Learn to Migrate to Drupal.
More information

One of the problems that Drush solves for developers is the automation and optimization of routine tasks. Drush commands attempt to speed up workflows and tasks that developers and site maintainers would otherwise have to do manually through the UI, or run one-by-one via the command line. One of those tasks is the process of deploying changes to a Drupal application from one environment to another.

The typical Drupal deployment process consists of repeatable steps such as importing configuration changes, applying database updates, and clearing the cache. Drush comes with the handy drush deploy command that allows you to automate the execution of all of these tasks post code deployment.

In this tutorial we'll:

  • Learn about the drush deploy command
  • Discuss when you would use the deploy command

By the end of this tutorial you'll know how to use the drush deploy command in conjunction with other useful deployment-related commands to help automate the task of deploying changes to a Drupal site's configuration and code.

More information

How to use the Composer tool to manage the files in the core software and add-on modules and themes.

More information

Drupal 8.8.0 introduced a bunch of new features intended to make it easier over the long-term to maintain a Drupal project using Composer. In doing so it establishes some new best practices, and moves into Drupal core solutions that were previously maintained by the community. This is all good news. But, it means if you're using Composer to update from Drupal 8.7.x or lower to 8.8.0 or higher you'll need to do a bit of additional work to untangle everything.

This tutorial is especially useful if you started your Drupal project using the drupal-composer/drupal-project template and would like to convert to use the new templates (i.e. drupal/recommended-project or drupal/legacy-project) included with Drupal 8.8.x core.

In this tutorial we'll:

  • Convert our project to use the new drupal/core-recommended, and drupal/core-dev Composer packages
  • Explain which commonly used Composer packages are deprecated, and which new ones replace them
  • Learn how to use the drupal/core-composer-scaffold Composer plugin
  • Cover tips for troubleshooting updates

Furthermore, in order to Upgrade to Drupal 9 from Drupal 8, you will first need to update your Drupal 8 site to at least version 8.8, as the upgrade paths for Drupal 8 site from before Drupal 8.8.0 have been removed from Drupal 9.

By the end of this tutorial you should be able to update your Drupal projects using Drupal core 8.7.x or lower to Drupal core 8.8.0 or higher using Composer. And be ready for an upgrade to Drupal 9.

More information

Every Drupal site consists of many Drupal projects like modules and themes. Drush comes with a group of commands that aid in managing projects from the command line. These commands can check which modules are present in a site's codebase, report their security status, enable modules, and display metadata for modules and themes. All of these commands start with the pm prefix, and are part of the project manager group.

Common use cases for the project manager commands include: quickly enabling/disabling modules via the CLI rather than performing numerous clicks in the UI, and as part of CI/CD process that lists (or maybe even automates) security updates.

In this tutorial we'll:

  • List the available pm commands
  • Enable a module with Drush
  • Uninstall a module with Drush
  • Use Drush to check for security updates for modules, themes and PHP packages

By the end of this tutorial you'll have an understanding of the project manager commands that come with Drush, how to use them, and how to speed up common workflows and maintenance tasks.

Drupal 8, 9, and 10
More information

Learn about resources to guide you through the process of updating a module or theme to the latest version of Drupal.

This chapter of the User Guide provides an overview of security and maintenance concepts and includes step-by-step tutorials on updating the core software, modules, and themes.

More information

Composer packages use semantic versioning to allow you to differentiate among different releases of a project. Knowing how this works, and how to specify a version constraint when requiring a Composer package are an important part of using Composer.

In this tutorial we'll:

  • Get an overview of semantic versioning
  • Look at how Composer version constraints work and related best practices
  • Learn how to define Composer package requirements such that you can quickly update all of your application's dependencies without breaking existing functionality

By the end of this tutorial, you should understand how semantic versioning relates to Composer, and how to specify version constraints for packages in your Composer project.

For Drupal 7:

More information

Once you have your site up and running it is very important to keep your site up to date and secure. Both Drupal core and contributed projects continue to improve the software with bug fixes and security updates. In this chapter we look at using the core Update Manager, and explain how to read the various reports about our site's status. Before we walk through the process up updating a contributed module, as well as our version of Drupal core, we also make sure we do a backup.

Guides

Not sure where to start? Our guides provide useful learning tracks for all skill levels.

Navigate guides

External resources

  • Updating Drupal core via Composer (Drupal.org)
    • Much of the same information as the above resources, though more condensed. Use this if you’re already familiar with the process and just need a reminder of what commands to run.