Upgrade Compatibility Tool error messages
- Topics:
- Upgrade
CREATED FOR:
- Experienced
- Admin
- Developer
This error message reference provides information about errors that can occur while executing the Upgrade Compatibility Tool.
Error messages are categorized by level (critical issues, errors, and warnings) and type (core code, custom code, and GraphQL schemas). Each type contains the following information:
- Error code: The Adobe Commerce assigned identifier for the error message.
- Error description: A description that summarizes the cause of the error.
- Error suggested action: If applicable, provides guidance to troubleshoot and resolve the error.
Critical issues
Core code
These errors are reported when some of the core files are missing or do not match the original.
Error code | Error description | Suggested action |
---|---|---|
2001 | Core file was not found | Run the composer install command from the project’s root directory. |
2002 | Core file was modified | Run the composer install command from the project’s root directory. |
2003 | Composer dependency is not installed | Missing composer dependency may potentially result in issues. Restore dependency by running composer require package_name . |
2005 | Core folder was not found | Run the composer install command from the project’s root directory. |
Custom code
Critical errors are raised when the custom code is referencing entities that are not present in the target Adobe Commerce version. These errors are also reported when critical coding standards have been broken.
Error code | Error description | Suggested action |
---|---|---|
1110 | Instantiating non-existent Adobe Commerce class/interface | Update code to use a class marked as @api . Instantiating non-existent Adobe Commerce class/interface. |
1111 | Extending from non-existent Adobe Commerce class | The extended class is no longer present in the codebase. Inheritance is not recommended way of extending Adobe Commerce functionality. Update code to use a class marked as @api . |
1112 | Importing non-existent Adobe Commerce class | Update code to use a class marked as @api . |
1113 | Loading non-existent Adobe Commerce class | Update code to use a class marked as @api . |
1114 | Using non-existent Adobe Commerce class | Update code to use a class marked as @api . |
1214 | Using non-existent Adobe Commerce constant | Consider introducing and using a private constant of the required value within the custom code instead. |
1215 | Overriding non-existent Adobe Commerce constant | Consider introducing and using a private constant of the required value within the custom code instead. |
1216 | Assignation of non-existent Adobe Commerce constant | Consider introducing and using a private constant of the required value within the custom code instead. |
1312 | Imported non-existent Adobe Commerce interface | Consider removing the inheritance or replacing it with the interface introduced in the scope of the customization. |
1314 | Used non-existent Adobe Commerce interface | Consider removing the inheritance or replacing it with the interface introduced in the scope of the customization. |
1317 | Inherited non-existent Adobe Commerce interface | Consider removing the inheritance or replacing it with the interface introduced in the scope of the customization. |
1318 | Implemented non-existent Adobe Commerce interface | Consider removing the inheritance or replacing it with the interface introduced in the scope of the customization. |
1410 | Call non-existent Adobe Commerce method | Update code to use a class marked as @api . |
1514 | Using non-existent Adobe Commerce property | Update code to use a class marked as @api . |
1515 | Overriding non-existent Adobe Commerce property | Update code to use a class marked as @api . |
1516 | Assignation of non-existent Adobe Commerce property | Update code to use a class marked as @api . Update the property access level to private if it can be used within a single class only. |
5002 | The opening PHP tag must be the first content in the file | Ensure there is no content in the file before the PHP opening tag. |
5003 | Function has been deprecated | Use a replacement suggested in the error message. If the message does not suggest a replacement, a close review is needed to select an alternative function or implementation. |
5005 | PHP syntax error | The code must be updated to comply with the PHP syntax standards. |
5072 | Possible Magento 2 design violation. Detected a typical Magento 1.x construction | Update construction to Magento 2 standards. |
5076 | Cannot use in namespace as it is reserved since PHP 7 | Replace the reserved word in the namespace with a non-reserved keyword. |
5077 | Cannot use as class name as it is reserved since PHP 7 | Replace the reserved class name with a non-reserved name. |
DB Schema
DB Schema critical issues are reported if removed core tables or columns are referenced by custom constraints.
GraphQL Schema
GraphQL Schema critical issues are raised if the schema items are not present in the target version.
Errors
Custom code
Custom code errors are raised when custom code is using the Adobe Commerce entry points that are not considered/marked as @api
. The preserved behavior of such entry points is not guaranteed. The customization should rely on @api
entry points instead. The functionality that is based on non-API Adobe Commerce code should be tested after the upgrade. These errors are also reported when major coding standards have been broken.
@api
may be changed. Consider updating the code to rely on the interface marked as @api
instead. Otherwise, the functionality relying on this implementation should be tested after the upgrade.@api
.@api
. Otherwise, the functionality relying on this implementation should be tested after the upgrade.@api
. Otherwise, the functionality relying on this implementation should be tested after the upgrade.@api
. Otherwise, the functionality relying on this implementation should be tested after the upgrade.@api
may be changed. Consider introducing and using a private constant of the required value within the custom code instead.@api
may be changed. Consider introducing and using a private constant of the required value within the custom code instead.@api
may be changed. Consider introducing and using a private constant of the required value within the custom code instead.@api
may be changed. Consider removing this inheritance or replacing it with inheritance from the Adobe Commerce interface that is marked as @api
or an interface introduced in the scope of customization code.@api
may be changed. Consider removing this inheritance or replacing it with inheritance from the Adobe Commerce interface that is marked as @api
or an interface introduced in the scope of customization code.@api
may be changed. Consider introducing and using a private constant of the required value within the custom code instead.@api
may be changed. Consider removing this inheritance or replacing it with inheritance from the Adobe Commerce interface that is marked as @api
or an interface introduced in the scope of customization code.@api
may be changed. Consider updating the code to rely on the interface marked as @api
instead. Otherwise, the functionality relying on this implementation should be tested after the upgrade. Also, the recommended way of retrieving an instance of the class is using DI. Consider using a factory if a new instance of the class is required.@api
may be changed. Consider updating the code to rely on the interface marked as @api
instead. Otherwise, the functionality relying on this implementation should be tested after the upgrade.@api
or are not declared within API class/interface may be changed. Even if the interface of the method is not updated in the new version, its behaviour or output can be different. Consider relying on an interface method. Otherwise, the functionality relying on this implementation should be tested after the upgrade.@api
may be changed. Consider relying on the API interface method instead.@api
may be changed. Consider relying on the API interface method instead.@api
may be changed. Consider relying on the API interface method instead.@vars
comment block contains invalid JSON@vars
comment block contains invalid label@vars
comment block is missing a variable used in the template"active"
attribute is obsolete<param>
node is obsolete<argument name="..." xsi:type="...">
instead.<instance>
node is obsolete<argument name="..." xsi:type="object">
instead.<array>
node is obsolete<argument name="..." xsi:type="array">
instead.<item key="...">
node is obsolete<item name="..." xsi:type="...">
instead.<value>
node is obsolete<supported_blocks>
<supported_containers>
.<block_name>
<container_name>
."text/javascript"
type attributeBlock
class is obsolete in phtml templatesgetConnection()
method instead.Zend_Db_Select
is restricted\Magento\Framework\DB\Select
.Zend_Db_Adapter_Pdo_Mysql
is restricted\Magento\Framework\DB\Adapter\Pdo\Mysql
.Magento\Framework\Serialize\Serializer\Serialize
is restrictedMagento\Framework\Serialize\SerializerInterface
.ArrayObject
is restrictedArrayObject
with overwritten serialize/unserialize methods.Magento\Framework\View\Element\UiComponent\ArrayObjectFactory
is restrictedArrayObject
with overwritten serialize/unserialize methods.output="toHtml"
is obsoleteoutput="1"
.\Magento\Framework\View\Element\Text\ListText
is not supposed to be used in layout anymore\Magento\Framework\View\Element\Text\ListText
from layout.<action>
is not allowed<action>
.helper
attribute contains /
/
from helper attribute.helper
attribute does not contain ::
::
to helper attribute.{{htmlescape}}
is obsolete{{var}}
instead.{{escapehtml}}
is obsolete{{var}}
instead.getChildHtml()
getChildHtml()
.getChildHtml()
getChildHtml()
.final private
foundfinal private
to only private
.__set_state
is not defined as static
__set_state
must be defined as static
.__toString()
method not inheriting from Stringable
interfaceStringable
interface to class with __toString()
method.is_resource()
method used for functions that now return Objectis_resource()
to instanceof
Object.jQuery.andSelf()
removedjQuery.addBack()
.$.bind
and $.unbind
are deprecated$.on
and $.off
instead..on("event name", fn)
method instead to subscribe to that event..trigger("event name")
method instead to trigger that event.$.delegate
and $.undelegate
are deprecated$.on
and $.off
instead.jQuery.load()
/ jQuery.unload()
/ jQuery.error()
) was removed.on("load", fn)
/ .on("unload", fn)
/ .on("error", fn)
) instead.jQuery.size()
removedjQuery.length
.jQuery.trim
is deprecatedString.prototype.trim
.addButton
, addContextToolbar
, addMenuItem
, addSidebar
, file_browser_callback
, insert_button_items
, ‘inlite’ theme, ‘mobile’ theme, ‘modern’ theme) is removedjQuery.isFunction()
is deprecatedjQuery.type()
is deprecatedjQuery.isArray()
is deprecatedjQuery.parseJSON()
is deprecatedjQuery.expr[":"]
, jQuery.expr.filters
) is deprecatedDB Schema
DB Schema errors are raised if the database tables, columns, indexes or constraints, added or removed in the target Adobe Commerce version, may result into conflicts with custom database schema.
Warnings
Core code
These warnings are reported when there are minor inconsistencies in the core codebase.
composer update <package_name>
.Custom code
Custom code warnings are raised when the references to deprecated code are detected. Such references should be replaced with the supported extension points. Pay attention to the @see
annotation of deprecated item for recommendations. These errors are also reported when minor coding standards have been broken.
@deprecated
class@api
.@deprecated
class@api
instead.@deprecated
class@api
instead.@deprecated
class@api
instead.@deprecated
constant@api
or a private constant within your implementation instead.@deprecated
constant@api
or a private constant within your implementation instead.@deprecated
constant@api
or a private constant within your implementation instead.@deprecated
interface@api
instead.@deprecated
interface@api
instead.@deprecated
interface@api
or an interface introduced within your implementation instead.@deprecated
interface@api
or an interface introduced within your implementation instead.@deprecated
method@deprecated
property@deprecated
property@deprecated
propertygetResource()
to (save / load / delete) data detected.GraphQL Schema
GraphQL Schema warnings are raised when the additional items are added to the schema in the new version. It is recommended to review the implementation to see if they should be used for requests.