Patch Notes for B2B Commerce for Visualforce Spring ’20 (Version 4.12)

Patch notes for B2B Commerce.

Required Editions

Salesforce Compatibility Salesforce Classic and Lightning Experience for Enterprise, Performance, Unlimited, and Developer editions.

B2B Commerce Compatibility

Any org updating to or installing a patch for B2B Commerce for Visualforce Spring ’20 (version 4.12)

Tip
Tip
  • If you install a particular build in a sandbox and test and validate against that version, ensure that you also install the same build in production. For example, if you install build 3.147.2 in a sandbox, ensure that you also install build 3.147.2 in production.
  • Make sure that you find the correct link for your org type before you proceed with installing a patch. For example, if you're already logged in to a production org, select the URL for a production org, not a sandbox. Reverting or canceling an installation isn't always possible.
  • If you're installing B2B Commerce for Visualforce for the first time, install the most recent patch so that your implementation has the latest fixes. First, complete the Set Up a Storefront steps in the B2B Commerce for Visualforce Help, and then complete any required upgrade steps for each patch that precedes the build you installed.
  • Some fixes update default handlebars.js templates that render components on the storefront. If you've previously overridden a default template that receives a fix, reimplement your customizations based on the fixed version of the default template. This step ensures that custom code in your solution receives the benefit of the patch's fix.

3.147.17—July 25, 2023

  • Sandbox org URL: https://sfdc.co/b2bcommerce-pkg-sandbox-3-147-17
  • Production org URL: https://sfdc.co/b2bcommerce-pkg-prod-3-147-17
ID Fix
W-13690244 Fixed a potential vulnerability related to cross-site scripting (XSS).
W-13171968 Upgraded the versions of these JavaScript libraries distributed with the managed package: jquery-ui-custom.js from 1.13.1 to 1.13.2 and jquery.validate.js from 1.19.4 to 1.19.5. This change updates the ccrz.cc_hk_UserInterface.standardIncludes method for both the Bootstrap 3 and classic interfaces. For more information about the changes in these versions, see the jquery-ui.js release notes and jquery.validate.js release notes.

3.147.15—September 20, 2022

  • Sandbox org URL: https://sfdc.co/b2bcommerce-pkg-sandbox-3-147-15
  • Production org URL: https://sfdc.co/b2bcommerce-pkg-prod-3-147-15
ID Fix
W-11148636 Upgraded the versions of these JavaScript libraries distributed with the managed package: jquery-ui-custom.js from 1.12.1 to 1.13.1 and jquery.validate.js from 1.19.1 to 1.19.4. This change updates the ccrz.cc_hk_UserInterface.standardIncludes method for both the Bootstrap 3 and classic interfaces. For more information about the changes in these versions, see the jquery-ui.js release notes and jquery.validate.js release notes.

3.147.14—March 15, 2022

  • Sandbox org URL: https://sfdc.co/b2bcommerce-pkg-sandbox-3-147-14
  • Production org URL: https://sfdc.co/b2bcommerce-pkg-prod-3-147-14
ID Fix
W-10489057

Added the ability to filter the static resources that the ccrz.cc_util_UserInterface API utility class queries. This query includes static resources that contain your storefront's product images, theme files, and so on. This enhancement works around limits in your org if you've installed multiple managed packages, and allows you to specify the static resource namespaces that you want to query.

UPGRADE IMPACT: To implement this filter in your org, create metadata for a new configuration in the User Interface module that uses the API name nsList. Then, in your storefront settings, set the value of this configuration to a comma-separated list of the namespaces that you want to query. Avoid spaces between comma values, and be sure to include the default ccrz namespace in the list. For example, enter ccrz,other-namespace where other-namespace is a custom namespace that you want to include. For more information, see Create Metadata for the Namespace List Configuration Added in a Patch in the B2B Commerce for Visualforce Release Notes and Upgrade Guide.

3.147.13—October 8, 2021

  • Sandbox org URL: https://sfdc.co/b2bcommerce-pkg-sandbox-3-147-13
  • Production org URL: https://sfdc.co/b2bcommerce-pkg-prod-3-147-13
