Magento Upgrade Compatibility Tool
- May 16, 2022
- Categories: Magento, Magento 2
It is announced that PHP 7.3 is going to have the end of the support by Dec 6, 2021, and Magento 2.3.x will have the end of the support by April 2022. That is the reason why we at Evrig, Magento development agency, highly recommend that merchants should go for the Magento upgrade to secure the Magento store. It will help them to get ongoing security updates, support, and new functionality. Adobe has introduced the marketplace extension compatibility policy which will help to ensure the availability of the extensions for the new release of Adobe Commerce. Apart from that, Adobe announced the Upgrade Best Practices guide. This upgrade best practices guide and the updates to the upgrade compatibility tool will enable the merchants and developers to simplify the upgrade and make it easier and quicker.
What is the need to upgrade the Magento?
There are around 83 thousand websites running on the Magento 2.3 according to Builtwith. Top brands across the world use Magento as their preferred eCommerce platform and generate online sales exponentially. For any eCommerce business, it is critical to be secure at any point in time to protect its business and customers.
To keep the Magento platform secure and feature-rich, Adobe is continuously putting in lots of effort. Here, we can read about the upcoming release for the Magento open source and Adobe Commerce. Magento store merchants are always recommended to upgrade their Magento store with the latest version of the Magento to meet business and technical needs. However, this upgrade process is not as smooth as we think and it can take a good amount of time and investment. To address this concern of the Magento merchants, Magento has introduced a tool named “Upgrade Compatibility Tool” to make this upgrade process more reliable, faster, predictable, and transparent.
Magento Upgrade Compatibility Tool
Generally, Magento merchants try to avoid the upgrade because it can take time and avoid the upgrade investment. That will enable them to focus on their eCommerce operations. But this delay will result directly in increased security risk and also technical debt. It means that when a Magento merchant skips the upgrade for example from 2.3.0 and does the upgrade on the Magento 2.4.3, it will increase the technical complexity as it will be a major upgrade. The Magento upgrade compatibility tool will help the Magento merchants proactively identify the customization which is not compatible before the actual Magento commerce upgrade. This will make the Magento upgrade process more transparent, predictable and lower the upgrade cost.
This Magento upgrade compatibility tool is a command-line tool that checks the customization or custom modules on the particular Magento instance and recognizes the code which needs to be updated before the actual upgrade on the Magento commerce. In the initial release, it had limited capability to check the compatibility of PHP and GraphQL API. With the latest release, it is expanded to cover the following:
- Validate the change to the Core File – Magento strongly recommends that no changes should be made to the core files. With this update, Magento merchants and partners can identify modifications to the core files, understand & analyze its impact in the early stage. If this is introduced at the development stage, it can help the team identify the future upgrade issue quickly and prevent the problem before it happens and reduce the total cost of ownership.
- Exporting the Error Report in the JSON file: This enhancement was done based on the active Magento community. Thanks to them. When the Magento developer runs this tool, now they can export all the identified issues to a JSON file. This can help in reading, sharing, and managing the results without running the tool again.
- Handle the Vendor Bundled Extensions validation in a better way: These VBE (Vendor Bundled Extensions) are not part of the Adobe Commerce code. Still, Adobe actively tests and supports it. Now, Adobe will check the VBE in the same way as the core files. This can help in understanding the issues related to the customization and VBE clearly.
- Provider Error Code: Magento has introduced the error codes for the developers. It helps in identifying, understanding, and fixing the errors or issues during an upgrade. Warning and error messages are designed in such a way that it can clearly guide the developers and suggest a technical solution.
Availability & its Usage
The current version of the upgrade compatibility tool is 1.1.0 with the aforementioned improvements. This tool is available only for Adobe Commerce who wants to upgrade from 2. x to 2.3 or later versions. It is not available for the Magento Open Source. Magento has also planned to release a new version of this tool for each new version of the Adobe Commerce. Once it is installed, it can be run to check the compatibility of the customization in the Magento instance against the target Adobe Commerce version.
How to Install the Upgrade Compatibility Tool?
If you want to install the Upgrade Compatibility tool, please refer to Adobe Commerce: Upgrade Compatibility Tool > Install in the developer documentation. For prerequisites for using the tool, you can refer to Adobe Commerce: Upgrade Compatibility Tool in the developer documentation.
How to Run the Upgrade Compatibility Tool?
As stated above, this tool is a command-line tool so it needs technical experience to run this tool. The following command can be used to run this tool. More technical information on how to run and use this tool can be found here: Run the Magento Upgrade Compatibility Tool
upgrade:check
Once this tool is run, it gives us a list of the following:
- Critical Issues
- Errors
- Warnings
This tool is distributed by Adobe as a Composer package with every release of an Adobe Commerce version. You can visit the Developer topic for more information.
What does the number indicate next to each issue in the report?
It is the error message reference that usually provides information about the issues. It can happen while running the upgrade compatibility tool.
Adobe has categorized the error messages by the following levels and types.
- Error Message Level
- Critical issues
- Errors
- Warnings
- Error Message Type
- Core Code
- Custom Code
- GraphQL Schema
Each type includes the following information about the error:
- Error code: This is an identifier for the error message assigned by Adobe Commerce.
- Error description: It is a description that provides information about the cause of the error.
- Error suggested action: In case it is applicable, this provides guidance to troubleshoot and resolve the error.
- Codes are listed and described on the Error message reference page.
What is the prerequisite for the Upgrade Compatibility Tool?
Magento developers can run this tool on any operating system. It is not necessary to run this upgrade compatibility tool on the same instance where Adobe Commerce is installed. However, it is essential for the upgrade compatibility tool to have access to the Adobe Commerce source code. You can also run this tool on one server and keep using your Adobe Commerce on a separate server. You can visit prerequisites for more information.
Note: If your Adobe Commerce has large modules or extensions and files, the upgrade compatibility tool may need a high amount of RAM with a minimum of 2 GB RAM.
Contribution to improving the Upgrade Compatibility Tool
Adobe team understands the problems of the Magento merchants and developers and hence continuously focuses on improvements and enhancement wherever required. Adobe welcomes feedback from the community or developers to improve the tool. Anyone can send a message to the team on the upgrade-compatibility-tool Slack channel or send an email to uct@adobe.com.
You can also visit Magento Commerce developer documentation for more information on this Upgrade Compatibility Tool and detailed instructions.
Why should you go for Magento 2 Upgrade with Evrig?
Please get started with Evrig in case you are planning to upgrade your Magento store. Evrig has experience with Magento upgrade in multiple projects. Do you want to talk with our Solution Architect about Upgrade compatibility or anything about Magento Upgrade, please reach out to him at vijay@evrig.com.