---
title: August 2025 release
slug: configured-commerce/release-notes/august-2025-release
createdAt: 2026-08-18T12:29:49.000Z
---

**Release: 5.2.2508.2025+sts**

The following is a list of the release's bug fixes and enhancements. Some bug fixes may address existing support articles. A comprehensive list is at the bottom of this page.

The August 2025 release is now available for developers to download and work with locally or to request deployments.

## Release highlights

.NET 8.0 is now generally available. The benefits of migrating include the following:

- **Improved performance** – Optimizely's internal testing indicates that Configured Commerce is 40% faster.
- **Faster iteration on local development** – Improved startup and build times give you quicker development and testing cycles so you can make changes faster.
- **Improved stability** – Optimizely's .NET 8.0 infrastructure runs on Linux containers with faster startup times, allowing autoscaling of containers during periods of high volume.

See [.NET overview](docId\:xiBfKIzKZLdpWp8dixtrV) to learn more about this update and how you can migrate to .NET 8+.

:::hint{type="info"}
**Note**

Both .NET 4.8 and .NET 8+ are supported going forward until Optimizely decides when to end-of-life .NET 4.8.
:::

## Breaking changes

Binary breaking changes do not necessarily require code changes but rather just a recompilation of the project. This section describes breaking changes to method signatures or method behaviors in Optimizely Configured Commerce.

### High risk

- Fixed an upgrade conflict with `BouncyCastle.Cryptography` – The 2412 release updated SSH.NET from 2024.1.0 to 2024.2.0, introducing a transient dependency on `BouncyCastle.Cryptography`. This caused a conflict with the previously used `Portable.BouncyCastle` due to identical internal namespaces. Since `Portable.BouncyCastle` is now obsolete, the solution is to switch entirely to `BouncyCastle.Cryptography`. This change is breaking; extension DLLs using `Portable.BouncyCastle` will no longer function, and minor code adjustments may be necessary for compatibility with `BouncyCastle.Cryptography`.

  :::hint{type="info"}
  **Note**

  This is only a high risk for those who directly use `Portable.BouncyCastle`.
  :::

### Low risk

- Updated real-time pricing and inventory on request thread – Previous releases used a separate thread for real-time pricing and inventory requests, blocking the user's API request until completion or timeout. This led to thread safety risks and excessive background thread use. Now, real-time pricing and inventory run on the user request thread, aligning with other features and reducing thread pool starvation risks. However, the application is less tolerant of slow real-time sources, so ensure external systems perform well. Parameter objects now include a `CancellationToken` for terminating slow API calls. You can restore the legacy behavior if needed by customizing the code to use a separate task and the cancellation token.
- Set shared cache to always enabled – The previous **None** configuration for the shared cache used a high-performance local memory cache. Now, the only option is the **SqlServer** setting, which was already used by most environments for consistent real-time pricing and inventory across web servers. Sites previously using **None** may experience performance issues if they relied on local memory cache, which will be evident in the sandbox environment, prompting you to review customizations before production deployment.
- Fixed extra renders when redirected from the search bar – The query parameter on the `displayProducts` method is now optional, and there is a new optional parameter called `queryString`.

**Partners/Developers:** At the bottom of this page, you can view a [cumulative list of breaking changes](docId\:McDotpjc3WEo1uB4C_F-b), including Spire breaking changes. The spreadsheet has two tabs: one for cumulative breaking changes and one for Spire breaking changes.

## API updates

### New endpoints

**Search**

Added the endpoint `GET /api/v1/search/redirect` to redirect a search term to the appropriate search results page. This improves search efficiency and user experience.

- Query parameters
  - `term` (string, required) – The search term to be redirected.

### Data model changes

**WebsiteSettingsModel**

Removed the following properties from the `Insite.Websites.WebApi.V1.ApiModels.WebsiteSettingsModel:`

- `allowSocialPostGeneration` (boolean)
- `contentPagesMetadataGeneration` (boolean)

## Enhancements

### Spire

- Added a button to the Spire CMS that lets an authenticated user run the translation import job on demand for custom blueprints. See [Translate static content in blueprints](docId\:lvnTRBM0WrRJyI9XF9mGu) for information.

### Other

- Released .NET 8.0 for general availability. See the [.NET overview](docId\:xiBfKIzKZLdpWp8dixtrV).
- Improved deadlock handling with VMI Orders using the CSD connector.
- Updated the login lockout message to show "Account is locked out" for correct username and password combinations and "Invalid Username/Password" if the password is incorrect.
- Improved Real-Time Inventory threading efficiency by disabling running real-time inventory on a background thread.
- Updated **Real Time Service Unavailable Retry Minutes** to **Real Time Service Unavailable Retry Seconds** for more flexibility in configuring real time pricing and inventory. The default is now 300 seconds. See [Real time pricing and inventory](docId:6z6m7XuJJ6fBNYoucagW2) for information.

## Bug fixes

- Fixed an unhandled error that occurred when you added a large list with an invalid item to the cart.
- Fixed an issue where the Product Carousel - Recommended Products widget did not show all products returned by Product Recommendations.
- Fixed an issue where the `GetCart` handler triggered real-time pricing using an invalid `OrderLine.UnitOfMeasure`, resulting in a 500 error from P21.
- Fixed a caching issue with the slideshow widget.
- Fixed an issue where reading all integration job logs during status reporting caused a lockup.
- Fixed an error that occurred when you tried to access the CMS from a quick link on the Dashboard.
- Fixed an issue where the Wish List and VMI PDF features did not respect website-specific templates when they sent emails.
- Fixed an issue where the application did not retry health check failures when it experienced transient SQL connection issues during routine health checks.
- Fixed an issue where Product Recommendations sent duplicate events to the tracking page after a page reload.
- Fixed an issue where some users were missing roles when you exported website users with a roles column.
- Fixed an issue where URL fields on products within the catalog did not populate with valid values after you reindexed with Commerce Search v3.
- Fixed an issue where you could not select an API version in Swagger.
- Fixed an issue where you could set multiple default records during import.
- Fixed an issue where the Bambora gateway connector did not send the Customer IP field when calculating the risk score

### Related Support Articles

None.

### [Configured Commerce REST APIs](docId\:TVL1CkS5D4zcO0qytYOeS)

### Cumulative breaking changes spreadsheet