ID Fix
W-9877306 Upgraded the versions of these JavaScript libraries distributed with the managed package: handlebars.js from 4.7.6 to 4.7.7 and underscore.js from 1.9.2 to 1.13.1. This change updates the ccrz.cc_hk_UserInterface.standardIncludes method for both the Bootstrap 3 and classic interfaces. For more information about the changes in these versions, see the handlebars.js release notes and underscore.js release notes.
W-9811675 Fixed a potential vulnerability related to the My Orders section of the My Account page.
W-9811583 Fixed a potential vulnerability related to cross-site scripting (XSS) when modifying storefront settings in CC Admin.
W-9811510 Fixed an issue where an admin could potentially inject cross-site scripting (XSS) when creating custom configuration modules.
W-9806366 Updated the label for the pri.masterpl configuration setting to use the term Primary instead of Master. The new complete label is Create Primary Index for All Currencies. For compatibility, the API name for this configuration remains pri.masterpl.

3.147.12—July 22, 2021

  • Sandbox org URL: https://sfdc.co/b2bcommerce-pkg-sandbox-3-147-12
  • Production org URL: https://sfdc.co/b2bcommerce-pkg-prod-3-147-12
ID Fix
W-9190637 Fixed an issue where the bot-enabled Product Detail page didn't load when the product specified a decimal value for a spec that used the Slider filter type.

3.147.11—May 27, 2021

  • Sandbox org URL: https://sfdc.co/b2bcommerce-pkg-sandbox-3-147-11
  • Production org URL: https://sfdc.co/b2bcommerce-pkg-prod-3-147-11
ID Fix
W-9081908 Fixed an issue where autocomplete suggestions displayed on top of the Quick Order widget's input field, rather than below the field as expected.

3.147.10—February 23, 2021

  • Sandbox org URL: https://sfdc.co/b2bcommerce-pkg-sandbox-3-147-10
  • Production org URL: https://sfdc.co/b2bcommerce-pkg-prod-3-147-10
ID Fix
W-8875883 Fixed an issue where encoded XML characters were escaped when a buyer entered address values in line-level independence (LLI) checkout.
W-8782271 Fixed an issue where a guest buyer that refreshed their browser during the standard checkout workflow was redirected to the Shopping Cart page, but couldn't attempt checkout again.
W-8534567 Fixed an issue where the CC Email Address field in the User Information section of the standard Checkout page wasn't editable. This issue occurred when the account record used for checkout had the Prevent New Addresses at Checkout field enabled.
W-8527785 Fixed an issue where encoded XML characters were escaped when a buyer entered address values in standard checkout.
W-8433754 Fixed an issue where the Quick Order widget didn't show autocomplete suggestions. This issue occurred after a buyer clicked Add More to add extra rows and entered three or more characters of a SKU to add.
W-8246154

Fixed an issue where the Checkout page returned an Apex error that prevented checkout flow from completing successfully. This issue occurred when both of the following conditions were satisfied:

  • The Address Owned by User configuration of the Checkout module (co.uown) was TRUE.
  • A customer service representative (CSR) was logged in to the storefront using CSR flow and selected an effective account.

UPGRADE IMPACT: After you upgrade the managed package, update the Checkout module's Address Owned by User configuration to apply to all pages instead of only the Checkout page (co). Then, build and activate a new configuration cache.

3.147.9—November 4, 2020

  • Sandbox org URL: https://sfdc.co/b2bcommerce-pkg-sandbox-3-147-9
  • Production org URL: https://sfdc.co/b2bcommerce-pkg-prod-3-147-9
ID Fix
W-8291156 Fixed a rare issue where a product was added to an incorrect cart when a buyer was logged in with an effective account.
W-8115200 Fixed an issue where a subscription for a kit or dynamic kit didn't correctly evaluate recurring cost when adding to a cart or after pricing the cart.

3.147.8—October 22, 2020

  • Sandbox org URL: https://sfdc.co/b2bcommerce-pkg-sandbox-3-147-8
  • Production org URL: https://sfdc.co/b2bcommerce-pkg-prod-3-147-8
