Upgrading to Commerce 10
Episerver Commerce 10 is, as the version number denotes, a new major version containing some incompatible API changes. This upgrade to Commerce 10 is small, and mainly contains removing a set of types from the public to the internal API.
Refer to Breaking changes in Episerver Commerce 10 for a complete list of changes.
What is a breaking change?
A breaking change is a change that might cause other components to fail. When a breaking change is done to the signature of a method/class/interface, the old signature is often kept intact but set as obsolete and may cause a warning message in Visual Studio. As long as the Visual Studio project setting "Treat Warnings as Errors" is not enabled in Visual Studio, you can postpone fixing these warnings to a later time.
Classes that expose constructors that take dependencies are normally deleted without an obsolete warning in major releases, since the compiler gives enough information about what to change. Keeping them makes dependency injection complex since there are multiple constructors to choose from that, over time, might or might not overlap.
In each major version, old 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 make sure all warning messages are fixed before upgrading to a major version.