Release Notes

August 2019 – released Sitecore Experience Commerce 9.2 Initial Release

Sitecore Commerce 9.2 focuses on increased solution performance and ability to scale, along with functional enhancements and corrective content.

New features/improvements

Area Description TFS no.
Performance Optimized the Commerce data storage and access layer to improve performance of data access intensive operations, e.g. fetching sellable items. Added relational entity storage with a new unique identifier (versus the existing resource intensive built-up ID). Added more entities and lists tables by entity types to share the load. New entity table for storing the entities’ json separately, making the tables sizes smaller.
These changes enable related improvements to operations including:
 - Read: One call to get the entity and related entities (e.g. LocalizationEntity), query entity by new unique identifier, load list of entities with their related entities.
 - Insert: One call to insert the entity, its localization entity and it's versioning entity. One call insert an entity to multiple lists, and to insert multiple entities to a list.
 - Update: One call to update the entity and its localization entity.
 - Delete: One call to delete the entity, the entity’s lists memberships, the entity’s localization entity.
311097
Performance Storefront The Storefront shopping cart count can now be cached on the client browser to avoid unnecessary calls from each page to the Commerce Engine if no cart operations have been performed. This client-side caching is configurable, and active by default. This caching in most scenarios contributes to reduced wait times on the Storefront when the system is heavily loaded. However, there may be scenarios where performance would be optimized with this caching disabled, for example if many promotions affecting the cart are updated frequently, like every minute. 319589
Performance Storefront In the Storefront you can now disable unnecessary re-calculation of the Commerce Minicart component upon fetching a fresh copy of cart information from the Commerce Engine. This is now configurable. By default the Storefront continues to re-calculate the minicart every time, to maintain backwards compatibility with the previous release. However, in most scenarios it is recommended that you disable unnecessary minicart recalculations to reduce wait times on the Storefront when the system is heavily loaded. There may be scenarios where performance would be optimized with continued minicart re-calculation, for example if many promotions affecting the cart are updated frequently, like every minute. 320306, 318837
Performance Storefront The Commerce Product List component result-set from the AJAX call to get the products can now be cached on the client browser. This caching is configurable. By default caching is disabled to maintain backwards compatibility. However, in most scenarios it is recommended that you enable this caching to reduce wait times on the Storefront when the system is heavily loaded.
Link to documentation on configuring the Product List cache.
280874
Performance Storefront API routes for individual Storefront AJAX calls to Connect can now be configured so they are not tracked for analytics and interpreted as page requests. It is recommended that each particular AJAX call not be routed to analytics if analytics is not required for that call. In most scenarios wait times on the Storefront can be reduced when the system is heavily loaded.
By default four AJAX calls have been configured to avoid analytics tracking, because these four in particular are not used in analytics.
Link to documentation on excluding APIs from being tracked
251371, 319240
Performance Added compression/decompression of Commerce Engine Connect (CE Connect) json files, to reduce network traffic and contribute in increased performance.
Link to documentation on API response compression
321604, 328491
Performance Reduced the request wait time at the Storefront pertaining specifically to shipping methods. 275976
Performance Overcame a potential performance bottleneck in the GetSellableItemBlock that had previously been the result of needing to include a clone operation. 322831
Performance Added the ability in Commerce Engine Connect to load all languages for an entity in one call, to reduce network traffic and contribute to increased performance. 319396
Performance Removed unnecessary Commerce fields from the whitelist for indexing Azure search, in CE Connect, to optimize for performance. 333934
Redis Caching Added centralized caching via Redis, enabling robust caching in distributed deployments, where Commerce Engine environments (Shops, Authoring, Minions, Ops) may deployed on separate hardware/resources. Redis is now required in production environments, and is required by default. Redis is the default, but single development environments can be configured to use cache in local memory instead.
Link to Commerce Engine Caching documentation
320006
Marketing Automation Campaign For the existing Abandoned Cart marketing automation campaign, the Storefront now includes renderings that include personalized content, including name and cart contents. So, the email sent to the customer can now include the entire contents of the abandoned cart. To implement, select this campaign module during the Storefront scaffolding stage, which will create an instance of the campaign. Create an automated email message and associate it with this campaign.
Link to Commerce Marketing Automation Campaigns documentation
231750, 319704
Marketing Automation Campaign Added a New Order Placed marketing automation campaign. The Storefront now includes renderings that include personalized content, including name and order content. So, the email sent to the customer can now include the entire contents of the placed order. To implement, select this campaign module during the Storefront scaffolding stage, which will create an instance of the campaign. Create an automated email message and associate it with this campaign.
Link to Commerce Marketing Automation Campaigns documentation
303910, 198736, 270977
Search Storefront The behaviour of search results, multiple or single, can now be configured in the Sitecore Control Panel. The default configuration returns multiple instances of the same product, one instance for each catalog category the product is associated with. This is by design because the appearance of the product might be styled differently for each instance; it can appear differently. A product could also be boosted in a particular category to appear at the top of its search results. Alternatively, the business may prefer displaying only one instance of the product in search results. Note that when duplicates set to be excluded, the search result does not display which instance was selected.
Link to documentation on configuring site searches in SXA Storefront
304076, 304073
Storefront The standard SXA navigation component can now be used in place of the Commerce navigation component for rendering the top-level categories. This SXA component is now used by default for new sites. Considerations:
 - The SXA navigation component default markup is framework agnostic and does not support Bootstrap or mobile by default; it requires direct navigation.
 - The Commerce navigation component uses Bootstrap in order to support mobile devices with limited screen sizes.
