Upgrading to Commerce 11
Episerver Commerce 11 is, as the version number denotes, a new major version containing some incompatible API changes.
This upgrade to Commerce 11 includes improved home category handling for entries, improved API for relations and associations, catalog import handling of cleared fields consistent with the API, implementation of the IShippingGateway and IShippingPlugin, and the removal of old Asset Management system.
Refer to Breaking changes in Episerver Commerce 11 for a complete list of changes.
What is a breaking change?
A breaking change is one that might cause other components to fail. When a breaking change is made to the signature of a method/class/interface, the old signature is often kept intact but set as obsolete and may cause a warning in Visual Studio. As long as the Visual Studio project setting "Treat Warnings as Errors" is disabled in Visual Studio, you can postpone fixing these warnings.
Classes that expose constructors which take dependencies are normally deleted without an obsolete warning in major releases, since the compiler gives enough information about what to change. Keeping them complicates dependency injection, since there are multiple constructors to choose from which, over time, might or might not overlap.
In each major version, obsolete methods are removed permanently to make sure that the API is kept clean and usable over time. So, even if you can postpone fixing warning messages, it is good practice to fix all warning messages before upgrading to a major version.