Area: Optimizely Commerce
Applies to versions: 10

Breaking changes in Commerce 10

Recommended reading 

This topic describes breaking changes for Episerver Commerce in relation to the previous major version (9), and the steps needed to update affected code. To view the complete list of changes, see release notes.

Some changes are binary breaking but do not necessarily require code changes but rather just a recompilation of the project. Breaking changes are changes in method signatures or behavior of methods compared to the documented API in the previous version. These APIs are described below.

Types removed from public API

The following types, intended for internal use in the Episerver Commerce UI, are removed from the public API:

  • EPiServer.Business.Commerce.Providers.ProductSearchProvider
  • EPiServer.Business.Commerce.Providers.ProductSearchProviderBase
  • EPiServer.Business.Commerce.Providers.ProtectedProductSearchProvider
  • EPiServer.Commerce.Catalog.CatalogMetadataExtender
  • EPiServer.Commerce.Marketing.PromotionDataMetadataExtender
  • EPiServer.Commerce.SpecializedProperties.DictionarySelectionFactory

Since these types were never intended to be exposed and used directly in implementations, no replacements exist.

EPiServer.Shell moved to EPiServer.CMS.UI.Core

In CMS 10, EPiServer.Shell.dll was moved from NuGet package EPiServer.Framework to EPiServer.CMS.UI.Core (see CMS-1380). This might affect Commerce Manager sites where EPiServer.CMS.UI.Core is not installed.

If you get an error message saying Value cannot be null.Parameter name: virtualPath]in EPiServer.Shell.ShellInitialization.WaitForInitializeModules()..., remove the EPiServer.Shell.dll from the site bin folder.

If you have both EPiServer.Framework to EPiServer.CMS.UI.Core installed, no change is required.

Do you find this information helpful? Please log in to provide feedback.

Last updated: Oct 24, 2016

Recommended reading