Link to documentation on navigation methods
268853
Storefront Added the ability to configure which Storefront pages are publicly available versus those that are private requiring authentication.
Link to documentation on restricting page access with security roles
276759
Storefront Security domains can now be created and deleted remotely on Content Delivery and Content Management instances. In distributed environments the Storefront and hence a Sitecore security domain is recreated on CD instances during the scaffolding stage, so the CD instance can authenticate customers properly when running live. The security domain is recreated on additional CM instances when there are multiple CM instances. 280818, 280850
Storefront The customer's preferred language is now updated upon language selection when using the Commerce Language Selector component. The information is registered on the corresponding contact facet. The updated language is used when sending mail using EXM, so the customer receives mail in their preferred language. 318742
Solr Commerce Engine indexes now support basic solr authentication for search within the Business tools.
Link to Commerce documentation on Solr authentication.
Link to XP documentation on protecting Solr over HTTP.
277146
Packaging Commerce packages for on-premises installations are now deployed using Web Deploy Packages (WDPs) instead of .zip files. The Commerce package containing its Sitecore Installation Framework (SIF) scripts has been updated to support WDPs accordingly. Commerce install tooling now requires using WDPs instead of .zip files. .zip files are included on the download page only because they are needed for the in-place upgrade procedure. 309002
Deployment Added the ability to un-install XC, by providing a script that is implemented using the Sitecore Installation Framework (SIF). The procedure to uninstall Commerce is described in the "Installation Guide - WDP for On Premise" that can be downloaded from the main Experience Commerce 9.2 - Initial Release download page.
Link to Experience Commerce 9.2 download page
277108
Upgrade Commerce 9.2 includes a supported upgrade path from Commerce 9.1. The upgrade instructions incorporate scripts that perform the necessary data migration steps, e.g. for migration of data impacted by data layer performance optimizations. 334358

 

Resolved issues

