Skip to content

Repository files navigation

Quality Patches Tool

Welcome to the Quality Patches Tool!

Overview

Quality Patches Tool is a command-line tool that delivers quality patches for Adobe Commerce and Magento Open Source. It allows you to:

  • view the general information about the latest patches
  • apply patches
  • revert previously applied patches

Quality patches are provided by Adobe support and Magento OS community.

Here is a full list of available patches in Quality Patches Tool.

Installation

On-Prem Project

$ composer require magento/quality-patches

Cloud Project

The quality-patches package is a dependency for the ece-tools package starting from v.2002.1.2 and is installed or updated when you update the ece-tools package version.

Usage - On-Prem Project

Make sure to test all patches in a pre-production environment. For the changes to be reflected, refresh the cache in the Admin under System > Tools > Cache Management

Use $ ./vendor/bin/magento-patches script

Status command

Show information about available patches for current Magento version:

$ ./vendor/bin/magento-patches status

Apply command

Applies provided list of patches:

$ ./vendor/bin/magento-patches apply MAGETWO-95591 MAGETWO-67097

Revert command

Reverts provided list of patches:

$ ./vendor/bin/magento-patches revert MAGETWO-95591 MAGETWO-67097

Reverts all patches:

$ ./vendor/bin/magento-patches revert --all

Usage - Cloud Project

Make sure to test all patches in a pre-production environment. For Magento Cloud, new branches can be created with magento-cloud environment:branch

Use $ ./vendor/bin/ece-patches script

Applying a patch

Add to .magento.env.yaml environment variable QUALITY_PATCHES with a list of patches to apply:

stage:
    build:
        QUALITY_PATCHES:
            - MCTEST-1002
            - MCTEST-1003

Commit and push updated .magento.env.yaml file into the remote branch. Patches will be applied during deploy process.

Apply patches manually in a local environment

You can apply patches manually in a local environment and test them before you deploy.

To apply patches manually:

  1. Add to .magento.env.yaml environment variable QUALITY_PATCHES with a list of patches to apply
  2. From the project root, apply the patches: $ ./vendor/bin/ece-patches apply Patches will be applied in the following order:
    • Cloud-required patches
    • Quality patches from .magento.env.yaml
    • Custom patches from the /m2-hotfixes directory.
  3. Check with ./vendor/bin/ece-patches status if the patch was applied
  4. Clear the Magento cache $ ./bin/magento cache:clean

Test the patches, make any necessary changes to custom patches.

Revert patches in a local environment

You can revert patches in a local environment to clean instance:

$ ./vendor/bin/ece-patches revert

Patches will be reverted in the following order:

  • Custom patches from the /m2-hotfixes directory.
  • Magento-quality patches
  • Cloud-required patches

Status command information

Status:

  • Applied - the patch is already applied
  • Not applied - the patch is not applied
  • N/A - if the status of patch cannot be defined due to some conflicts

Type:

  • Optional - all patches from Quality Patches Tool are optional for Cloud & On-Prem customers
  • Required - all patches from Cloud Patches are required for Cloud and optional for On-Prem customers
  • Deprecated - patch is marked as deprecated (there is a recommendation to revert if it was applied)
  • Custom - customer specific patches from m2-hotfixes folder (Cloud only)

Details:

  • Affected components - show the list of affected components (magento-modules)
  • Required patches - shows the list of required patches (dependencies)
  • Recommended replacement - patch, that is recommended for replacement of deprecated patch

About

No description, website, or topics provided.

Resources

Code of conduct

Contributing

Stars

164 stars

Watchers

36 watching

Forks

Releases

Packages

Used by

Contributors

Languages