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

Preview 1 release notes for Commerce Connect 15 pre-release

Explore detailed release notes for features in Commerce Connect 15 pre-release preview 1, including platform modernization, async APIs, and legacy cleanup.

Commerce Connect 15 pre-release preview 1 is the first preview of the Commerce Connect 15 major release. It introduces platform modernization to .NET 10 and CMS Content Management System (CMS 13), async order APIs, System.Text.Json migration, and legacy infrastructure removal.

🚧

Important

Preview 1 is a pre-release version intended for early evaluation and upgrade planning. APIs and behaviors may change before general availability. Do not use pre-release versions in production environments. Pin your package references to the exact preview version to avoid unintended updates.

Summary of changes by area

Platform and framework

Updated the platform foundation to align with CMS 13 and modern .NET:

  • Updated the target framework from net6.0 to net10.0 (.NET SDK 10.0.100).
  • Updated the CMS dependency from CMS 12 to CMS 13.0.0, which includes mandatory Opti ID and Optimizely Graph components. See the CMS 13 pre-release documentation for details.
  • Adapted Commerce Connect to CMS 13 breaking changes, including SiteDefinition to Application model, ContentTypeModelRepository to IContentTypeModelRepository, Event to EventRegistry, ScheduledPlugInAttribute to ScheduledJob, and removal of IVirtualPathResolver.
  • Updated the Commerce database version to 12.0.0 with upgrade scripts for preview 1.
  • Replaced deprecated SQL Server data types.

Async order repository

Added async versions of all order repository methods, enabling non-blocking input/output throughout the order processing pipeline. Async methods let you improve application throughput and responsiveness during order operations by avoiding thread-blocking database calls.

  • Added CreateAsync, LoadAsync, SaveAsync, DeleteAsync, SaveAsPurchaseOrderAsync, and SaveAsPaymentPlanAsync to IOrderRepository.
  • Extended async support to IPurchaseOrderRepository, IOrderProvider, ICartProvider, and IPaymentPlanProvider.
  • Added async infrastructure through DataProvider, SqlDataProvider, DataService, DBHelper, MetaDataPlusDatabase, and MetaObject.
  • Retained synchronous methods for backward compatibility.

Optimizely Graph Commerce

Restructured and consolidated the Optimizely Graph integration for Commerce Connect. The single-package integration simplifies dependency management and makes it easier to index and query catalog content through Optimizely Graph.

  • Consolidated the Graph Commerce integration into a single Optimizely.Graph.Commerce package at the root of the solution.
  • Added catalog content indexing support with schema extenders for Product, Variant, Package, and DynamicPackage content types.
  • Added warehouse inventory mapping for Graph-indexed catalog content.
  • Added CommerceIndexingRoot and CommerceTypeBase for catalog content type registration with Graph.
  • Added ServiceCollectionExtensions for Graph Commerce dependency injection registration.

JSON serialization (System.Text.Json migration)

Migrated from Newtonsoft.Json to System.Text.Json. System.Text.Json provides better performance, lower memory allocation, and built-in framework support, reducing external dependencies for Commerce Connect projects.

  • Removed the Newtonsoft.Json package dependency. If your project still requires it for other purposes, add an explicit package reference.
  • Rewrote existing Commerce JSON converters for System.Text.Json: MarketConverter, CustomerPricingConverter, ItemCollectionConverter, HashTableJsonConverter, MarketIdConverter, and MoneyConverter.
  • Added System.Text.Json converters for order serialization: OrderGroupConverterFactory, SerializableCartConverter, SerializableLineItemConverter, SerializableOrderFormConverter, SerializableShipmentConverter, InterfaceCollectionConverter, and OrderReferenceConverter.
  • Added System.Text.Json converters for the Commerce Connect shell: CommerceBlockDataConverterFactory, SafeJsonElementConverter, SystemTextContentReferenceConverter, and SystemTextSettingsDictionaryJsonConverter.
  • Added PropertyGuidListSystemTextJsonConverter and PropertyMoneyListSystemTextJsonConverter for specialized property types.