Area Description TFS no.
Performance Cloning method in GetSellableItemBlock leads to performance degradation. The cloning of Sellable Item was previously required for in-memory caching. This is solved in Commerce 9.2 by the centralized caching via Redis improvement (listed above), which is the default configuration. The current pre-9.2 in-memory caching approach continues to be an option for single server non-production deployments. Caution, this bug is not resolved when using in-memory caching. 322831
Performance Storefront Removed duplicate AJAX requests that were executed when Sitecore Experience Form is used on a page with the "Storefront Branded Theme" commerce SXA theme. 276334
Performance Engine Resolved an issue where the Commerce async interval strategy gets stuck if products change frequently. For example, with a 10,000 products with variants, changing products' properties once every 20 seconds caused sellableItemsIntervalAsynchronousStrategy to never complete execution, and then caused other Commerce index update strategies to queue.
Note: this fix is available also as a hotfix in Commerce 9.0.3.
322755
Performance Improved the time to publish a Storefront site with sub-items after a restart. The publishing time is generally expected to be under a minute but depends greatly on the site and number of products. However times of over 2 minutes were observed with a site supporting a cataloging of around 100K products. 321999
Engine Resolved an issue where the Minion was not correctly removed from the runningMinions bag if an exception occurred in the minion's Execute() method. If an exception occurred, it was expected that the failed minion is removed from the bag. 337050
Commerce Engine Connect Index rebuild failed when SellableItem is associated to more than one Catalog and one of the Catalog is not selected in Sitecore Content Editor.
Note: this fix is available also as a hotfix in Commerce 9.1.
347458
Merchandising Resolved incorrect autocomplete results for sellable items when typing in Business Tools. For example, when the user searched for a sellable item to associate to a bundle in Merchandising, they keyed in the sellable item ID. As characters are keyed in, the returned list continued to change as expected, but when the full ID had been keyed in the expected sellable item did not display. On the other hand, if the entire ID was pasted in at once, the results were correctly displayed. 327945
Merchandising Resolved an issue where it was not possible to set decimal values in the Business Tools if both the Business Tools and the Commerce Engine pools used the same user with a culture where decimal separator is a comma. For example, with the Bus Tools and Engine both using the same user for their application pools, login with as the user and configure format setting to use for example the German language (or a language which has comma as decimal separator). Login to Bus Tools and try to add a decimal price into the Price Cart or a Sellable Item. As a result, the prices were added incorrectly. For example, it is not possible to enter a price of format 1,22 (with a comma). And, entering a price of 1.22 gets saved as 122. 276950
Merchandising Custom child-views were only loaded by CommerceDataProvider into Sitecore if they were associated via ItemDefinition. In Merchandising, open the Habitat catalog and add a custom sellable item. Open this sellable item and add a custom view and a custom property to the view. Open Sitecore and run… Clear CommerceCaches. Run update DataTemplates. Open the custom item under the HabitatCatalog item. The user should expect the custom property to be displayed, but it did not display. 278080
Merchandising Resolved the issue where SetCommerceEditorFormatter blocked the Translation command in the Content Editor. In the Content Editor, Versions tab, select the Translate button. The translation was not displayed in the Content Area as expected. 278085
Merchandising Resolved an issue where after a sellable item was dissociated from its category, the sellable item was not correctly removed the index during incremental indexing. 288560, 342767
Merchandising Resolved an issue where the element in databases/database/dataproviders configuration in the file /wwwroot/App_Config/Include/Y.Commerce.Engine/Sitecore.Commerce.Engine.DataProvider.config caused a duplicated __Standard Values' version.
Note: this fix is available also as a hotfix in Commerce 9.0.3.
318916
Merchandising Resolved an issue where the wrong product template was on the Content Delivery server. Using the Commerce Composer feature, add a custom view to for example all the headphones. Delete/Update commerce templates. Refresh the Commerce templates and caches in the Content Editor. Publish. Recycle the app pool of the CD, or perform an IISReset. Put the attached get-product.aspx page on the CD server and request it in the browser. Find a headphones product item with the new template and use its ID on the test page. The expected result is the template of the item would be the new "headphones", but the actual result was the template was "Commerce Product". 316250
Orders Resolved an issues where the Hold Order action did not resolve currency correctly. Open the /sitecore/Commerce/Commerce Control Panel/Shared Settings/Currency Settings/Currency Sets/Default item in the Content Manager. Set CAD Canadian Dollar value to the Default Currency field. Select any product in the Merchandising application and set its price only in Canadian Dollars. Login to the Storefront and buy this product. Open this order in the Orders application and make sure that order details reflect the correct price in CAD. Click the Hold Order button. The expected result is that CAD currently is displayed, but the actual display was in USD.
Note: this fix is available also as a hotfix in Commerce 9.0.3.
276387
Storefront It is now possible to configure SXA configured presentation styles and grid settings for all Commerce components, which was only the case for a few Commerce components previously. 317520
Storefront Creating the storefront security domain was previously a manual task in distributed environments, but it has been automated now. In distributed environments like Azure, the storefront security domain is re-created on CD instances during scaffolding, so the CD instance can authenticate customers properly. Domain is also re-created on additional CM instances in case of multiple CM instances.
Link to documentation on security domains in SXA Storefront
Link to documentation on cutomizing the site creation pipeline
280818, 280850
Storefront After installing JSS in Storefront site, the JSS Layout Service now functions as expected. 301199
Storefront SXA-related ComputedIndexField errors no longer appear in the indexing log. N/A
Storefront Only one instance of JQuery is now loaded as part of the storefront themes. This avoids duplicates and decreases the size and load time of the themes. JQuerycookie.js and JQueryplaceholder.js have been removed from the Commerce core library theme. 317790
Storefront Landing on a wildcard page for either product or category when in Direct Navigation mode no longer throws an exception. 328029
Storefront The SXA Search Box component is no longer failing when used on a Commerce Page page design. The JavaScript issue has been resolved. 328840
Storefront Fixed a bug in SXA to resolve missing Creative Exchange export assets. Creative Exchange export assets are no longer missing. 309933
Storefront Indexing errors and exceptions have been removed: "Could not compute value for ComputedIndexField: ispoi ...", "Could not compute value for ComputedIndexField: sxacontent ...", "Could not compute value for ComputedIndexField: urllink ..." 276625, 329812, 318838
Storefront The Product Price component now shows the correct price regardless of whether there are variants associated with the product and despite the order of the Product Variant and Product Price components on the page. 324031
Storefront "Use Index File for Product Status in Lists" setting did not function because it relied on fields that did not exist in sitecore_master\web_index. The setting field has been removed as it was no longer supported by the Commerce Engine. 329913
Storefront A hardcoded path in the Storefront Minicart component has been removed and replaced with a component setting to configure the image to use for progress indicator. 323583
Storefront Hardcoded labels in the Order Lines component has been resolved. Variant options for color and size have been replaced with dynamic labels for variant options present. 324389
Storefront Resolved the scenario where the Media node displayed the Habitat media folder multiple times.
Note that for previous Commerce releases, a work-around to the issue includes manually removing the duplicate references to the media folder.
317019
Storefront Landing on the canonical URL in Direct Navigation mode threw an exception. This has been resolved. 328029
Connect Anonymous shoppers no longer break personalization rules. Personalization rules for anonymous shoppers now functions as expected. 323837
Solr Resolved errors occurring when searching, where SolrUrl ends with uppercase "SOLR". Open CommerceAuthoring_Sc9\wwwroot\data\Environments\PlugIn.Search.Solr.PolicySet-1.0.0.json. Provide the following value into SolrUrl field: "https://localhost:8983/SOLR". Bootstrap the config changes. Search for any entity in BizFx. The search is expected to work correctly, but instead an error was logged, "Problem accessing /SOLR/CatalogItemsScope/select". 335828
App Insights Resolved the issue where App Insights data for the Commerce Engine could not be accessed from the Azure Portal. 337367
Deployment Resolved an issue were a non-default Experience Platform password caused the Commerce deployment to fail. If the user changed the default XP admin password in XP, it caused the XC deployment to fail during bootstrap and the EnsureSyncDefaultContentPaths task. 329413

 

