2026 Commerce Connect 15 release notes
5 min
Subscribe to updates on this page using the notification and RSS feed options. Product packages are found on the Optimizely NuGet server.
November
EPiServer.Commerce 15.5.0
Enhancements
- Added a Search in menu to the order, cart, and subscription lists, which limits a search to selected fields. Searching one field instead of all three returns results faster on sites with many orders. The OrderSearchFilter.SearchFields property sets the same fields in code. See Find orders for information.
- Replaced the Spreedly iFrame with the Spreedly Checkout SDK, which uses signed authentication and supports 3-D Secure (3DS). Spreedly is deprecating the iFrame form, so update your checkout integration to the SDK. See Configure Payment Service for information.
- Removed the SetupPaymentService extension method, because Payment Service provisioning no longer uses it. Remove any call to app.SetupPaymentService() from your startup code. See Configure Payment Service for information.
Bug fixes
- COM-19190 – Fixed the issue where Discount Priorities and Exclusions listed an excluded item as undefined. This happened when a promotion excluded an item that no longer resolved to content.
- COM-19759 – Fixed the issue where saving a promotion failed validation when its exclusion list named the same campaign or promotion twice. The exclusion list now accepts duplicate entries.
- COM-22014 – Fixed the issue where catalog entry relation changes did not reach Optimizely Graph until the next full synchronization. Associations, additional categories, and parent relations now synchronize in real time.
- COM-22570 – Fixed the issue where a database commit that threw an exception left its connection and transaction open. Commerce now rolls back and disposes the remaining transactions when a commit fails.
Optimizely.Commerce.Mark.Tools 2.1.0
Enhancements
- Renamed the package from Optimizely.Commerce.Opal.Tools to Optimizely.Commerce.Mark.Tools. The old package is deprecated. Update your package references to the new name.
- Added Mark tools for pricing.
EPiServer.CloudPlatform.Commerce 15.1.0
Note
This package depends on EPiServer.Commerce.Azure 15.2.2.
Enhancements
- Updated the EPiServer.CloudPlatform.Commerce package to depend on EPiServer.Commerce.Azure 15.2.2. Projects that reference an earlier version of EPiServer.Commerce.Azure must update the reference to 15.2.2 or later.
Bug fixes
- COM-22521 – Fixed the issue where the default search provider on a DXP site was always DXPLuceneAzureSearchProvider, even when DefaultSearchProvider in appSettings.json was set to CommerceGraphSearchProvider. The Catalog Index page now shows the configured provider.
- COM-22550 – Fixed the issue where a project could still restore EPiServer.CloudPlatform.Commerce 15.1.0 with EPiServer.Commerce.Azure 15.2.1, although the package requires EPiServer.Commerce.Azure 15.2.2 or later.
October
Enhancements
- Added the Product Catalog Auditor agent, which scans products and variants in Commerce Connect for data inconsistencies, missing attributes, and publishing gaps. This helps you fix catalog defects before products reach live storefronts.
September
Optimizely.Commerce.Opal.Tools 2.0.0
Enhancements
- Added access rights to the Commerce tools in Mark (Optimizely Agent Platform), which now return only what the signed-in user can view and change. Each tool checks the roles in CommercePolicyOptions and the item's own access rights, so Mark results match the Commerce UI. See Get started with Optimizely Mark tools.
EPiServer.Commerce 15.2.0
Enhancements
- Added diagnostic logging to the Optimizely Data Platform (ODP) export job, which makes export problems easier to diagnose. The job now records the site and markets covered, matching record counts, and any skipped step. See Commerce Connect + ODP.
- Removed the Generate Text AI option from the catalog content editor, because it did not use Mark. The OptiGPTOptions configuration section is no longer used. See Optimizely Mark chat for Optimizely Commerce Connect.
Bug fixes
- COM-20842 – Fixed the issue where users could download exported catalog files they had no access rights to. Commerce now hides the download and delete actions when the user lacks read or delete access.
- COM-20842 – Fixed the issue where you could not delete a catalog after moving its nodes with linked relations to another catalog. Moving a node now updates the catalog reference on its linked relations.
- COM-20842 – Fixed the issue where deleting a user took several minutes and returned a server error in the browser. The delay occurred when Delete content access rights and Delete permissions to functions were both selected.
- COM-20842 – Fixed the issue where GetDiscountPrices resolved entry codes one at a time, slowing pages that list many discounted products. The method now resolves all codes in one batch.
- COM-20842 – Fixed the issue where a new Commerce 15 project crashed at startup unless you manually referenced EPiServer.Events.ChangeNotification. The Commerce package now declares that dependency.
- COM-20842 – Fixed the issue where WidgetService.CreateWidgets and GetWidgets threw an exception on Commerce 15 whenever the response contained a widget. This prevented recommendation widget setup on all 15.x versions.
EPiServer.Commerce 15.1.1
Bug fix
- COM-22241 – Fixed the issue where ContentArea values on catalog content loaded empty after upgrading from Commerce 14 to Commerce 15.
August
EPiServer.Commerce 15.1.0
Enhancements
- Added aggregation of values from a product's linked variations into its ProductContent in Optimizely Graph, so a single product query returns data aggregated across all of the product's variants. See Index variants in a product document in Optimizely Commerce Connect for information.
Bug fixes
- COM-21603 – Fixed the issue where the pricing and inventory editor did not scroll when adding a new price or inventory. The Save and Cancel buttons are now reachable without zooming out.
- COM-21719 – Fixed the issue where price changes on a catalog entry were not synchronized to Optimizely Graph. New, edited, and deleted prices now appear in Graph immediately.
- COM-21813 – Fixed the issue where the CommerceTrackingAttribute processed tracking after the controller action finished. All recommendations now apply when the action runs.
- COM-21857 – Fixed the issue where order data did not sync to Optimizely Data Platform (ODP). Order search treated a whitespace site ID as a value and returned no orders.
- COM-21891 – Fixed the issue where saving a price on a variant did not work when a matching price already existed. The two prices differed only by the time portion of their applied-on date.
July
EPiServer.Commerce 15.0.2
Bug fixes
- COM-21880 – Fixed an issue where personalization did not apply to content in content areas on categories, variants, bundles, and packages. Publishing a product also no longer removes personalization from the content.
June
EPiServer.Commerce 15.0.1
Bug fixes
- COM-21667 – Fixed an issue where shipping method parameters with different names but the same value were incorrectly rejected as duplicates in the Commerce admin UI.
- COM-21699 – Fixed a database migration failure that occurred when the database collation differed from the server collation.
- COM-21743 – Fixed the Failed to process your payment checkout failure with 3D Secure (3DS) payments.
- COM-21760 – Fixed a performance issue where Commerce UI module builds unnecessarily reprocessed unchanged .zip files in modules\_protected, increasing build times on sites with large module directories.