Security and compliance

Removed legacy security risks and enforced Payment Card Industry Data Security Standard (PCI DSS) compliance. These changes reduce the attack surface of Commerce Connect applications and help you meet current payment industry security standards.

  • Removed BinaryFormatter serialization (SqlHelper.Serialize/Deserialize and all [Serializable] constructor patterns with SerializationInfo/StreamingContext).
  • Removed ICreditCardPayment interface, CreditCard class, CreditCardEntity, eCreditCardType enum, and all customer contact credit card methods and database objects.
  • Removed Membership provider support. Use ASP.NET Core Identity instead.

Order and payment processing

Removed legacy order processing infrastructure.

  • Removed the entire Mediachase.Commerce.Workflow project and assembly, including all workflow activities and the ActivityFlow engine.
  • Removed legacy discount classes: Discount, LineItemDiscount, OrderFormDiscount, ShipmentDiscount, and their collection classes.
  • Removed the IOrderGroup.Market property. Use IMarketService.GetMarket(orderGroup.MarketId) instead.
  • Removed ILineItemInventory interface.
  • Removed obsolete LineItem properties: MinQuantity, MaxQuantity, ListPrice, ShippingAddressId, ShippingMethodName, and others.
  • Removed PurchaseOrderManager.AddLineItemToShipmentDetectedByLineItemShipmentInfo.
  • Removed OrderSearchFilter.MarketId. Use OrderSearchFilter.MarketIds instead.
  • Removed OrderStatusManager.IsOrderPaid. Use IPurchaseOrder.IsPaid() instead.

Catalog system

Removed obsolete catalog APIs and infrastructure.

  • Removed CatalogLogAdmin, CatalogLogManager, and CatalogLogDto (obsolete catalog logging).
  • Removed ContentGuidAdmin from the public namespace (internal version remains).
  • Removed merchant functionality, including CatalogEntryManager.GetMerchants() and related database objects.
  • Removed TemplateName from CatalogEntryDto and CatalogNodeDto.
  • Removed multiple obsolete ICatalogSystem.GetCatalogEntriesDto overloads.
  • Removed IInventoryService.List() method.
  • Replaced EnsureDraftsInAllLanguages with EnsureVersionForMasterLang. Commerce Connect 15 creates a draft in only the master language, reducing draft volume and improving content loading performance on multilingual sites.

Customer system

Removed obsolete customer system utilities.

  • Removed EPiServer.Business.Commerce.CookieHelper static class. Use ASP.NET Core cookie APIs through IHttpContextAccessor.
  • Removed Mediachase.Commerce.Engine.Events.EventCollection and Mediachase.Commerce.Engine.Events.EventDefinition configuration classes.

Infrastructure and utilities

Removed obsolete infrastructure APIs and utilities.

  • Removed SiteId from Mediachase.Commerce.Orders.Dto.TaxDto and tax value operations.
  • Removed Mediachase.BusinessFoundation.Data.McXmlSerializer methods with extraTypes parameter.
  • Removed EPiServer.Commerce.Extensions.StringExtensions.JavascriptEncode and ToJavaScriptEncoded.

Commerce shell and UI

Updated the Commerce Connect editing user interface (UI) to align with CMS 13 shell.

  • Adapted catalog UI for CMS 13 global toolbar changes: breadcrumb, asset button, and list view column positioning.
  • Fixed the catalog filter, archive feature, language selector, and view switching issues for CMS 13 compatibility.
  • Updated marketing UI: discount priority view, campaign filter, scroll behavior, and decimal editing.
  • Updated Customer Service module: custom views and user group management.
  • Replaced FormEdit with product workflow.
  • Removed the duplicate translation option and the Options/Publish drop-down list from catalog and category lists.

Package version alignment

Commerce Connect 15.0.0-preview1 requires CMS 13.0.0-preview4 or later. Ensure your CMS packages are at the correct version before upgrading Commerce.