Information for: DEVELOPERS   PARTNERS   SUPPORT

Upgrading your Acquia CMS project to Drupal 10

Prerequisites

Before attempting to upgrade your project to use Drupal 10, ensure that you perform the following:

  1. Upgrade Acquia CMS Common to 2.0.0.

    This version leverages the latest Moderation Dashboard and Config Ignore modules.

    • Moderation Dashboard: Panels, page_manager, and ctools modules are removed from Composer dependencies in the 2.x version of the Moderation Dashboard module. Therefore, Acquia recommends that you require these modules manually and remove them later, if not required.

      To add the module by using Composer, run:

      composer require drupal/panels drupal/page_manager
      
    • Config Ignore: The config_filter module dependencies are removed in the 3.x version of the Config Ignore module. Therefore, Acquia recommends that you require the module manually and remove it later, if not required.

      To add the module by using Composer, run:

      composer require drupal/config_filter
      
  2. Use CKEditor5 and uninstall CKEditor4. CKEditor4 is deprecated in Drupal 9.5 or later. Therefore, Acquia recommends that you install CKEditor5 and uninstall CKEditor4. In addition, you must update all text formats to use CKEditor5.

    1. Install the CKEditor5 module.
    2. Click Configuration > Content authoring > Text formats and editors. Alternatively, append /admin/config/content/formats to your application name.
    3. Update each text format, such as Filtered HTML and Full HTML, to use CKEditor5. For more information, see Using the CKEditor5 text editor for the “Site Studio” text format.
    4. Uninstall the CKEditor4 module.
  3. Upgrade Acquia CMS Starter to 1.4.0. Acquia removed the Webform module from Composer dependencies. Therefore, Acquia recommends that you manually require the module and remove it later if it is no longer required.

    To add the module by using Composer, run:

    composer require 'drupal/webform:^[email protected]'
    

    Important

    If you do not use Acquia CMS Starter, you can skip this step.

Updating Acquia CMS modules and theme

  • To update all Acquia CMS and contrib modules, run:

    composer update "drupal/acquia_cms*" "drupal/acquia_claro" -w
    
  • Moderation Dashboard: Panels, page_manager, and ctools modules are removed from Composer dependencies in the 2.x version of the Moderation Dashboard module. If you use these modules in only as part of the Moderation Dashboard project, uninstall and remove these modules manually. For example,

    • To uninstall module from database, run:

      ./vendor/bin/drush pm:uninstall panels page_manager
      
    • To remove module from codebase, run:

      composer remove drupal/panels drupal/page_manager
      
  • Config Ignore: The config_filter module dependencies are removed in the 3.x version of the Config Ignore module, Acquia recommends that you uninstall the config_filter module.

    • To uninstall the module from database, run:

      ./vendor/bin/drush pm:uninstall config_filter
      
    • To remove module from codebase, run:

      composer remove drupal/config_filter
      

Upgrading to Drupal 10

To upgrade your project to Drupal 10, you must remove the incompatible modules:

  1. Uninstall the Upgrade Status module. Projects that are created by using the acquia/drupal-recommended-project template include this module. If you installed it earlier, you must uninstall the module and remove it from the project. Otherwise, you cannot upgrade to Drupal 10.

    composer remove drupal/upgrade_status
    
  2. (If not already done) Update the Platform PHP as per Drupal 10:

    composer config platform.php 8.1
    
  3. Update Drupal core to 10.

    composer require "drupal/core-composer-scaffold:^10" "drupal/core-recommended:^10" --no-update --no-install
    
    composer update "drupal/core*" "drupal/acquia_cms*" "acquia/acquia-cms-starterkit" "drush/drush" -W
    

Post-update activities

After you upgrade your project to Drupal 10, perform the following:

  1. Clear cache, run db updates.

    ./vendor/bin/drush cr
    ./vendor/bin/drush updb
    
  2. If the project has set up a starter kit with Acquia CMS Enterprise Low-code, reimport Cohesion package and do the rebuild.

    ./vendor/bin/drush aissp