Release: 5.1.2309.6450
The following is a list of the bug fixes and enhancements provided in the September 2023 Release. Some of the bug fixes listed below may address existing Support Articles. A comprehensive list is at the bottom of this page.
Announcement
Beginning with the October 2023 release, Optimizely Configured Commerce versions will be marked with +STS for Short-Term Support or +LTS for Long-Term Support. Short-Term Support (STS) is the same as regular monthly releases, while Long-Term Support (LTS) branches will be released three times a year for more stability. LTS branches receive the previous month's new features that have already been tested on live environments and any hotfixes required on the LTS branch until one week before the next release. See Long-Term Support overview for more information.
September 2023 release highlights
- Configured Commerce now allows for one page checkout, letting you provide your customers with a smoother checkout process and a more minimal design. Users can still access and edit items in their cart anytime during the checkout process and view cart items across multiple devices when logged in.
- Website users can manage their store pickup location without being redirected to a different page using the new Store Pickup Overlay and corresponding widget.
- Website users can manage their billing and shipping addresses without being redirected to a different page using the new Address Book Overlay and corresponding widget.
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
- Added the following methods for the store availability message on the Store Pickup Overlay:
-
GetCartInventoryResult
to non-extensible interfaceIRealTimeInventoryEngine
-
This method returns the availability for all cart lines, grouped by warehouse, from the local database inventory. Due to performance concerns, existing integration connectors do not support availability messaging for the Store Pickup Overlay.GetCartInventory
to extensible interfaceIExternalInventoryService
- You must implement this method if you plan to use the Store Pickup Overlay functionality. To fully implement this feature, consider the following:
-
You need to determine the best way to obtain product availability for every permutation in the lists of products and warehouses passed to the new function. Keep in mind how many cart lines your customers typically have, multiplied against how many warehouses you support on your website. This can easily result in a significant amount of data. If your external API does not have a performant endpoint that supports querying multiple products and multiple warehouses simultaneously, you might want to persist this data in your SQL database and calculate it from there instead. You can do this with an integration job refresh that writes to the commerce inventory tables.
-
-
- The Store Pickup Overlay will still function without the availability messaging. If this messaging is not necessary for your implementation, you must do the following to partially implement this feature:
-
Add the following new method to your implementation of IExternalInventoryService
that returns an empty GetCartInventoryResult
object:
public GetCartInventoryResult GetCartInventory(
GetCartInventoryParameter cartInventoryParameter
)
{
return new GetCartInventoryResult();
}
}
Low risk breaking changes for Spire
- No significant changes.
Low risk breaking changes
- Made the following methods from
AssemblyInfoExtensions
internal to allow for better logging of GetTypes exceptions:AssemblyInfoExtensions.CompileDate
AssemblyInfoExtensions.GetAssemblyFolder
AssemblyInfoExtensions.TryGetTypesFromAssembly
- Removed the following obsolete methods, properties, and types:
AspNetIdentityUserService.GetClaimsForAuthenticateResult
AspNetIdentityUserService.GetClaimsFromAccount
AssemblyLocator.GetBinFolderAssemblies
AssemblyLocator.GetDllFiles
AssemblyLocator.GetPotentialDependencyAssembliesWithoutExtensions
CertificateHelper.VerifyData
CertificateHelper.VerifyDataExtended
GetLanguageResult.Language
GetLanguageResult.WebsiteLanguage
IContentItemFieldRepository.GetContentItemFields
ICustomerRepository.GetAvailableCustomerCount
IDataProvider.ClearCache
IDataProvider.EagerLoad
IDataProvider.Expand
IDataProvider.ObjectContextTranslate
IDataProvider.Unproxy
IOrderLineUtilities.CalculatePrice
IPriceMatrixUtilities.GetCustomerKeyParts
IRepository.GetList
ITokenExUtilities.GetECheckTokenEx
ITokenExUtilities.GetTokenExDto
IUnitOfWork.EagerLoad
IUnitOfWork.SaveAsync
IUnitOfWork.Unproxy
IntegrationProcessorODataRefresh.ParseDataTable
MockPathProvider
NonCacheableAttribute
PaymetricUtilities.GetResponsePacketToken
ProductPrice.BreakQtyDisplay
QueryableExtensions.InsiteInclude
StringExtensions.FormatWith
NonCacheableAttribute
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 the following tables for list organization:
UserProfileWishListFavorite
UserProfileWishListHide
UserProfileWishListTag
Library changes and updates
No significant changes.
Enhancements and bug fixes
Spire enhancements
- Added an Address Book Overlay and corresponding widget.
- Added a Store Pickup Overlay and corresponding widget.
- Added the ability for one-page checkout and corresponding One Page Checkout Elements and One Page Checkout Confirmation Elements widgets.
- Added support for multiple ReCaptchas on a page.
- Updated the VmiUsersHeader widget to show total user count for a location.
- Improved the Product Carousel widget to only show relevant types on a page.
- Updated the VMI_User role to access VMI pages on the website for the location they are assigned to.
- Added
Manifest.json
andServiceWorker.js
pages to Spire CMS to enable Progressive Web Application (PWA) functionality. - Improved the full-width option to center content and stay within site breakpoints.
Other enhancements
- Implemented HTTP Security Headers settings.
- Added an Orders section to the VMI Product Detail page in Classic.
- Added support for zero pricing when the Price Matrix provides $0 price for a product.
- Added the location name to the VMI Order Detail page in Classic.
- Updated the VMI_User role to access VMI pages on the website for the location they are assigned to in Classic.
- Added an option to edit quantity on the VMI Product Detail page. Users can also enter the product quantity when adding a new product.
- Updated the edit column in the Admin Console Categories page to display the edit icon instead of text.
Bug fixes
- Fixed issues that occurred when trying to drag and drop the Basic/Row widget to another position in Spire.
- Removed auto-generated lists as an option when adding a product to a list.
- Fixed an issue where some administrators could not access users through User Administration after logging in with OpenIdConnect in Spire.
- Fixed an issue where ItemOut.lineNumber did not map correctly to OrderLine.Line for an OrderRequest punchout session in Spire.
- Fixed an issue where the Sign In Overlay did not display in the CMS page tree after enabling it using the
setPostStyleGuideTheme
function in your code in Spire. - Updated the Mobius Tooltip component to use percentage-based, position values instead of pixel-based margins in Spire. You should review any custom styling applied to the Tooltip component for visual consistency.
- Fixed an issue where the EBizCharge payment authorization stored the wrong Name On Card after checkout if a previous order was submitted with the same card number but different name in Spire.
- Fixed an issue where the Order Subtotal filter on the Saved Orders page did not work with large numbers in Spire.
- Fixed an issue where the Submit button and order information displayed incorrectly on mobile with the out-of-box styling in Spire.
- Fixed an upgrade issue some customers experienced with the previous release.
- Fixed an issue where the sitemap did not include product lines under brands in Spire.
- Fixed an issue where the blank spaces were not reflected in the site page title when entered in the Page Title Delimiter field on the Administration > Settings > Site Configurations page.
- Fixed an issue where an unhandled exception was returned after saving a Marketing Message to multiple websites in Spire.
- Fixed an issue where the product ordering was incorrect for the recommendations returned from the Product Recommendations connector.
- Fixed an issue where some customers were redirected to an incorrect category after changing the language on the site.
- Updated the Recipient Email field character limit on the Share Product window to 256 characters in Spire.
- Fixed an issue where a customer received an error navigating to the Cart page after adding products whose Max Weight and Shipping Weight exceeded the Max Value of Int32.
- Fixed an issue where a transaction error with Cybersource was generated after using the company name instead of a first and last name for the Bill-To address.
- Fixed an issue where a timeout error occurred when trying to import a CMS file from production to sandbox.
- Fixed an issue where the Original Text column was not included in the translated fields export after selecting it as a column to export in Spire.
- Fixed an issue where a list was incorrectly marked as private when a Sales Rep user with no customers assigned to them shared the list to all users on the billing account in Spire.
- Fixed an issue where duplicated shared content was created after importing new shared content from another site in Spire.
- Updated the new package installation logic to add workspaces to the root
package.json
before runningnpm install
. - Fixed an issue where the language translation did not display for the Basic Button widget's Button Link field after adding the Button Link then selecting a new language for the site.
Article is closed for comments.