ID Fix
W-8147964 Upgraded the version of the handlebars.js library distributed with the managed package to 4.7.6. This change updates the ccrz.cc_hk_UserInterface.standardIncludes method for both the Bootstrap 3 and classic interfaces. For more information about the changes in version 4.7.6, see the Handlebars release notes.
W-8146300

Fixed an issue where multiple quantity controls were available for the Add to Cart button. This issue occurred when the storefront enabled product quantity rules with an increment value of 1.

UPGRADE IMPACT: This fix updates the Handlebars templates that render quantity controls. This fix also adds an example inner class, single, to the ccrz.cc_api_ProductQuantityRule extension point in the API. This inner class adds increase (+) and decrease (-) Increment buttons to all quantity input controls, but no Skip Increment buttons. To enable this inner class on your storefront, edit the Product Quantity Rule API Class field in your storefront settings to cc_api_ProductQuantityRule:single.

W-8018983

Fixed an issue where the sharing rules for the following custom objects potentially exposed personal identifiable information (PII) in carts, orders, and addresses:

  • CC Cart
  • CC Contact Address
  • CC Order

These sharing rules were previously required for a storefront that allows a guest buyer to create a cart and check out. This fix removes the dependency on the specific sharing rules. Guest user carts and checkout continue to behave correctly without these rules.

UPGRADE IMPACT: After you install the patch, to remove the affected sharing rules and update sharing attributes in the default order confirmation email template, complete the steps in Remove Sharing Rules for Carts, Orders, and Addresses in the B2B Commerce for Visualforce Release Notes and Upgrade Guide.

3.147.7—September 23, 2020

  • Sandbox org URL: https://sfdc.co/b2bcommerce-pkg-sandbox-3-147-7
  • Production org URL: https://sfdc.co/b2bcommerce-pkg-prod-3-147-7
ID Fix
W-8033828 Fixed an issue where a buyer couldn't add a product to the cart when the product's SKU contained certain 15- or 18-digit values. This issue occurred when the buyer clicked the Add to Cart button from the Product Detail page.
W-8032391 Fixed an issue where products with a significant number of price list items were excluded from the product index batch jobs, due to Apex governor limits. This fix adds two storefront configuration settings in the Product Indexing module, Override Default Batch Size and Custom Batch Size. Set values for these configurations to fine-tune the performance of your product index batch jobs.
W-7976688

Enabled the Secure attribute for the following cookies:

  • apex__cc_anonymous_Country
  • apex__cc_anonymous_Currency
  • apex__cclgtkn
  • apex__currCartId
  • apex__effacc

This attribute ensures that the managed package sends cookie data securely through an encrypted request over HTTPS protocol. For more information, see:

W-7953267 Fixed an issue where clicking the Show Pricing Tiers button on the Shopping Cart page caused the API to query all the user's entitled products. For price lists with a significant number of price list items, this issue could result in Apex CPU Limit exceptions.
W-7942357

Fixed an issue where the Email Us link in the Site_Get_In_Touch page labels didn't link to an actual email address. Instead, the link redirected a buyer to the current storefront page. This issue affected the following Visualforce pages:

  • ccrz.CCException
  • ccrz.CCFileNotFound
  • ccrz.CCInMaintenance
  • ccrz.CCUnauthorized
  • ccrz.CCUnderConstruction

UPGRADE IMPACT: After you install the patch, update the affected page labels. Complete the steps in Update the Page Labels for Site Admin Email on Exception Pages in the B2B Commerce for Visualforce Release Notes and Upgrade Guide.

W-7926529

Fixed an issue where changing a cart item's quantity to zero and updating the cart didn't also change the cart item quantity in the buyer's session cache. This issue occurred when all the following conditions were true:

  • The Allow Zero Quantity configuration of the Cart module was TRUE.
  • Platform cache was enabled,
  • The buyer changed the quantity of only one cart item to zero.
W-7914386

Fixed an issue where duplicate internationalized spec values appeared on the Product Compare page. This issue occurred when both of the following conditions were true:

  • At least two CC Spec records had the same Name (such as Color), but different Locales (such as en_US and ja_JP).
  • A product had a spec value assigned for each spec.
