Upgrade Commerce version
You can upgrade the Adobe Commerce code base to a newer version. Before upgrading the environment, review the System requirements in the Installation guide for the latest software version requirements.
Depending on the environment type (Development, Staging, or Production), your upgrade tasks may include the following:
-
Upgrade third-party extensions to the latest supported version.
-
Update the
.magento/services.yamlfile with the required service versions for MariaDB (MySQL), OpenSearch, RabbitMQ, and Redis or Valkey so they remain compatible with the target Adobe Commerce version.- For development/integration/PR branches, these changes are used directly as part of the environment configuration.
- For Pro Staging and Production environments, Adobe Commerce Support performs the actual service installation or update, but you must still keep
.magento/services.yamlcurrent, complete, and valid, because its contents are validated during deployment.
-
Update the
.magento.app.yamlfile with new settings for hooks and environment variables.
Pro services support
To request and complete a Pro service upgrade in Staging or Production, follow these steps:
-
To install or update services in
StagingandProductionenvironments only, submit an Adobe Commerce Support ticket.In the ticket, specify the required service changes, include the updated
.magento.app.yamland.magento/services.yamlfiles and note the target PHP version.PHP version, Composer updates, extensions, and environment settings are self-service changes. Adobe may need to update the New Relic agent for PHP version compatibility. See PHP settings in Application configuration.
note important IMPORTANT When selecting the Environment field in the ticket form, use Adobe’s environment naming. For example, select Staging even if you call that environment Dev internally. You can mention your internal name in the description, but the Environment field must use Adobe’s nomenclature. -
Confirm the upgrade schedule through Adobe’s two-part process: you confirm the requested date and time first, then Support submits it to the Infrastructure team for final confirmation.
Production changes (Pro only) require at least two business days’ notice, excluding weekends. For example, the Cloud Infrastructure team must acknowledge a Monday upgrade by the preceding Wednesday. Expect additional lead time during peak demand. To avoid delays, respond to the initial request at least 48 hours before the window. The upgrade is not considered scheduled until you receive final confirmation.
note NOTE Provide maintenance windows in UTC. Staging upgrades are not scheduled in advance and are typically completed the same day as the request. After a RabbitMQ upgrade, redeploy the environment to re-initialize the message queues. -
Validate the upgrade in a Staging or Integration environment before scheduling it in Production.
Issues caused by third-party modules, custom code, or dependency compatibility often surface during the redeployment that follows a service upgrade. To validate multiple service upgrades one at a time, a reasonable order is Valkey or Redis, then RabbitMQ, then OpenSearch, then MariaDB. This is not a required sequence. Database upgrades carry the highest operational impact and deserve the most caution.
Adobe does not guarantee the exact duration of a Production maintenance window in advance, since timing depends on the environment and the services involved. Use the time your Staging upgrade takes as a practical estimate when planning the Production window.
-
Redeploy the environment after Adobe completes the service upgrade so the change takes effect, even if the Adobe Commerce application version does not change.
If the upgrade includes OpenSearch, also plan for a full reindex. Adobe cannot guarantee zero downtime for a service upgrade, so plan a maintenance window that allows time to redeploy, reindex if needed, and validate the storefront and Admin before reopening the site.
Customer availability during upgrades
A representative from your team or implementation partner must be available online for the duration of the scheduled Production upgrade window. Scheduling during a low-traffic period does not make the upgrade hands-off. Adobe manages the cloud infrastructure upgrade but cannot validate your application behavior, integrations, custom code, or business workflows.
The available representative must be able to:
- Monitor the storefront and critical business transactions during and after the upgrade.
- Respond to questions from Adobe Support or the Cloud Infrastructure team.
- Confirm that integrations, extensions, customizations, cron jobs, queues, and other customer-specific functions are working as expected.
- Validate business-critical workflows, such as checkout, catalog views, search, login, and order processing.
- Report unexpected behavior promptly, while the upgrade context and logs are still available.
Maintenance mode
Maintenance mode is not a substitute for customer availability. Maintenance mode blocks storefront access, but does not validate application services, integrations, queues, cron jobs, checkout, or other customer-specific functions.
If the planned work requires maintenance mode, coordinate its use with Adobe Support and follow the instructions for that upgrade. Afterward, confirm that the storefront and critical workflows are operating normally before considering the work complete.
Configuration files
To account for changes to the default configuration settings for Adobe Commerce on cloud infrastructure or the application, update your project configuration files before upgrading the application. The latest defaults can be found in the magento-cloud GitHub repository.
composer.json
Before upgrading, always check that the dependencies in the composer.json file are compatible with the Adobe Commerce version.
To update the composer.json file for Adobe Commerce version 2.4.4 and later**:
-
Add the following
allow-pluginsto theconfigsection:code language-json "config": { "allow-plugins": { "dealerdirect/phpcodesniffer-composer-installer": true, "laminas/laminas-dependency-plugin": true, "magento/*": true } }, -
Add the following plugin to the
requiresection:code language-json "require": { "magento/composer-root-update-plugin": "^2.0.3" }, -
Add the following component to the
extra:component_pathssection:code language-json "extra": { "component_paths": { "tinymce/tinymce": "lib/web/tiny_mce_5" }, }, -
Save the file. Do not commit or push changes to your branch yet.
-
Continue with the upgrade process.
Environment Backup
Adobe recommends creating a backup of the instance before an upgrade. Use the following steps to back up your Integration, Staging, and Production environments.
To back up your integration environment database and code:
-
Create a local backup of the remote database.
code language-bash magento-cloud db:dumpnote NOTE The magento-cloud db:dumpcommand runs the mysqldump command with the--single-transactionflag, which allows you to back up your database without locking the tables. -
Back up code and media.
code language-bash php bin/magento setup:backup --code [--media]Optionally, you can omit
[--media]if you have a large number of static files that are already in source control.
To back up your Staging or Production environment database before deploying:
-
Use SSH to log in to the remote environment.
-
Create a database dump. To choose a target directory for the DB dump, use the
--dump-directoryoption.code language-bash vendor/bin/ece-tools db-dumpThe dump operation creates a
dump-<timestamp>.sql.gzarchive file in your remote project directory. See Back up database.
Application upgrade
Review the service versions information for the latest software version requirements before upgrading your application.
To upgrade the application version:
-
On your local workstation, change to your project directory.
-
Set the version constraint for the target upgrade version. This step is only necessary if the target version is outside the existing constraint.
code language-bash composer require-commerce "magento/magento-cloud-metapackage":">=CURRENT_VERSION <NEXT_VERSION" --no-updatenote NOTE You must use the version constraint syntax to successfully update the ece-toolspackage. You can find the version constraint in thecomposer.jsonfile for the version of the application template you are using for the upgrade. -
Update your
composer.jsonfile with the core Commerce upgrade version.code language-bash composer require-commerce magento/product-enterprise-edition 2.4.8 --no-update -
If you’re using B2B, update your
composer.jsonfile with the supported version for Commerce.code language-bash composer require-commerce magento/extension-b2b 1.5.2 --no-update -
Update project dependencies.
code language-bash composer update -
Review the patches that are currently applied:
-
If there are any patches installed in the
m2-hotfixesdirectory, submit an Adobe Commerce Support ticket and work with Adobe Commerce Support to verify which patches can still be applied to the new version. Remove the non-applicable patch(es) from them2-hotfixesdirectory. -
If there are any [Quality Patches] applied in the
.magento.env.yamlfile, verify whether they can still be applied to the new version. Remove the non-applicable patch(es) from theQUALITY_PATCHESsection of the.magento.env.yamlfile.
Method 1: Verify the applicable versions in the Quality Patches release notes
Method 2: View available patches and status
Method 3: Search for patches
-
-
Add, commit, and push code changes.
code language-bash git add -Acode language-bash git commit -m "Upgrade"code language-bash git push origin <branch-name>git add -Ais required to add all changed files to source control because of the way Composer marshals base packages. Bothcomposer installandcomposer updatemarshal files from the base package (magento/magento2-baseandmagento/magento2-ee-base) into the package root.The files that Composer marshals belong to the new version of Adobe Commerce, to overwrite the outdated version of those same files. Currently, marshaling is disabled in Adobe Commerce, so you must add the marshaled files to source control.
-
To complete the upgrade, wait for deployment.
-
Verify the upgrade in your Integration, Staging, or Production environment by using SSH to log in and check the version.
code language-bash php bin/magento --version
Upgrade extensions
Review your third-party extension and module pages in Marketplace or other company sites and verify support for Adobe Commerce and Adobe Commerce on cloud infrastructure. If you must upgrade any third-party extensions and modules, Adobe recommends working in a new integration branch with your extensions disabled.
To verify and upgrade your extensions:
-
Create a branch on your local workstation.
-
Disable your extensions as needed.
-
When available, download extension upgrades.
-
Install the upgrade as documented by the third-party documentation.
-
Enable and test the extension.
-
Add, commit, and push the code changes to the remote.
-
Push to and test in your integration environment.
-
To test in a pre-production environment, push to the Staging environment.
Adobe recommends upgrading your Production environment before including the upgraded extensions in your site launch process.
Troubleshoot upgrade
If the upgrade fails, you receive an error message in the browser indicating that you cannot access your storefront or the Admin panel:
There has been an error processing your request
Exception printing is disabled by default for security reasons.
Error log record number: <error-number>
To resolve the error:
-
On your local workstation, change to your project directory.
-
Use SSH to log in to the remote environment.
code language-bash magento-cloud ssh -
Open the
./app/var/report/<error number>file. -
Examine the logs and determine the source of the issue.
-
Add, commit, and push code changes.
code language-bash git add -A && git commit -m "Fixed deployment failure" && git push origin <branch-name>