> For the complete documentation index, see [llms.txt](https://docs.umbraco.com/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.umbraco.com/umbraco-commerce/17.latest/release-notes.md).

# Release Notes

Get an overview of the things changed and fixed in each version of Umbraco Commerce.

In this section, we have summarized the changes to Umbraco Commerce released in each version. Each version is presented with a link to the [Commerce issue tracker](https://github.com/umbraco/Umbraco.Commerce.Issues/issues) showing a list of issues resolved in the release. We also link to the individual issues themselves from the detail.

If there are any breaking changes or other issues to be aware of when upgrading they are also noted here.

{% hint style="info" %}
If you are upgrading to a new major version, check the breaking changes in the [Version Specific Upgrade Notes](/umbraco-commerce/17.latest/upgrading/version-specific-upgrades.md) article.
{% endhint %}

## Release History

This section contains the release notes for Umbraco Commerce 17 including all changes for this version.

#### 17.2.7 (5th Oct 2026)

* Fixed payment status refreshing when opening orders. Status changes and extra details from the provider now display correctly [#898](https://github.com/umbraco/Umbraco.Commerce.Issues/issues/898)
* Fix Capture and Cancel Payment being available while an order has unsaved changes, which could charge the saved total instead of the edited one [#897](https://github.com/umbraco/Umbraco.Commerce.Issues/issues/897)
* Fix setting order exchange rates failing on SQL Server with a "too many parameters" error on large stores [#887](https://github.com/umbraco/Umbraco.Commerce.Issues/issues/887)
* Fixed SQL Server "too many parameters" errors on large stores when deleting customer tags, loading customer statistics, or bulk looking up customers

#### 17.2.6 (28th Sep 2026)

* Add notification events for when a Commerce customer is created, updated, or saved, so you can hook into customer changes. For example, to automatically create a linked Umbraco member.

#### 17.2.5 (22nd Sep 2026)

* Fix a SQLite connection setting that combined shared-cache mode with write-ahead logging, which could cause "database table is locked" errors
* Fix shipping rate tables showing a stray blank or plus symbol for empty rate entries

#### 17.2.4 (7th Sep 2026)

* Fix analytics dashboard widgets overlapping when the browser window is resized [#884](https://github.com/umbraco/Umbraco.Commerce.Issues/issues/884)
* Fix custom cart filters registered via `WithCartAdvancedFilters()` being silently ignored [#885](https://github.com/umbraco/Umbraco.Commerce.Issues/issues/885)
* Fix order cleanup failing on SQL Server with a "too many parameters" error on large stores [#887](https://github.com/umbraco/Umbraco.Commerce.Issues/issues/887)
* Fix a crash on the first request after an unattended upgrade [#888](https://github.com/umbraco/Umbraco.Commerce.Issues/issues/888)
* Fix a SQLite migration failure when upgrading a store with existing customer data [#889](https://github.com/umbraco/Umbraco.Commerce.Issues/issues/889)
* Fix discount rule and reward provider setting descriptions not showing in the backoffice [#890](https://github.com/umbraco/Umbraco.Commerce.Issues/issues/890)
* Fix the Variants tab not appearing when the Variants Editor property is inherited through a Content Type Composition [#891](https://github.com/umbraco/Umbraco.Commerce.Issues/issues/891)

#### 17.2.3 (21st Aug 2026)

* Fix a startup crash on large stores during the customer data migration [#883](https://github.com/umbraco/Umbraco.Commerce.Issues/issues/883)
* Fix cart cleanup failing with a foreign key constraint error on large stores [#882](https://github.com/umbraco/Umbraco.Commerce.Issues/issues/882)
* Fix payment provider callback URLs trusting a spoofable `X-Original-Host` header

#### 17.2.2 (17th Aug 2026)

* Fix a backoffice crash when viewing an order linked to a customer by member key or another non-ID reference [#878](https://github.com/umbraco/Umbraco.Commerce.Issues/issues/878)
* Fix data corruption from a discount migration that could invalidate member-group discount rules [#877](https://github.com/umbraco/Umbraco.Commerce.Issues/issues/877)
* Fix missing database indexes causing slow order and order line deletes on large stores [#879](https://github.com/umbraco/Umbraco.Commerce.Issues/issues/879)
* Fix missing price fields in the dynamic shipping rate range editor [#880](https://github.com/umbraco/Umbraco.Commerce.Issues/issues/880)

#### 17.2.0 (12th Aug 2026)

* Add customer management, including customer records, addresses, communication history, and statistics that sync automatically from orders
* Add support for editing an order after it has been finalized and authorized, including changing line quantities, adding or removing lines, and reconciling discount and gift card codes
* Add partial capture support for payment providers, with the authorized and captured amount both shown in the transaction history
* Fix a database migration failure when importing customer records from legacy orders that have no first or last name [#876](https://github.com/umbraco/Umbraco.Commerce.Issues/issues/876)

#### [17.1.12](https://github.com/umbraco/Umbraco.Commerce.Issues/issues?q=is%3Aissue+is%3Aclosed+label%3Arelease%2F17.1.12) (11th Aug 2026)

* Fix email rendering crash when there's no active HTTP request [#872](https://github.com/umbraco/Umbraco.Commerce.Issues/issues/872)
* Fix cart cleanup timing out on stores with a large number of old carts [#874](https://github.com/umbraco/Umbraco.Commerce.Issues/issues/874)

#### [17.1.11](https://github.com/umbraco/Umbraco.Commerce.Issues/issues?q=is%3Aissue+is%3Aclosed+label%3Arelease%2F17.1.11) (7th Aug 2026)

* Fix the Commerce section failing to load on CMS 17.6.0 [#868](https://github.com/umbraco/Umbraco.Commerce.Issues/issues/868)

#### [17.1.9](https://github.com/umbraco/Umbraco.Commerce.Issues/issues?q=is%3Aissue+is%3Aclosed+label%3Arelease%2F17.1.9) (29th Jul 2026)

* Add logging to record why an order is moved to the error status, and when a payment is reset or redirected through a payment provider's cancel or error URL [#866](https://github.com/umbraco/Umbraco.Commerce.Issues/issues/866)

#### [17.1.8](https://github.com/umbraco/Umbraco.Commerce.Issues/issues?q=is%3Aissue+is%3Aclosed+label%3Arelease%2F17.1.8) (27th Jul 2026)

* Fix a second order save being triggered while frozen prices were recalculating, which could cause a concurrency error
* Improve logging when an order calculation fails, so the underlying cause and order details are recorded
* Fix the cart becoming unusable when an order line's product can no longer be found [#863](https://github.com/umbraco/Umbraco.Commerce.Issues/issues/863)
* Fix creating a product picker Data Type failing with a "property editor not found" error
* Fix product attribute and preset changes requiring the Settings section instead of the Commerce section

#### [17.1.7](https://github.com/umbraco/Umbraco.Commerce.Issues/issues?q=is%3Aissue+is%3Aclosed+label%3Arelease%2F17.1.7) (15th Jul 2026)

* Fix cart conversion "Reached Checkout" and "Purchased" totals drifting for past periods [#835](https://github.com/umbraco/Umbraco.Commerce.Issues/issues/835)
* Fix the product picker in the discount rule editor losing store context
* Tolerate legacy member group names in discount rule settings [#839](https://github.com/umbraco/Umbraco.Commerce.Issues/issues/839)
* Raise `CartAbandonedNotification` from the abandoned cart pipeline [#805](https://github.com/umbraco/Umbraco.Commerce.Issues/issues/805)
* Guard against a null content node in `StockPropertyValueConverter` [#848](https://github.com/umbraco/Umbraco.Commerce.Issues/issues/848)
* Fix a crash in the variant picker when a variant has no price [#829](https://github.com/umbraco/Umbraco.Commerce.Issues/issues/829)
* Fix a `NULL dateTimeUtc` error in the transaction activity migration [#831](https://github.com/umbraco/Umbraco.Commerce.Issues/issues/831)
* Preserve the original stack trace on errors surfaced by `PollyExecutionStrategyBase` [#815](https://github.com/umbraco/Umbraco.Commerce.Issues/issues/815)
* Fix `DateTime` settings failing to parse space-separated values
* Reset (rather than cancel) the transaction when a customer abandons checkout [#789](https://github.com/umbraco/Umbraco.Commerce.Issues/issues/789)
* Fix order transaction, export authorization, and top-buyers analytics bugs
* Use the CMS scope in `StoreTelemetryRepository` to avoid querying CMS tables against the Commerce database

#### [17.1.6](https://github.com/umbraco/Umbraco.Commerce.Issues/issues?q=is%3Aissue+is%3Aclosed+label%3Arelease%2F17.1.6) (8th Jul 2026)

* Fix a false-positive "transaction amount changed" exception in `BeginPaymentFormAsync`
* Fix a `NullReferenceException` when using dynamic shipping with no product measurements or no store location
* Fix a `NullReferenceException` when a dynamic shipping rate range provider alias cannot be resolved

#### [17.1.5](https://github.com/umbraco/Umbraco.Commerce.Issues/issues?q=is%3Aissue+is%3Aclosed+label%3Arelease%2F17.1.5) (28th May 2026)

* Fix payment form generation throwing "Order has changed and needs recalculating" exception when a customer is auto-assigned on payment start [#832](https://github.com/umbraco/Umbraco.Commerce.Issues/issues/832)
* Preserve an existing customer reference on the order when a member logs in (only auto-assign when no reference is set)
* Surface `OrderCalculation` on `ShippingProviderContext` so realtime shipping providers can read in-progress totals during recalc [#850](https://github.com/umbraco/Umbraco.Commerce.Issues/issues/850)
* Fix store dashboard order counts and revenue not matching the Analytics page [#840](https://github.com/umbraco/Umbraco.Commerce.Issues/issues/840)

#### [17.1.4](https://github.com/umbraco/Umbraco.Commerce.Issues/issues?q=is%3Aissue+is%3Aclosed+label%3Arelease%2F17.1.4) (14th May 2026)

* Added search notifications events for orders, carts and gift cards [#824](https://github.com/umbraco/Umbraco.Commerce.Issues/issues/824), [#827](https://github.com/umbraco/Umbraco.Commerce.Issues/issues/827)

#### 17.1.3 (26th Feb 2026)

* Make `DiscountRuleContext` and `DiscountRewardContext` constructors public for custom `DiscountsPriceAdjuster` implementations
* Fix transaction fee not being tracked on `AuthorizeTransactionActivity`

#### [17.1.2](https://github.com/umbraco/Umbraco.Commerce.Issues/issues?q=is%3Aissue+is%3Aclosed+label%3Arelease%2F17.1.2) (19th Feb 2026)

* Updated the hashing depth of the realtime shipping rates calculator
* Fixed passing transaction fee on payment authorisation
* Add searching to Gift Cards [#765](https://github.com/umbraco/Umbraco.Commerce.Issues/issues/765)
* Enable cachebusting for backoffice JavaScript assets [#793](https://github.com/umbraco/Umbraco.Commerce.Issues/issues/793)
* Fix shipping and payment buttons in Cart order details [#820](https://github.com/umbraco/Umbraco.Commerce.Issues/issues/820)
* Fix order CSV export [#822](https://github.com/umbraco/Umbraco.Commerce.Issues/issues/822)

#### [17.1.1](https://github.com/umbraco/Umbraco.Commerce.Issues/issues?q=is%3Aissue+is%3Aclosed+label%3Arelease%2F17.1.1) (29th Jan 2026)

* Allow decimal input for percentage property editor [#817](https://github.com/umbraco/Umbraco.Commerce.Issues/issues/817)
* Make `CompactSortableOrderNumberGenerator` and `INodeIdAccessor` public [#819](https://github.com/umbraco/Umbraco.Commerce.Issues/issues/819)

#### 17.1.0 (22nd Jan 2026)

* 17.1.0 stable release

#### 17.1.0-rc1 (8th Jan 2026)

* Implemented new order caching layer with version based expiry for better load balancing support.
* Added support for a refund reason when refunding an order.
* Added Refund Rate analytics widget.
* Added Top 50 Buyers analytics widget.
* Added Low Stock analytics widget.
* Added browser titles to workspaces.
* Added UFM view template support to editable model properties.
* Fixed print templates not rendering if you don't have Settings section permission.
* Fixed variants content endpoints not returning data.

#### 17.0.0 (27th Nov 2025)

* Version 17 final release.

#### 17.0.0-rc1 (04th Nov 2025)

Initial release candidate for Umbraco v17. This release doesn't contain any new features; rather, it's a v17 compatibility release.

* Updated to Umbraco CMS v17.
* Upgraded all third-party dependencies.
* Removed all obsolete code flagged for removal in v17.


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation by asking a question.

Perform an HTTP GET request on the following URL with the `ask` and `goal` query parameters:

```
GET https://docs.umbraco.com/umbraco-commerce/17.latest/release-notes.md?ask=<question>&goal=<user_goal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is what the user is ultimately trying to achieve, the reason they need the answer. Sharing it helps GitBook give you a better, more relevant answer. A goal is most helpful when it describes the outcome the user wants rather than restating the question. For example, with `ask=how do I create an API token`, a goal like `automate deployments from our CI pipeline` lets GitBook tailor the answer to that use case.

The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
