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

**Release: 5.1.2304.3657**

The following is a list of the bug fixes and enhancements provided in the April 2023 Release. Some of the 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 2023 release is now available for developers to pull down and work with locally or to request for deployments.
:::

***

### April 2023 release highlights

- You can now more easily move from Classic CMS to Spire CMS through a [conversion tool](docId\:QbjBw4B2ykGtN7vtU6yXj). This tool translates content from Classic and let you upload it to Spire.

### Important notes/Breaking changes

Low risk breaking changes:

- Hreflang and the SetContextLanguageCode parameter
  - Made improvements to the URLs included in the hreflang header links. This included fixing a bug where brand pages were not setting the hreflang links. As part of this fix, AlternateLanguageUrls was added to the BrandModel c# class, which is also used as a TypeScript model in Spire.
- API changes to support Promo Codes removal from Cart.
  - Added support for deleting one and all applied promo codes in the Cart. Created two new handlers in the IPromotionService.
- RecursivePartial\<T> interface (Spire)
  - Fixed RecursivePartial to be truly recursive for object properties that can be undefined. Previously RecursivePartial\<\{ a?: \{ b: string, c: string } }> turned into \{ a?: \{ b: string, c: string } } which is not correct. Now it turns into \{ a?: \{ b?: string, c?: string } }.

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

### Database changes/Updates

Added a ShipViaId field to the Customer table. When set in the Admin Console, it sets the Customer.ShipCode to that ShipVia.ShipCode.

### Enhancements/Updates

**Spire enhancements**

- Added Order Number to the Google Tag Manager/Google Analytics data layer on the Order Confirmation page in Spire.
- Added the ability to easily find and assign approvers on the User Administration page through a searchable dropdown.
- Added a Custom CSS field to control how the row widget displays full width content.
- Improved pagination to follow SEO best practices.

**Other enhancements**

- Added a [Classic CMS to Spire CMS conversion tool](docId\:QbjBw4B2ykGtN7vtU6yXj), allowing you to translate content from the Classic environment and upload to the Spire environment.
- Added website user variable options to the Order Confirmation Email.
- Added a downloadable template for importing Lists.
- Added the ability to [import and export directly from the RestrictionGroup](docId\:wyob3tDYusP32wBpcAPMG) structure by specifying the child collection.
- Added Saved Cards support for the Square iFrame in the Classic and Spire storefronts.
- Added logging when Retry All Undelivered Emails or Retry Individual Email are triggered to capture date, username, and email type (for individual email) in the Audit Log.
- Improved performance of dynamic category rebuilds, especially for categories with more than 100,000 products.
- Improved error handling within the ETag Cache feature.
- Ensured TLS 1.3 support for all connections in Configured Commerce.

**Bug fixes**

- Fixed an issue where the Google Bot would receive an error when trying to crawl Product Detail pages with Real-Time Inventory.
- Fixed an issue with alternate language link generation for a page where a query string for the default language was included, causing SEO problems.
- Fixed a scrolling issue in the mobile version of Chrome that prevented users from seeing the bottom of the search list.
- Fixed an unhandled error that occurred for users placing a large bulk order.
- Reverted using the translation icon for translating attribute names and labels as it caused unexpected translations to appear within the filters compared to the attributes on product records.
- Fixed an issue where the My List page would flicker when "Allow multiple lists" was off.
- Fixed an issue where the "Use billing address" option would show multiple times for the Ship To field.
- Fixed an issue during user import that caused the previous record's language to be used for activation emails until overwritten by a subsequent record's language instead of using the default language for unspecified fields.
- Fixed an issue where uploading items or orders with unavailable duplicate products to a wishlist would cause all products in the list to be unavailable.
- Fixed issues with new custom parameters for OpenID.
- Fixed an issue where project references to Avalara from customer/partner extensions were not working.
- Adjusted the AccountIdentifier field in the UserPaymentProfile table to not allow null values and to have a default value of an empty string.
- Fixed an issue where changing the secondary button color would also change the tertiary button color for the Return RMA button in Spire.
- Added Avalara.AvaTax.RestClient to Insite.Commerce.Public and extensions.dll reference checker whitelist.
- Restored Avalara.AvaTax.Adapter from SoapClient.
- Updated the RealTimePricingEngine to get the warehouse name directly without any additional requests to the database, improving performance.
- Fixed the Avalara tax calculator to handle error when using an invalid or unmatched state or zip code in Spire.
- Fixed an issue in Spire where the cart for promotions with customer segments would not update without a manual page refresh after selecting a different customer.
- Fixed a flaw in the search index rebuild error recovery that could lead to gaps in search index coverage.
- Fixed a Payware payment gateway error that appeared for certain transaction amounts.
- Fixed an issue where the ShipCode could not be uniquely selected in the ShipVia table containing duplicate ShipCodes.
- Fixed an issue where AddPaymentProfile in Cybersource returned a "No WS-Security Header" error.
- Fixed an issue where Single Sign-On users with multiple bill-to addresses were directed to the home page rather than the correct page.
- Fixed an issue in Classic where the Sign In page was included for the Sign In requirement, resulting in a loop from the website redirecting back to the Sign In page.
- Fixed an issue with deleting a Shared Content widget that referenced itself.
- Fixed an issue where GetPromotionsCollection and GetCart were called at the same time during cart pricing recalculation in Spire, causing an error.
- Fixed an issue where replacement products would not display or redirect properly in Spire.
- Fixed an issue where the theme property for the fields editor did not account for Pre/Post StyleGuideTheme functions in Spire.
- Fixed an issue where the "Site is starting on serve (name)" application log entry during site start-up would limit the server name to 15 characters.
- Fixed an issue where integration jobs importing significant volume of data would fail.
- Fixed broken CMS fields in Spire.

Related support articles

- [https://support.optimizely.com/hc/en-us/articles/13001765767309-SA1085223-hreflang-and-the-SetContextLanguageCode-parameter](https://support.optimizely.com/hc/en-us/articles/13001765767309-SA1085223-hreflang-and-the-SetContextLanguageCode-parameter)
- [https://support.optimizely.com/hc/en-us/articles/14541135553037-SA1119538-Search-Scroll-not-working-on-mobile](https://support.optimizely.com/hc/en-us/articles/14541135553037-SA1119538-Search-Scroll-not-working-on-mobile)
- [https://support.optimizely.com/hc/en-us/articles/13984273306765-SA1104898-Return-RMA-Button-Color-Changed-when-Changing-Secondary-Button-color](https://support.optimizely.com/hc/en-us/articles/13984273306765-SA1104898-Return-RMA-Button-Color-Changed-when-Changing-Secondary-Button-color)
- [https://support.optimizely.com/hc/en-us/articles/13195475758221-SA1091149-Problem-on-Replacement-Products-feature](https://support.optimizely.com/hc/en-us/articles/13195475758221-SA1091149-Problem-on-Replacement-Products-feature)

### [Configured Commerce REST APIs](docId:_ktNaF8fv6Kleyg8Y2j6q)

### Cumulative breaking changes spreadsheet
