Managed Updates is a service offered by our Professional Services team. We help keep your site updated so you can focus on what's important. Learn more about Managed Updates in the Managing Updates for WordPress and Drupal webinar
With Pantheon Managed Updates, you get.
- CMS core updates
- Module / plugin updates
- Visual Regression Testing (VRT)
To make Managed Updates available to customers of all sizes and needs, Pantheon offers three versions: Lite, Premium, and Portfolio Upstreams.
Managed Updates Lite is for standard sites on Pantheon, and offers basic CMS and plugin updates (with visual regression testing) on a customizable schedule. It's for WordPress or Drupal 7 sites that use the standard Pantheon WebOps workflow, or Drupal 8 sites using a Composer-build workflow without continous integration processes.(see below for details).
This more specialized service can handle sites with custom workflows, testing, and CI processes. It also offers personalized update issue remediation, and email notifications when updates are scheduled.
- Patched code
- Standalone sites
Managed Updates for Portfolio Upstreams provides managed updates to all your client sites using your Custom Upstreams.
- Uses Pantheon’s update workflow
- Codebase changes are pushed to client's remote repo and then applied to each of the sites
- Build step does not rely on 3rd party sources
- No other special deployment instructions
- Currently supports Drupal 7 or WordPress 5.4 or above.
Product Comparison Table
|Managed Updates Lite||Managed Updates Premium||Managed Updates Portfolio Upstreams||Description|
|Core, Plugin and Module Updates||✔||✔||✔||Code updates from publicly accessible repositories and sources are included.|
|Regular Update Detection||✔||✔||✔||Daily scans of official repositories to detect when updates are available.|
|Visual Regression Testing||✔||✔||✔||Visual regression testing for every environment through which changes are deployed.|
|Custom Deployment Scheduling||✔||✔||❌||For use with individual sites (no Custom Upstreams or WP Site Networks).|
|Workflow Customization||❌||✔||❌||Lite & Portfolio workflows cannot be customized.|
|Remote Pull Requests to external repositories||❌||✔||❌||Premium only: Pantheon can initiate pull requests to external repositories based on successful updates, that customers can accept at their own convenience.|
|Personalized Update Issue Remediation||❌||✔||❌||Supports customers who require additional assistance remediating identified issues.|
|Headless Site Support||❌||✔||❌||Headless sites may require additional front ends on the customer side to test against.|
|Composer Compatibility Support (For Drupal 8)||❌||✔||N/A||Use Premium for Composer built sites.|
|Custom build/CI process||❌||✔||❌||Use Premium to integrate Managed Updates with existing CI or build processes.|
|Patched Code Support||Excluded (Drupal 7)||✔||Test and Deploy Only|
|Custom Visual Regression Testing||❌||✔||❌||VRT for authenticated pages or custom DOM elements.|
Requirements and Steps for Drupal 8 compatibility
In order to be supported by Pantheon Managed Updates, Drupal 8 sites should be in a "Composer-clean" state. This requires making sure that site’s codebase meets several criteria.
A Drupal 8 site using Managed Updates must:
have build and deployment handled by Pantheon, not by an external CI/CD service,
not include a
pantheon.upstream.ymlfile in the codebase (unless it’s custom upstream), only
use a nested docroot structure,
be connected to the "Empty drupal8" Pantheon upstream .
have a code-structure based on the Composer Drops-8 Example project.
Convert your D8 site to the example Composer Drops-8 structure
- Clone or download example-drops-8-composer locally. This will be your initial project folder.
- Remove the
.gitfile (if present).
- Review the top-level
.gitignorefile. Make sure package installation paths are not ignored (
web/core). Make sure paths to user files are ignored (
- Rename the project in the top-level
composer.jsonfile to something matching the site name, for example: “client-org-name/site-name”.
- Clone the existing Pantheon site repo to the separate folder.
- Copy all of the existing site’s custom modules to
- Copy all of the existing site’s custom themes to
- Finally, take the
composer.jsonfile from site’s codebase and add all packages from "require" and "require-dev" sections to the new project’s
composer.json. If there are duplicates, prefer versions from the example project, rather than from site.
Drupal core shall be required as "
drupal/core-recommended" package, not "
All Drupal modules should be required by Composer (via
Drupal Core, themes and modules should be locked to the exact versions currently installed on the Live environment. In
composer.json, the "require" section should look like this for Drupal packages:
"drupal/module": "1.2", "drupal/core-recommended": "8.8.0"
"drupal/module": "~1.2", "drupal/module2": ">=1.2", "drupal/core-recommended": "^8.8"
Drush 9 or greater should be required by
Custom modules should be stored in
Custom themes should be stored in web/themes/custom
Local patches should be sourced from the
patchesdirectory in the project root.
After removing the
composer installshould run with exit status "0" (no errors).
Composer-specific files and directories SHOULD NOT be included into .gitignore file.
There should be no
.gitfolders in the
"topfloor/composer-cleanup-vcs-dirs": "^1.0"should be required in the top-level