Breaking changes

Area Description TFS no.
Redis Caching Added centralized caching via Redis where Commerce Engine environments (Shops, Authoring, Minions, Ops) may be deployed on separate hardware/resources. Redis is now required in production environments, and is required by default. Redis is the default, but single development environments can be configured to use cache in local memory instead.
Link to Commerce Engine Caching documentation
320006
Engine Merged the Settlement minion into Release minion, to overcome risk of concurrency issues between the two minions. If out of box, then update the environment configuration to use the Release minion only, and bootstrap. Sales activities for federated payments are now settled by the ReleasedOrdersMinion, sales activities for gift cards payments are still settled by the PendingOrdersMinion.
The ReleasedOrdersMinion tries to settle the federated payments only once. If Braintree fails to settle, the sales activity and the order will be mark as problem and move to the problem lists, if not the sales activity is marked as settled and move to the settled lists and the order is marked as completed and move to the completed lists.
325520
Storefront For new sites, the standard SXA Navigation component is now used for category navigation as it offers more functionality and supports rendering variants. However, the default semantic HTML does not support mobile devices in terms of responsive design. For mobile support do one of 2 things: 1) replace the SXA Navigation component with the Commerce Navigation component or 2) Create a custom view for the navigation component that supports responsive design using Bootstrap or similar. See "Commerce Navigation rendering variant" in the documentation. 268853, 328654, 328655
Storefront As part of supporting private sites and security configured on Home page item, the field on Home item referencing back to the control panel settings for the site has been moved under "{site}/settings/commerce/Control Panel Configuration".
When upgrading from XC 9.1 -> XC 9.2, the new configuration item is created and set to the value from under Home item to support the new way of configuring control panel reference.
276759
Storefront Removed obsolete 3rd party JavaScript libraries changes: Removed jquery-321.js. Removed jquerycookie.js. Removed jqueryplaceholder.js. 317790
Storefront Method return types have changed. The return type of method "GetProductPriceRenderingModel" in ProductPriceRepoitory.cs has changed from "CatalogItemRenderingModel" to "ProductPriceRenderingModel". 324031
Storefront Updates related to creating security domains remotely. The "Set Site Domain" item has moved from "/sitecore/system/Modules/PowerShell/Script Library/Commerce Experience Accelerator/Functions/Commerce Site Features/Storefront Template" to " /sitecore/system/Modules/PowerShell/Script Library/Commerce Experience Accelerator/Functions/Commerce Site Features/Storefront Components". 280818
Storefront Scripts have been removed from the Storefront Branded Theme; it now contains only stylesheets. This change was made to ensure the upgrade of component themes (scripting) for future Storefront versions does not impact the customer who is extending the Storefront Branded Theme.
Link to documentation on extending the Storefront branded theme
311926

 