W-7800839 Fixed an issue where read-only shipping and billing addresses remained potentially editable. This issue affected address fields in the Manage Address Book section of the My Account page and both standard and LLI checkout.
W-7610302 Added logging capabilities to the API for measuring and monitoring the performance of certain method calls, such as ccrz.ccApiCart.fetch or ccrz.ccApiProduct.fetch, in production orgs. This enhancement allows Salesforce to identify and troubleshoot performance issues more efficiently.

3.147.5—August 11, 2020

  • Sandbox org URL: https://sfdc.co/b2bcommerce-pkg-sandbox-3-147-5
  • Production org URL: https://sfdc.co/b2bcommerce-pkg-prod-3-147-5
ID Fix
W-7797632 Fixed an issue where the ccrz.ccApiCart.fetch() method didn't propagate the without sharing flag (ccrz.ccService.WODAO) to the chained ccrz.ccApiCart.fetchCartItems() query. This fix ensures that the flag propagates correctly for API version 8 or later.
W-7768447 Fixed an issue where the Apex batch jobs that refresh product index records failed because of Apex governor limits. This issue occurred when a product had over 5,000 price list items assigned, and one of the price lists was the storefront's master price list.
W-7765024

Fixed an issue where a buyer wasn't able to log in to the storefront. This issue occurred in an org that's resolved the security alerts for preventing unauthorized guest user access to their storefront data. If the user configured as the Default Record Owner owned multiple active carts that were abandoned, the heap size filled up. As a result, no registered users could log in.

UPGRADE IMPACT: This fix updates the ccrz.ccLogicUserLogin.determineStartURL() logic provider method in the following ways:

  • The call to ccrz.ccApiUser.fetch() specifies ccrz.ccService.QUERYLIMIT => 1 and ccrz.ccService.WODAO => True.
  • The call to ccrz.ccApiCart.fetch() specifies ccrz.ccService.QUERYLIMIT => 1.
W-7582677

Updated the default ccrz.cc_hk_UserInterface extension point class to distribute the latest stable, secure versions of jQuery (3.5.1) and jQuery Migrate (3.3.0).

UPGRADE IMPACT: This upgrade also introduces a breaking change where non-void HTML elements that use self-closing tags, such as <div/>, no longer render. This HTML compatibility change affects the default Handlebars templates included in the managed package, and can affect front-end extensions or customizations that you've already developed. For more details about the jQuery upgrade and the impact on the HTML used in your storefront, see the Salesforce Knowledge article, Upgrade to jQuery 3.5.1 in B2B Commerce for Visualforce Spring ’20 (Version 4.12) or Earlier.

W-7481565 Fixed an issue where sections of the LLI checkout flow didn't consistently use a page label for the Back button. This fix adds a default page label for the value Back and discontinues the use of the page label named LLICheckOut_Back.

3.147.4—June 29, 2020

  • Sandbox org URL: https://sfdc.co/b2bcommerce-pkg-sandbox-3-147-4
  • Production org URL: https://sfdc.co/b2bcommerce-pkg-prod-3-147-4
ID Fix
W-7575785 Fixed an issue where a buyer was redirected to a URL from a promotion in the current browser window instead of a new browser window. This issue occurred for a promotion where Location Type is Banner, Link Type is URL, and New Window is enabled. This issue occurred only when the storefront had Google Analytics set up.

3.147.3—June 18, 2020

  • Sandbox org URL: https://sfdc.co/b2bcommerce-pkg-sandbox-3-147-3
  • Production org URL: https://sfdc.co/b2bcommerce-pkg-prod-3-147-3
ID Fix
W-7646046 Fixed an issue where the ccrz.ccServiceProductSpecIndex data service provider class incorrectly queried ccrz__E_ProductSpecIndex__c records for all locales instead of filtering by a specific locale. This issue only affected performance, and didn’t impact any functionality.
W-7636592 Fixed an issue where the Reorder widget didn't filter available orders correctly. This issue occurred when the Filter Orders Based on Owner storefront setting was disabled. But, the Reorder widget continued to filter orders based on whether the Owner field matched the logged-in user's ID.
W-7540018

