Dev GuideAPI Reference
Dev GuideAPI ReferenceUser GuideGitHubNuGetDev CommunityOptimizely AcademySubmit a ticketLog In
Dev Guide

New in Commerce Connect 15

Overview of what is new in Optimizely Commerce Connect 15, including platform modernization, async order APIs, and legacy infrastructure cleanup.

Commerce Connect 15 modernizes the commerce platform to align with Optimizely CMS 13 and .NET 10. The release introduces async order repository APIs, consolidates the Optimizely Graph integration, and migrates fully to System.Text.Json. Commerce Connect 15 also removes legacy infrastructure obsolete since Commerce Connect 13 and 14.

Platform requirements

Commerce Connect 15 has the following requirements:

  • .NET 10 – The target framework moves from net6.0 to net10.0. Update your .csproj files, Docker base images, and CI/CD pipelines accordingly.
  • Optimizely CMS 13.0.0 – Commerce Connect 15 depends on CMS 13.0.0 or later. CMS 13 introduces its own set of significant changes, including mandatory Opti ID and Optimizely Graph components. See CMS 13 breaking changes for details.
⚠️

Important

Upgrading to Commerce Connect 15 requires upgrading to CMS 13 at the same time. Plan your upgrade to address breaking changes from both CMS 13 and Commerce Connect 15 together.

Async order repository

Commerce Connect 15 introduces async versions of all IOrderRepository methods, enabling non-blocking I/O for order operations. This is the largest API addition in the release.

The following async methods are available on IOrderRepository:

MethodDescription
CreateAsync<T>(Guid, string, CancellationToken)Create an order group asynchronously
LoadAsync(OrderReference, CancellationToken)Load an order group by reference
LoadAsync<T>(int, CancellationToken)Load a typed order group by ID
LoadAsync<T>(Guid, string, CancellationToken)Load order groups by customer and name
SaveAsync(IOrderGroup, CancellationToken)Save an order group
SaveAsPurchaseOrderAsync(IOrderGroup, CancellationToken)Convert and save a cart as a purchase order
SaveAsPaymentPlanAsync(IOrderGroup, CancellationToken)Convert and save a cart as a payment plan
DeleteAsync(OrderReference, CancellationToken)Delete an order group

Async APIs are also available on IPurchaseOrderRepository, IOrderProvider, ICartProvider, and IPaymentPlanProvider.

The synchronous methods remain available for backward compatibility, but new implementations should prefer the async versions:

// Synchronous (still works)
var cart = _orderRepository.Load<ICart>(orderGroupId);
_orderRepository.Save(cart);

// Async (recommended for new code)
var cart = await _orderRepository.LoadAsync<ICart>(orderGroupId, cancellationToken);
await _orderRepository.SaveAsync(cart, cancellationToken);

Optimizely Graph Commerce

Commerce Connect 15 restructures the Optimizely Graph integration. This change aligns with CMS 13. In CMS 13, Optimizely Graph is mandatory for content indexing, preview, and delivery.

System.Text.Json migration

Commerce Connect 15 completes the migration from Newtonsoft.Json to System.Text.Json, matching the change in CMS 13. All internal JSON converters are rewritten. Update your custom JSON converters to use System.Text.Json types if they extend the Commerce Connect serialization pipeline.

If your project depends on Newtonsoft.Json for other purposes, add an explicit package reference. Commerce Connect 15 no longer includes it as a transitive dependency.

PCI DSS compliance

Commerce Connect 15 removes credit card data storage APIs to enforce PCI DSS compliance. Removed APIs include the ICreditCardPayment interface, the CreditCard class, and related customer contact methods and database objects.

Implementations must use PCI-compliant tokenized payment solutions through third-party payment providers (for example, Stripe, Adyen, PayPal). Store only payment tokens and provider transaction IDs using the IPayment interface. See Breaking changes for other details.

Legacy infrastructure cleanup

Commerce Connect 15 removes legacy infrastructure that was marked obsolete in prior versions. This cleanup reduces the API surface, simplifies the codebase, and removes security risks such as BinaryFormatter serialization.

Key removals include the following:

  • Workflow engine – The Mediachase.Commerce.Workflow project and the ActivityFlow engine infrastructure are removed. Order processing must use the processor-based APIs such as IPaymentProcessor, IPurchaseOrderProcessor, and IShipmentProcessor.
  • Legacy discount classes – The Mediachase.Commerce.Orders.Discount class hierarchy and related collections are removed. Use IPromotionEngine for all promotion and discount operations.
  • Obsolete APIs – Over 50 methods and classes deprecated between 2018 and 2021 are removed across the catalog, order, and customer systems.

For the complete list of breaking changes and migration guidance, see Breaking changes in Commerce Connect 15.

Learn more