Known issues

Area Description TFS no.
Performance Azure PaaS search logs of type INFO are written to the file system by default. Depending on conditions, this logging could impact maximum achievable Storefront page view rates and response times. To maximize performance consider removing the collection of INFO logs, for example by setting the logging threshold to WARNING or ERROR. N/A
Performance Counters In an Azure Web Application deployment, Windows Performance Counters are not supported. However the Commerce Engine continues to write counters by default, causing an unauthorized access exception in the Commerce Engine log file. 278992
Business Tools Unable to create a custom qualification when the input field is the DateTime picker. For example, create a custom qualification plugin and set the property type to DateTimeOffset: public IRuleValue FutureEventStartDate { get; set; }. When creating a new promotion and adding a new qualification to it, after setting the "FutureEventStartDate" and "FutureEventEndDate" values, the custom qualification fails to be created. 282057
Storefront Storefront does not support SXA wireframe mode.
Link to documentation on SXA Wireframe mode
303826
Storefront When Template Overrides are missing and direct navigation is enabled, the site does not function as expected. This can happen either when upgrading from a Commerce release earlier than Commerce 9.1, or when creating a new catalog and associating it with a storefront. To work around the problem: 1) create Page Designs and templates if not present (prior to 9.1), and 2) configure template-2-Page Design mappings.
For more information see "Walkthrough: Configure direct navigation on an existing site"
311594
Storefront An error message "Invalid catalog Id" appears when searching a new site without a catalog associated. 281284
Storefront Created theme is not showing in the Select Theme option in EE upon creating a site with that has Commerce module/s selected. To work around the issue, configure the missed theme after site creation by navigating to "{site}/Presentation/Page Designs" and update the value for field Theme under section Styling. 316056
Storefront If customers in extreme cases places orders so fast that the order confirmation has not been processed by the New Order Placed Marketing Automation campaign and Email Experience Manager, the following orders will customer will not re-enter the campaign the second time and as a consequence no order confirmation is sent out. 319996
Storefront Personalization rules are not functioning when "product id" used as a condition. When trying to add a personalization rule for the Shopping Cart page by using "product id" in any conditions, the personalization page is not correctly applying the rules. The result is that the text is displayed always, instead of as defined by the rule. 204586
Storefront No category is displayed in the Category Navigation component in an Azure PaaS environment. Navigate to the QA page in the Experience Editor, after drag/dropping the Category navigation component, no Category displays. To work around the issue, restart the CD. Note that this issue functions correctly on the live site after publishing. 341397
Storefront Following an upgrade, when selecting the Dashboard link on the footer of the Storefront page, the link incorrectly navigates to the Sitecore sign in page, instead of the Storefront sign in page. To work around the issue, select Sign In from the top menu bar of the Storefront page. 319848
Storefront Within the QA page in Experience Editor mode, the "Show more text" button displayed below the promoted products is not actually display the "Show more text" message on the button. 321662
Deployment A scaled deployment may encounter issues with verification of long running commands through the API call. The task ID used to check if the long running command is completed is tied to a specific instance, so this will not work correctly in a scaled environment. 340148, 323216
Deployment After a deployment the user is unable to retrieve a catalog item from the Context Database. To work around the issue, restart the Content Delivery server. 333936

 

