---
title: April 2024 release
slug: configured-commerce/release-notes/april-2024-release
createdAt: 2026-08-18T12:29:51.000Z
---

**Release: 5.2.2404.1365+sts**

The following is a list of the bug fixes and enhancements in the April 2024 release. Some bug fixes listed below may address existing support articles. A comprehensive list is at the bottom of this page.

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

The April 2024 release is now available for developers to pull down and work with locally or to request for deployments.
:::

***

## Release highlights

:::Paragraph{indent="1"}
You can now set a [page rule type](docId\:BiJnXH1nQs2zVzT0q5I7w) based on the current language for page variants in Spire CMS.
:::

- Spire CMS has an option to [show or hide the page tree](docId\:ThHuS9Qq3RL8-e3b-pZi1).
- Users can select a child variant when searching by parent product on the Product Search filter within Order History and My Lists pages.
- [Order History and Invoice History](docId\:hWhUr0k7fhQhYC7Wo07kn) now have a searchable filter for ShipTo.

## 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 to method behaviors in Optimizely Configured Commerce.

### Low risk

### Ensured ContentLibrary did not reference WebFramework

- `ContactUsController` was moved from the public `Insite.ContentLibrary` into the private `Insite.WebFramework` assembly.
- `LayoutController`'s constructor was modified and the `ContentItemTemplateRenderer` field was removed.

These controllers appear to have only been used internally.

### Fixed typo in method names

- `GetValidBrandUrlRootsExteneded` > `GetValidBrandUrlRootsExtended`
- `GetValidCatalogUrlRootsExteneded` > `GetValidCatalogUrlRootsExtended`

### Added more informative logs for warehouses

Added the method `GetLowStockQty` to `IProductUtilities` to populate availabilities in the catalog. It was previously a private method.

### Cleaned up public projects to not reference private projects

Several breaking changes were made to ensure that Optimizely's public projects do not reference private projects. The team evaluated these changes to ensure they would not affect any custom code.

The following types were moved to private projects:

- `Insite.Account.IdentityServerUrlValidator`
- `Insite.Account.Emails.AccountActivationEmail`
- `Insite.Account.Emails.PasswordResetEmail`
- `Insite.Account.Content.SignInPagePreparer`
- `Insite.Brands.Infrastructure.BrandCatalogConstraint`
- `Insite.Brands.Infrastructure.BrandConstraintBase`
- `Insite.Brands.Infrastructure.BrandDetailConstraint`
- `Insite.Catalog.Seo.SeoCatalogController`
- `Insite.Catalog.Infrastructure.CatalogValidUrlSegmentConstraint`
- `Insite.Catalog.Infrastructure.ProductValidUrlSegmentConstraint`
- `Insite.Catalog.Infrastructure.SearchConstraint`

The following types are private:

- `Insite.WebFramework.Mvc.PdfViewProvider`
- `Insite.Core.Context.Services.ICatalogContextService`
- `Insite.Core.Context.Services.IWebsiteService`
- `Insite.WebFramework.Content.Services.Interfaces.IUrlService`

Those types were removed from the constructor parameters along with any associated fields on the following public types:

- `Insite.Account.Emails.UserNameChangedEmail`
- `Insite.Account.Content.CartReminderUnsubscribePagePreparer`
- `Insite.Brands.Controllers.BrandController`
- `Insite.Brands.Content.BrandsPreparer`
- `Insite.Catalog.Content.CatalogController`
- `Insite.Invoice.Controllers.InvoiceController`
- `Insite.Order.Controllers.OrderController`
- `Insite.WishLists.Controllers.ListController`

### Removed obsolete code

The `getAutocompleteModel` property of the `MyListsSearchFieldProductNumber` widget is not needed anymore.

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

## Database changes and updates

No significant changes.

## Library changes and updates

No significant changes.

## Enhancements and bug fixes

### Spire enhancements

- Added a [page rule type](docId\:BiJnXH1nQs2zVzT0q5I7w) based on the current language.
- Added the ability to [show or hide the page tree](docId\:ThHuS9Qq3RL8-e3b-pZi1).
- Added the ability to select a child variant when searching by parent product on the Product Search filter within Order History and My Lists pages.
- Added a searchable ShipTo filter for [Order History and Invoice History](docId\:hWhUr0k7fhQhYC7Wo07kn).

### Other enhancements

- Added a step to the [nightly maintenance job](docId\:qbua6EIy4OfQ0KGHKdiC0) to delete orphaned custom properties.
- Added a Security Code tokenization setting for [Paymetric](docId\:jCO5m0JD_Ug0D6pj5d4Oc).
- Added a Test Mode setting in the Admin Console for [CenPOS](docId\:pMYEQGdH1PSZoMedLfAR1) to switch between test and production endpoints, letting you configure the payment URL.
- Reduced scenarios where integration jobs could be stuck in **In Progress** status while not running – The handling of a Kubernetes "PreStop" event was streamlined so that any running jobs are immediately marked as **Cancelled** and the server shutdown is no longer delayed.

### Bug fixes

- Fixed an issue in Classic where the[ RFQ process expiration date was a day behind](https://support.optimizely.com/hc/en-us/articles/25385520343053-SA1372998-Incorrect-Dates-Displayed-in-RFQ).
- Fixed an unhandled error in Spire when reordering after returning an order.
- Fixed an issue in Spire where the Order Details Page buttons disappeared after a page refresh.
- Fixed WIS integration service errors in Spire after the job was completed successfully.
- Fixed an issue in Spire when importing a List or Quick Order file.
- Fixed issues in Spire that did not allow translation for the product entity.
- Fixed an issue in Spire where opening anchor links to another page did not scroll the page to the anchor position.
- Fixed an issue with the Paymetric connector that prevented access to the Paymetric dashboard.
- Fixed an issue where clicking the Save button on the User Administration page resulted in an error that the email address already existed.

### Related Support Articles

- [SA1372998-Incorrect-Dates-Displayed-in-RFQ](https://support.optimizely.com/hc/en-us/articles/25385520343053-SA1372998-Incorrect-Dates-Displayed-in-RFQ)

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

### Cumulative breaking changes spreadsheet
