Episerver Commerce 12 is, as the version number denotes, a new major version containing some incompatible API changes. See also: Commerce 12 release.
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.
Last updated: Mar 01, 2018