Documentation updates

Area Description TFS no.
Performance Storefront Added a topic on excluding APIs from being tracked in xDB.
Link to documentation
319240
Develeper Reference Added new topics on working with Commerce pipelines and blocs.
Link to documentation
N/A
Develeper Reference Added a new topic on describing elements of Commerce engine plugin.
Link to documentation
N/A
Develeper Reference Added a new topic describing the content of the Sitecore Commerce Engine SDK.
Link to documentation
N/A
DevOps Reference Added a new topic on explaining concepts of the Commerce Engine environments.
Link to documentation
N/A
DevOps Reference Added a new topic on Commerce Engine policies.
Link to documentation
N/A
DevOps Reference Added a new topic on how to install translation files for the Business Tools.
Link to documentation
N/A
DevOps Reference Added a new topic describing the content of the Sitecore Commerce Engine SDK.
Link to documentation
N/A
Storefront Added a topic on building a Commerce email message template.
Link to documentation
316072
Storefront Added a topic on changing the styling of a Commerce email.
Link to documentation
316072/td>
Storefront Added a topic on Commerce Navigation rendering variants.
Link to documentation
268853
Storefront Added a topic on configuring the minicart rendering.
Link to documentation
N/A
Storefront Added a topic on configuring the Product List cache.
Link to documentation
280874
Storefront Added a topic on customizing the Commerce Navigation rendering variant.
Link to documentation
268853
Storefront Added a topic on customizing the site creation pipeline.
Link to documentation
N/A
Storefront Added a topic on extending the Storefront Branded theme.
Link to documentation
N/A
Storefront Added a topic on getting started with Storefront for business users.
Link to documentation
N/A
Storefront Added a topic on getting started with Storefront for developers.
Link to documentation
N/A
Storefront Added a topic on rendering the catalog on the Storefront.
Link to documentation
N/A
Storefront Added a topic on restricting page access with SXA Storefront security roles.
Link to documentation
276759
Storefront Added a walkthrough topic on enabling direct navigation for customized Commerce entities.
Link to documentation
N/A
Marketing Automation Added a topic on understanding Commerce Marketing Automation Campaigns.
Link to documentation
N/A
Marketing Automation Added a walkthrough topic on Setting up a Commerce Marketing Automation Campaign.
Link to documentation
N/A