December 2023 release

  • Updated

Release: 5.2.2312.2363+sts

Optimizely discovered backward compatibility and upgrade issues for some customers from three scripts that populated widgets to existing Spire CMS pages for My Lists, Order Cancel, VMI Dashboard, and Order History. Hotfix 5.2.2312.2386+sts resolves these issues, but existing sites may need to add these widgets back manually. See the notice for more information.

The following is a list of the bug fixes and enhancements provided in the December 2023 release. Some of the bug fixes listed below may address existing Support Articles. A comprehensive list is at the bottom of this page.

The December 2023 release is now available for developers to pull down and work with locally or to request for deployments.

Announcement

Beginning with December 2023, Optimizely Configured Commerce now uses Spreedly for payment gateway connectors. This is currently in beta. Contact your Customer Success Manager for more information.

December 2023 release highlights

  • Lists in Spire CMS have received new organizational features, making it easier for users to view a certain group of lists. These features include the ability to Favorite, Tag, Filter, and Hide/Unhide lists from the My Lists page. This also adds two new widgets to My Lists: My Lists Filter and My Lists View.
    • Existing Sites who want to receive the new filter for the My Lists Page should edit their site in Spire add the new MyListsView widget to the page
  • Users can replace or remove products marked as discontinued.
  • You can set the VMI bin information to show on the Cart page through the Cart Lines widget.
  • With the new Keep Me Signed In feature, users can maintain their sessions without re-authenticating when they access their account pages or complete checkout.
  • .NET8 has been released to beta for partners and customers to build extensions projects. The Beta includes full support to build projects with .NET extensions and Linux containers in the hosted environment. The features include:
    • Performance improvements in the application itself with faster API calls.
    • Ability to run on Linux Kubernetes containers, which can be started more quickly.
    See .NET8 framework to migration and local development environment for more information.

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 the behavior of methods in Optimizely Configured Commerce.

High risk breaking changes for Spire

The CheckoutReviewAndSubmitPaymentDetails and OnePageCheckoutPaymentDetails widgets received major updates to reduce the amount of duplicated code related to entering payment details during checkout. To reduce duplicated code, the CreditCardDetailsEntry and SavedPaymentProfileEntry components received several breaking changes:

  • Both components now handle all TokenEx logic other than loading the external library.
  • Both components now handle basic validation logic, handling form state, and error UX.
  • The CreditCardDetailsEntry exposes validation and tokenization functions to the parent component via the useImperativeHandle hook.

If your blueprint has customizations that involve any of these widgets or components, you should thoroughly test your checkout process to ensure your customers can still submit credit card payments.

Low risk breaking changes

  • Cleanup Application Insights
    • Removed Insite.Common.AppSettingConstants and Insite.Common.EnvironmentInformation.
  • Include guest ERP customer in evaluation of restriction groups
    • Added two new overrides for method GetRestrictedProductIds in non-extensible public interface IProductUtilities.
  • Keep me signed in
    • Added new override for method SetUserAsAuthenticated in non-extensible public interface IAuthenticationService.
  • Added two methods into IWishListService interface
    • AddWishListTagCollection and RemoveWishListTagCollection were added to allow manipulation of the new UserProfileWishListTag entity; users can now assign tags to lists
  • Update Spire ProductsState
    • Added attributeTypesByPath dictionary for storage because category context can create different results

Partners/Developers: You can view a cumulative list of breaking changes, 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

  • Added a script to insert the Order Cancellation widget to the OrderDetailsPage and OnePageCheckoutConfirmationPage.
  • Added five indexes on OrderHistoryLine. This could take a while to apply.
  • Added new setting StorefrontSecurity_UserRetentionStrategy and copied from Remember Me setting.

Library changes and updates

No significant changes.

Enhancements and bug fixes

Spire enhancements

  • Added Sign up for newsletter option to one-page checkout.
  • Added the Keep Me Signed In option to website settings which maintains a user's session for the manually configured amount of time.
  • Added the ability to hide and unhide lists.
  • Added the ability to favorite lists for easier filtering.
  • Added a Product Discontinued label with options to delete or replace the product.
  • Added tags to lists for grouping similar lists and searching by tags.
  • Added a prompt for confirmation when resetting styles in the Style Guide.
  • Updated user roles to only allow CMS_SystemAdmin to restore content.
  • Added the Custom CSS field to the My List Details Product List widget.
  • Added the ability to filter lists with options such as Date Created, Updated On, Product, Brand, and Shared By.
  • Added the option to display VMI bin information on the Cart page.
  • Updated Save, Cancel, Undo, and Redo buttons in the Style Guide to streamline the UI.
  • Added a confirmation modal when clicking Cancel Order from the Order Details or Order Confirmation pages.
  • Added a My Lists View widget to the My Lists page. This widget contains a drop-down list with options for All, Hidden, Favorites, and Auto-Generated.

Other enhancements

  • Added option to include guest customers in restriction group evaluation.
  • Added the ability to filter website users by user role in the Admin Console.
  • Added the ability to export customers for website users in the Admin Console, including BillTo and ShipTo customers.
  • Added a Cancel button to the Edit User page.

Bug fixes

  • Fixed an issue where the AF Group blueprint tried to build an Affinity blueprint, resulting in errors.
  • Fixed an issue in Spire where plural search terms did not return singular search term results.
  • Fixed an issue in Spire where the second Faivcon file failed when it was hit twice.
  • Fixed an issue in Spire where the quote proposal email was sent to the Order Notification Email recipient instead of just the buyer.
  • Fixed an issue where integration jobs with long-job names and long-connection names would fail with an error.
  • Fixed an issue in Classic where authorization was denied after logging in as an invalid user and then as a valid user after placing an order as an anonymous user.
  • Fixed an issue in Spire where the Make Dashboard My Homepage selection was not working properly.
  • Fixed an issue in Classic where the Location Finder page gave a NullReferenceException error.
  • Fixed an issue in Spire where the color selector did not display the correct transparency setting.
  • Fixed an issue in Spire where product attributes on the Product Details page did not display in the sorting order specified.
  • Fixed an issue in Spire where an "&" in the Manufacturer name while browsing the Brands in the Catalog Tab caused the Admin Console to throw an unhandled error.
  • Fixed an issue in Spire where users with MacOS Sonoma 14.0 and Safari v17.0 did not see any properties in the grids of Admin Console pages.
  • Fixed an issue where Product List Open Graph Image was not used when the page is shared on social networks.
  • Fixed an issue where integration jobs that were incomplete during a server restart remained InProgress indefinitely.

Related Support Articles

Configured Commerce REST APIs

Cumulative breaking changes spreadsheet