Optimizely discovered a bug in the May 2023 release (5.1.2305.3569). We have replaced the original May release with hotfix version 5.1.2305.3604. This version includes the changes in hotfix version 5.1.2305.3595.
Release: 5.1.2305.3604
The following is a list of the bug fixes and enhancements provided in the May 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 May 2023 release is now available for developers to pull down and work with locally or to request for deployments.
May 2023 release highlights
- Users can now remove promotion codes from their cart without having to remove every item. Additionally, you can use the Promotion Code Form widget on the Cart, Checkout-Shipping, and Review and Submit pages.
- Order Approvers can now receive an email notifications when customers submit an order for approval.
- You can use a Flex Row widget to add a row with configurations such as direction, wrap, justify content, align items, and align content.
- The Banner, Image, Product Carousel, and Brand Gallery widgets allow you to create context-specific content.
-
The Elastic Search upgrade has two phases to give the development team time to ensure partner and customer success. Phase 1 of Elastic Search 7 has been released and includes Insite.Search.ElasticsearchNext.dll (the assembly/search provider that utilizes ElasticSearch 7) in a not-yet supported state. We found an issue late in the May release process and are committed to supporting ES7 as soon as possible. Optimizely is continuously iterating improvements, as is often the case with large and complex features, and plans to launch Phase 2 in an upcoming release.
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 methods' behavior.
Low risk breaking changes
- Multiple search indexes support
- Changed ISearchIndexBuilder interface by adding nullable parameter IndexExists(string indexType = null).
- Enum SharedCacheManager
- Moved Enum SharedCacheManager (just used in automation project) to another class inside Test Folder.
- Wrongly calculated promotion
- Added new method GetAppliedAmountForCustomerOrderPromotion to IPromotionAmountProvider, which should calculate the amount only for provided CustomerOrderPromotion.
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
Library changes and updates
Updated the following outdated JavaScript libraries:
- CKEditor version 4.5.6 – Used in the CMS shell
- AngularJS version 1.5.7 – Used in the CMS shell
- jQuery version 2.1.4 – Used in the Admin Console, Storefront, and CMS shell
CKFinder 3.4.1 uses jQuery 2.1.4. CKFinder 3.6.0 uses a newer jQuery version, but Optimizely's license does not cover CKFinder 3.6.0. CKFinder is also unsupported in .NET 7. While Optimizely searches for a replacement, the jQuery vulnerabilities cannot be exploited while using CKFinder.
Enhancements and bug fixes
Spire enhancements
- Added the ability for customers to remove promotion codes without clearing their Cart.
- Added the Promotion Code Form widget to the Cart page and Checkout - Shipping page.
- Added the ability to create context-specific content for the Banner, Image, Product Carousel, and Brand Gallery widgets.
- Added field text below the Tag fields noting to click Enter on the keyboard to add the desired tag. The field also has an auto-save feature to save the tag if the field loses focus.
- Added a Flex Row widget with configuration options such as direction, wrap, justify content, align items, and align content.
- Updated the Froala Image Editor to work with Spire functionality.
Other enhancements
- Added Phase 1 of the Elastic Search 7 upgrade.
- Added the ability for Order Approvers to receive an email notifications when customers submit an order for approval.
- Implemented stricter default password settings to increase security.
- Updated the Export screen with clearer options for what records will be exported.
- Hid Email Schedules and List Shares as List Import options in the Admin Console to remove confusion.
- Optimized an algorithm within the GetAllCategoryFacets method of ProductSearchProviderElasticsearch that could cause occasional slow requests, especially for sites with many product categories.
- Improved performance tolerance of ElasticsearchContentRepository GetElasticsearchContents.
- Added support to allow customers/partners to install 3rd party NPM packages for Spire.
Bug fixes
- Updated Insite.Commerce.Private nuget package to resolve an issue where the exception "Could not load file or assembly 'OneOf...." was thrown when trying to run Spire locally.
- Updated 'Real Time Inventory Service' - 'Insite' to decrement product quantity in associated warehouse.
- Fixed compile errors for ElasticSearch 7 and published Nest7/Elasticsearch.Net7 nuget packges to Episerver nuget feed.
- Reverted flexslider to version 2.5.0 after discovering a bug.
- Fixed an issue where the ValueMaximum property for a rule clause became "NaN" and resulted in an error.
- Fixed an error that occurred from unsupported page types in the database: ConfiguratorPage and ConfiguratorSummaryPage.
- Fixed an issue where the Production Recommendations Carousel widgetPosition was incorrectly decremented and generated a Javascript error in Classic.
- Fixed an issue where the Product Recommendations Carousel used the Name property instead of the erpNumber property in Classic.
- Fixed an issue where users were redirected to a Product Detail page after filtering by Previously Purchased Only or Stocked Items Only and returning only one product in the results in Spire.
- Fixed an overlap issue with the color and date picker in Spire.
- Fixed an issue where a script to improve scrolling performance was conflicting and causing errors with some 3rd party scripts or custom code in Classic.
- Fixed an issue where orders with a large number of lines would fail when sent to the ERP using the APlus Connector in Spire.
- Fixed an issue where the export job failed while exporting Categories Attributes from the Attributes Types and Categories section.
- Fixed an error that occurred when trying to access a Child Variant Product Detail Page with Googlebot as the user agent.
- Fixed an issue where custom statuses resulted in notifications generating a webhook timeout with Adyen.
- Fixed an issue where "An invalid signature was ignored" incorrectly appeared in application logs.
- Fixed a performance issue with API/V1/admin/EntityDefinitions.
- Fixed an issue where imports of Restriction Groups would fail in Spire.
- Fixed an issue where credit cards were saved without entering all mandatory fields in the Square payment gateway for Spire.
- Fixed performance issues for database requests inside the loop processing cart lines in Spire.
- Fixed an issue where the user was redirected to the My Account page after signing in on the Home Page in Spire.
- Fixed an issue where creating a variant with a duplicate name resulted in an Unhandled Error rather than a warning message in Spire.
- Fixed an issue where Product Restriction Groups would not work when setting the Rule Type Option to Customer Fields and Criteria Type to Object.
- Fixed an issue where Avalara did not include tax in the handling amount.
- Updated AdminAuthorizationAttribute to enforce authentication on all POST requests in addition to AJAX requests.
- Fixed an issue where some promotion codes could not be applied on sites that only allow one promotion.
Related Support Articles
Cumulative breaking changes spreadsheet
Please sign in to leave a comment.