---
title: Breaking changes for Commerce Connect 14
slug: commerce-connect-14/docs/breaking-changes-for-commerce-14
docTags: 
createdAt: 2026-07-23T10:25:34.370Z
---

## Commerce Admin user interface replaces Commerce Manager

The Commerce Administration view is an administrative application replacing the legacy Commerce Manager administration backend system. The new user interface provides a unified and improved user experience.

The Admin view provides support for working with markets, warehouses, catalog indexing, tax configuration, shipping, and payments.

Due to the removal of Commerce Manager, ​the following tasks are now managed through the API:

- [Import and export catalogs](docId\:ABqmNuS1TEDYXBaDnczVC).
- [Add countries and regions](docId\:eFEEMsGwuxOrtu5CqHDQL).
- [Add currencies](docId:_S05BcoByPV1IV-ajo0ta).
- [Work with business objects](docId\:o7CNk7Qh3t2US0eDTRN--).
- [Work with catalog and order meta classes fields](docId:2HmUQGZOoQW7qzTYMGP-V).

The Mediachase.BusinessFoundation assembly was also removed as it was mainly used to support Commerce Manager.

## Configurations

Support for the various configuration files in the **Configs** project folder was removed. The functionality was replaced with the use of Options classes, where you can configure settings in the appSettings file or use the ConfigureServices of the Startup class to override default values for Options. This provides a unified way of [configuration methods in ASP.NET Core](https://learn.microsoft.com/en-us/aspnet/core/fundamentals/configuration/options?view=aspnetcore-5.0). See [Option configuration classes](docId\:oG79OqvngKq53WztHiQjk).

## Membership Provider not supported

The support for ASP.NET Membership Provider was removed. Only [ASP.NET Identity Provider](https://learn.microsoft.com/en-us/aspnet/identity/overview/getting-started/introduction-to-aspnet-identity) is supported for Optimizely Commerce Connect. See [Security](docId\:cV2u0yfIpTkmDxl74uXsz) and [Migrating from SQL membership to ASP.NET identity](https://world.optimizely.com/blogs/K-Khan-/Dates/2017/10/migrate-from-sql-membership-to-asp-net-identity/).

## Payments

Mediachase.Commerce.Plugins.Payment was removed because it does not support AuthorizeNet. The library is no longer supported in ASP.NET Core.

Support for [payment providers](docId:9LdmGdWgw_fONYhHQyFGe) PayPal, DIBS, Datacash, and gift card was removed. The CreatedCardPayment class was marked as obsolete and will be removed later. It is strongly recommended that you adopt a PCI-compliant solution for managing payments in your project.

## Solr search providers not supported

Support for Mediachase.Search.Solr35SearchProvider and Mediachase.Search.SolrSearchProvider packages has been removed. As a replacement, you can use the LuceneSearchProvider or FindSearchProvider. There is in-built support for FindSearchProvider in the Optimizely DXP cloud service environments. See [Search](docId\:OYwtDKcdLH47_o4LHNkaV).

## OleDb import parser removed

The Mediachase.MetaDataPlus.Import.Parser.OleDbIncomingDataParser has been removed, and parsing of files using OleDb connection is not supported. CSV and XML data parsers are still supported.

## UserTimeZone not supported

The UserTimeZone functionality was removed from Mediachase.BusinessFoundation.Data to avoid dependency on Windows OS.

## Webservice support for catalog system removed

You can no longer access the Catalog subsystem through web service calls.

## Synchronous execution of events

The following changes were done:

- ReportingOrderEventListener executes the listeners synchronously.
- On MetaDataChanged events, the synchronization with the content type model repository is done synchronously.

## Binary serialization not supported for ASP.NET Core types

Some ASP.NET Core built-in types are no longer[ binary serializable](https://learn.microsoft.com/en-us/dotnet/standard/serialization/binary-serialization#net-core). NumberFormatInfo is one example. Since serializable Commerce Connect types like Money and Currency use NumberFormatInfo, these also become unserializable. This is considered a breaking change for solutions that rely on binary serialization of these types, meaning that probably SerializationExceptions is thrown.

## Promotion engine unit-level exclusions

Starting with EPiServer.Commerce 14.47.0, the promotion engine applies promotion exclusions differently when `PromotionEngineSettings.ExclusionLevel` is set to `ExclusionLevel.Unit`. Order totals may change for sites with unit-level exclusions. Review your promotions and custom promotion code before you upgrade. See [Promotion exclusions](https://docs.optimizely.com/commerce-connect-14/docs/promotion-exclusions#unit-level-exclusion).

The following behavior changes apply:

- Exclusions are applied the same way regardless of which promotion carries the exclusion. An exclusion means two promotions must not apply to the same unit, regardless of the direction in which it is configured. One-way exclusions now apply the excluded promotion to the units left by the excluding promotion. Previously, the excluded promotion was not applied to those units. Two-way exclusions are not affected.
- An entry-level promotion that conflicts with an applied order-level or shipping-level promotion is excluded in full, regardless of the exclusion direction. An order or shipping promotion discounts the order or shipment as a whole and has no units to share. Previously, the entry-level promotion was applied anyway.
- A promotion consumes the units that fulfill its condition, not just the units it reprices. For example, a *buy three, get ten percent off one* promotion on a line item with ten units leaves seven units for excluded promotions, rather than nine.
- *Buy quantity get free items*, *cheapest free*, and *most expensive free* promotions no longer use units consumed by an excluding promotion to fulfill its condition, or units targeted by an excluding spend amount promotion. Custom processors derived from `GetFreeItemsProcessorBase` receive only the codes with units remaining in `GetAffectedEntries`, and are asked for fewer batches when fewer units remain.
- Every entry-level promotion returns the same result when the promotions that exclude it leave it no units: a fulfilled reward with a single redemption and the `FulfillmentStatus.Excluded` status. Previously, `BuyOneGetOneDiscount` returned a reward with that status and no redemption. `RewardApplicatorBase<TAffectedObject>` no longer marks an excluded redemption of a gift reward as fulfilled. When called directly for a promotion excluded at the order level, free item processors now return a reward with the `FulfillmentStatus.Excluded` status instead of an empty fulfilled reward.
- `OrderFormPriceMatrix.IsDoubleExclusion` is obsolete because the exclusion direction no longer selects between two algorithms. Use `OrderFormPriceMatrix.IsExcluded` instead, which treats one-way and two-way exclusions alike.

## Removed APIs

- Mediachase.Commerce.Engine.Template and Mediachase.Commerce.Engine.Image have been removed.
- Since HttpModules are not supported in .NET core. EPiServer.Business.Commerce.HttpModules.ProfileModule has been removed.
- The upgrading migration steps MigrateAdminsRoleStep, PopulateUserPermissionStep, and UpdateContactUserIdStep were removed, and you should upgrade your solution to Commerce version 13 before upgrading to version 14.

## Upgrading support

To make upgrading easier, there is an upgrading tool available. See the [Upgrade assistant article](docId\:kIE_2cy5bUjS82B_PBkgH).
