July 2026 release

  • Updated

Release: 5.2.2607.394+sts

The following is a list of the release's bug fixes and enhancements. Some bug fixes may address existing support articles. A comprehensive list is at the bottom of this page.

The July 2026 release is now available for developers to download and work with locally or to request deployments.

Release highlights

  • ACH (eCheck) Payments with Spreedly – Added ACH (eCheck) payment support to the Payment Service with Spreedly. Shoppers can now pay by bank account at checkout using routing and account numbers. 
  • Buy Now, Pay Later on One Page Checkout – Added Buy Now, Pay Later (BNPL) support to One Page Checkout, letting shoppers choose installment-based payment options at checkout. 
  • Customer Contact Details in Order History – Added customer first name, last name, and phone number to the Order History screen in Admin Console. Administrators can now identify order contacts without navigating to individual order records. See Order and invoice history in Classic.
  • Bulk Password Reset – Added a Reset Password bulk action to the Website Users list in Admin Console. Administrators can now send password reset emails to multiple users at once instead of one at a time. See Manage passwords

Breaking changes

Low risk

  • Migrated the Spire and Admin Console front-end build system from npm to pnpm to improve supply chain security. pnpm enforces a minimum package age for packages and restricts build scripts to a whitelist. Replace any npm commands with `pnpm`.
  • Added four methods to the IDataProvider interface: SqlExecuteNonQuery, SqlExecuteScalar, and two overloads of SqlExecuteStoredProcedure. Custom implementations of IDataProvider must implement all four methods.
  • Added GetExternalUserIds to the IUserProfileRepository and IAdminUserProfileRepository interfaces. Custom implementations of either interface must implement this method.

Enhancements

  • Added request timeout middleware to the .NET 10 build. The system now cancels long-running requests automatically, reducing resource contention when external services are slow or unresponsive. 
  • Improved startup performance on Classic CMS sites by parallelizing theme parsing during the startup task. Startup time is reduced in environments with multiple themes.
  • Improved HttpClient lifespan management in ElasticLINQ so the search connection reuses a properly scoped client. This reduces the risk of port exhaustion under high load.
  • Improved Spire storefront resilience by aborting server-side rendering when the requesting client disconnects. This reduces unnecessary resource usage during high-traffic conditions.
  • Added customer first name, last name, and phone number to the Order History screen in Admin Console. Administrators can now identify order contacts without navigating to individual order records. 
  • Updated Payment Service styles to reflect Optimizely's current branding. The payment experience is now visually consistent with the rest of the Admin Console.
  • Added Buy Now, Pay Later (BNPL) support to One Page Checkout, letting shoppers choose installment-based payment options at checkout. 
  • Added ACH (eCheck) payment support to the Payment Service with Spreedly. Shoppers can now pay by bank account at checkout using routing and account numbers. 
  • Added the authenticated user to Storefront application log entries. Administrators can now trace which user encountered an API error when troubleshooting. 
  • Migrated the Spire and Admin Console front-end build system to pnpm, which installs packages faster and more efficiently than npm. Implementors building on Spire should switch from npm to pnpm in their local development and CI build pipelines.
  • Updated the Admin Console color scheme and logo to reflect Optimizely's current branding.
  • Added a Reset Password bulk action to the Website Users list in Admin Console. Administrators can now send password reset emails to multiple users at once instead of one at a time. See Manage passwords.
  • Added Mobile Refresh Token Lifetime Minutes and Mobile Absolute Refresh Token Lifetime Minutes settings to the .NET Core Admin Console. These settings replace the .NET Framework mobile SSO screen and let implementors configure mobile session duration on .NET Core.
  • Improved startup performance on Classic CMS sites by parallelizing theme parsing during the startup task. Startup time is reduced in environments with multiple themes.
  • Added the Application Insights Enable Sql Command Text setting to the Admin Console. When enabled, Configured Commerce sends SQL command text to Azure Application Insights for query-level diagnostics.
  • Updated button font weight from Regular to Medium in the Admin Console as part of the ongoing rebranding, improving button label readability.
  • Improved security.

Bug fixes

  • Fixed the issue where users in Keep Me Signed In mode were not automatically signed out after the Days To Retain User setting elapsed. 
  • Fixed the issue where api/v1/catalogpages remained accessible when Sign In Required to Browse was enabled. 
  • Fixed the issue where the Saved Payments form could be submitted with required billing address fields empty when Spreedly was enabled.
  • Fixed the issue where canceling the Change Customer page did not revert a Fulfillment Method change. The header now shows the original selection after canceling.
  • Fixed the validation error on website user profiles in Admin Console. 
  • Fixed several visual issues remaining after the Admin Console rebranding, including publish button text appearing white when creating content.
  • Fixed the issue where Buy Now, Pay Later (BNPL) payments sent the cart ID instead of the order number to Stripe and Spreedly. 
  • Fixed the issue where the One Page Checkout confirmation page sent requests for order data in a loop after order submission. 
  • Fixed the issue where renaming a CkFinder folder with subfolders and many media files was slow and could time out.
  • Fixed the issue where users in Remember Me mode on .NET Framework storefronts were signed out at Site Timeout. They should remain signed in until the Days To Retain User setting elapses.
  • Fixed the issue where users required to change their password on .NET Core received a 500 error after submitting a new password. The system now signs them in automatically after a successful password change.
  • Fixed the issue where creating an account after placing a guest order did not automatically sign the user in.
  • Fixed the issue where PDF exports for large Wishlist and VMI lists over 20 MB sometimes produced an empty or unreadable file.
  • *Fixed the issue where the Print button on the VMI location details page did not send an email on .NET 8 sites.
  • *Fixed the issue where completing an order on .NET Core sites did not send an order event to Optimizely Data Platform (ODP).
  • *Fixed the issue where partners could not run Admin.Api locally in development on .NET Core.
  • *Fixed the issue where creating a restriction group with a customer rule skipped the Restriction step and then showed an unhandled error on the Summary step.
  • *Fixed the issue where adding a new card in Saved Payments returned a 500 error for some payment gateways, such as Orbital and Payflow Pro.
  • *Fixed the issue where a classic site on .NET Core threw an error when rendering a product list or product detail page that used a custom search engine optimization (SEO) view.
  • *Fixed the issue where order history records were editable in the Admin Console on .NET Core sites, which let users save changes to completed orders. Order history fields are now read-only.
  • *Fixed the issue where the nightly maintenance job could fail with an out-of-memory error on .NET Core sites that had a large backlog of records to delete. Batch deletes now run as set-based SQL deletes that honor the configured batch size and command timeout.
  • *Fixed the issue where browsing a product list or product detail page on a classic .NET Core site returned a 500 error.
  • *Fixed the issue where switching to a language that had no URL segment produced an inconsistent storefront home page URL.
  • *Fixed website-level cookies being reset on page navigation in Classic .NET Core storefronts after migrating to Linux.
  • *Fixed a NullReferenceException in RetrievePageService.GetUrlByTypeAndLanguageId that caused the first SSO login attempt to fail. 
  • *Fixed a validation error on the Admin Console website user profile page.

* These bug fixes were included in hotfixes and are available for 5.2.2606 STS.