Fixed an issue where a service override wasn’t available in CC Admin for the ccrz.ccServiceFeatured data service provider class.

UPGRADE IMPACT: To make this override available after you upgrade the managed package, execute the following anonymous Apex code from the Developer Console:

ccrz.ccApi.registerService(new Map<String, Object>{
    'SFP' => 'ccServiceFeatured'
});
W-7538054 Fixed an issue where a buyer couldn’t click Add to Cart from the Sellers widget on the Product Detail page.

3.147.2—May 22, 2020

  • Sandbox org URL: https://sfdc.co/b2bcommerce-pkg-sandbox-3-147-2
  • Production org URL: https://sfdc.co/b2bcommerce-pkg-prod-3-147-2
ID Fix
W-7519143

Fixed an issue where an error occurred when showing shipping options during checkout. This issue occurred after the following sequence of events:

  1. A buyer first selected a shipping option during checkout.
  2. The buyer exited checkout flow, returned to their cart, and changed the cart's contents in such a way that the selected shipping option became invalid.
  3. Finally, the buyer returned to the checkout flow.

This fix removes the invalid shipping option from the CC Cart record when proceeding through checkout again.

W-7502323 Fixed an issue where files in a static resource, such as CSS and JavaScript files, were repeatedly fetched and stored in the web browser cache. This fix removes query string parameters from the URL paths that B2B Commerce for Visualforce generates for a page's <script> or <link> tags.
W-7488233 Fixed an issue where CSR flow didn't respect the Filter Orders Based on Owner storefront setting.
W-7488005 Fixed an issue when enabling the AddrReadOnly field on a CC Contact Address record. The value of this field didn't propagate to the related CC Contact Address records that B2B Commerce for Visualforce creates for a cart, order, or invoice.
W-7484694 Fixed an issue where the billing and shipping addresses in the Order Review section of the Checkout page showed data from the wrong object. This issue occurred when using effective accounts. The Checkout page didn't show the value of the Partner ID field from the selected account's default billing and shipping addresses. Instead, the page incorrectly showed the value of the Account Number field from the selected account's corresponding account record.
W-7481614 Added a global page label for the Send button in the Email Cart window. This page label is available for both the Shopping Cart page version 2.0 and 1.0.
W-7481059 Fixed an issue where the Owner column in the My Orders section of the My Account page showed an incorrect value. This issue occurred when the Filter Orders Based on Owner storefront setting was disabled.
W-7456721 Fixed an issue where a buyer couldn't add a product to the cart when the product's SKU value exceeded 18 characters. This issue occurred when the buyer clicked the Add to Cart button from the Product Detail page.
W-7453461

Fixed an issue where the Checkout page didn't reliably load the account's default shipping or billing address. Previously, B2B Commerce for Visualforce allowed multiple shipping or billing account address book records to have the Default field set. This fix enforces a limit of one shipping and one billing account address book entry per account.

UPGRADE IMPACT: Edit the account address book record that you want to use for the default selected during checkout, and enable its Default field. B2B Commerce for Visualforce uses whichever record where Default was most recently enabled as the default address during checkout.

W-7447431

Fixed potential security vulnerabilities in some extension point classes.

UPGRADE IMPACT: This fix deprecates the ccrz.cc_hk_EffectiveAccount.fetchAccountData() method.

W-7441603 Fixed an issue where a menu didn't show more than three levels of nested menus.
W-7402008

Fixed an issue where the CC Admin tab didn't load for a user whose admin profile didn't have Create access on the E_Foo__c object.

As a result of this change, a user with the admin profile can’t download files from CC Admin | Global Settings | Settings Loader.

W-7396481 Fixed an issue where the third line of a billing or shipping address didn't display in the order confirmation email.
W-7386336 Fixed an issue where subscriber extensions to the ccrz.cc_api_ShippingAndHandling extension point class couldn't perform HTTP/S callouts during Checkout flow.