August 9, 2022 — 1.2230 Service Update

Production Tenant Features

eCommerce & Order Management Functionality

  • Filter Products in Multiple Catalogs: You can now filter the Get Products API call for products in multiple catalogs using the IN filter. Previously, you could only filter products using EQ with a single catalog. Applying a filter such as ?filter=productInCatalogs.catalogid IN [1,2,3] will now return the products that are in at least one of those catalogs.
  • Clickable Subscription Links: The Subscription Details page now displays which price list is applied to the subscription (under a “Pricelist Applied” field) as well as displays the Initial Order ID as a clickable link. Clicking this Order ID will redirect you to the initial order’s details.
  • Future Shipment Date Update: An update has been made to improve the Future Available to Promise inventory feature, in which the shipment date will reflect any updates to the future inventory availability date. This allows you to have more accurate expected fulfillment dates for shipments that contain future inventory. Once the inventory record is updated with a new availability date, a shipment in the Future state that uses that inventory will be immediately updated with an appropriate date as well. If there were multiple future items on the shipment and only some updated (or they were changed to different dates), then the shipment will be split based on those dates. If all items changed to the same date, then the shipment date will update without splitting the shipment.
  • Unlock Account via API: It is now possible for administrators to unlock a user’s Admin UI account via API after they inputted the wrong password too many times and disabled their account. (Note that resetting the password will not unlock the account.) You can call the Accounts Unlock API at POST …/platform/adminuser/multi-scope/accounts/{userId}/unlock
  • Orders Advanced Filter: A number of enhancements have been made to the Orders UI advanced filters.
    • The Orders page now allows you to search for shipments in the Future status using the Advanced Filter. The Shipment Status filter now supports the “Future” option in the drop-down menu and when selected, will return results wherever a Future shipment exists.
    • A new filter for “Order Number” has been added which will perform an exact search for an order number.
    • The Advanced Filter now provides options for Exact Search (which is selected by default) and Contains Search. This allows you to choose whether you want to perform an exact search or a contains search for all text fields you filter for (except for keyword search, which has not been changed). A minimum of three characters must be provided for each filter, and if then less than three characters are provided then that filter will not be considered in search results.
    • The fields in the Advanced Filter have been rearranged in a more logical sequence.
    • If no results were found, then an improved “No Data Available” message now displays and is centered in the space. There is also a Reset button that clears all of the selections from the Advanced Filter, and an X button on every text field to clear that individual field.
  • Admin UI Enhancements: A number of visual enhancements have been made to different pages across the Admin UI.
    • The Return to New Gift Card checkbox on the Return details page has been moved to better match the other options on the page, where previously it was in the bottom right.
    • If you search for a product on the Inventory page and then click Create New Inventory and create a new record, the interface will clear the search input and will not prepopulate the product code in your new inventory with the product code you searched for.
    • The Initiate Refund button sat over the header line of the Return details page and has now been moved to better fit the space.
    • If no results were found after searching the Location or Customer page, or the Customer Wishlists module within customer details, then an improved “No Data Available” message now displays and is centered in the space.
    • The Printer Type field is a required setting in location group configurations and previously caused an error if you did not select a value. Now, the printer type will default to “Laser” if no other value is specified.
    • The “Total” field in shipment adjustments has been renamed to “Shipments Total” and the message instructing to view a cancelled shipment’s items in the Cancelled Items tab has been reworded for more clarity. Additionally, clicking the Customer > Wishlist tab icon automatically navigates you to the Wishlist section of the page.
    • Order and Return Statuses in the order dashboard, order details, return dashboard, and return details pages now display different pill colors to help differentiate statuses.
    • Clickable links are now highlighted on the Returns page (including the customer name and order number) and the shipment number link on the order details page is now green to make it more visibly clickable. The return number is also displayed as green in order details.

Fulfiller Functionality

  • Sort By Order Date: The search results page in the Fulfiller UI now offers the ability to sort results by order placement date. The existing “Newest First” and “Oldest First” options, which refer to the shipment assignment date, have been renamed to “Shipment Assigned First” and “Shipment Assigned Last” for better clarity. The new options, “Order Placed First” and “Order Placed Last,” will organize the results with the oldest or latest order on top, respectively.
  • Localization Support: While the Fulfiller UI previously only supported English and French languages, it has now been extended to support any languages that are ordered left-to-right as long as that language file has been added to your custom theme. If a language file exists for the user’s browser language, then the FFUI and return menus inside the FFUI will automatically be displayed in that language. If a file does not exist, then the UI will be displayed in English. Kibo has not added translations, but if you wish to then you can upload your own .js file per the instructions in the customization guide. Additionally, note that the language files for the returns functionality within the FFUI is a separate folder in the theme and thus requires its own additional language file.

Search Functionality

  • Personalization Factor Limit: The validation and interface text of the Search Settings UI has been updated to allow you to select a value greater than 5 in the Personalization Factor configuration. You can now successfully select a range from 0.1 to 100.

Production Sandbox Features

eCommerce & Order Management Functionality

  • Quick Edits Catalog Filter: When assigning catalogs in Quick Edits, you can now use the advanced filter to search for products by child catalog. A catalog picker has been added to the top of the filter list, and allows you to select one or more catalogs to filter the displayed products by.
  • Clickable Order Audit Links: When viewing the order audit log on the order details page, subscription numbers are now clickable. This will immediately navigate you to the subscription details page, where previously you had to note the subscription number and navigate there yourself. These are usually the logs where a subscription was created for the initial order, as well as when a continuity order was converted into an order.
  • Segmentation for Pending Items: Pending items (where inventory is not yet available but will be allocated once available) have been reworked to support segmentation. Where pending item data in the inventory model was previously based on the Product ID and Bin ID, it now supports an Inventory ID instead of the Product ID. Inventory segmentation requires this Inventory ID field to monitor which tagged inventory the pending item is associated to.
  • Recalculate Dynamic Categories: A new filter parameter, recalculateDynamicCategories, has been added to the storefront Add to Cart APIs, as well as the Get Product and Validate Product APIs. When set to true, this will recompute dynamic categories which is required in order to apply discounts at the product variant level (since product variants are associated to those categories). This flag is applied to the request path such as in ?recalculateDynamicCategories=True
  • Get All Product Properties: A new filter parameter, mapIsProductDetailsOnlyProperties, has been added to the storefront Get Products API call. When set to true, the API will ignore the isProductDetailsOnly field while generating the response. This means that the call will return all properties associated with the product, where previously it would exclude some properties. This makes it easier to retrieve the property attributes for multiple products at once, and makes it more consistent with the Get Product API (which already returns all attributes by default). This flag is applied to the request path such as ?mapIsProductDetailsOnlyProperties=True
  • Return Enhancements: Several updates have been made to returns.
    • When a return has been cancelled, the buttons to Receive Package, print the Return Label, Resend Email, and Refund to New Gift Card are now disabled because these actions are not supported for cancelled returns.
    • Pop-ups will now ask for confirmation after clicking Initiate Refund or Issue Refund from the return or order details pages. This allows you to confirm or cancel the action before it is performed by the system.
    • The “Items Refunded” label when viewing return details has been reworded to “Quantity Refunded.”
    • The internal notes that can be added during the Issue Refund and Ship Replacement actions, as well as directly from the return details page, are now input as text boxes and positioned better in the Issue Refund modal.

Fulfiller Functionality

  • Clickable Links in Notes: In the Fulfiller UI, links in the shipment notes and order notes were not actually clickable but instead required you to copy and paste the URL plaintext into your address bar. Now, the UI can detect when text in these notes is a link and convert it into a clickable hyperlink. The same has been done for order notes in the Order Admin UI.

Search Functionality

  • Search Merchandizing Rules: The concept of Search “Campaigns” (not to be confused with the eCommerce marketing campaigns feature) is being replaced with “Merchandizing Rules.” To support this, several changes have been made to the Search UI. Merchandizing rules implement the same functionality as campaigns, but with some additional behavior as listed below. The Search documentation will be updated soon for more details.
    • Search configurations have been moved to their own Configurations page (where previously they were listed with campaigns on the Search Settings page) and a new page for Merchandizing Rules is now accessible where all rules will be listed.
    • On this Merchandizing Rules page, you can create and manage all merchandizing rules and conditions as well as preview site search results. This includes assigning boost/bury values.
    • Pin products so that they will always display at that exact location in the search results on your storefront, as well as manually rank them via drag and drop.

Bug Fixes

The following list summarizes resolved issues for this release.

StatusResolution
Targeted for Production TenantsSTH Consolidation parent shipments got stuck on the Waiting For Transfer step after their transfer shipment had been fulfilled. This has been corrected so that parent shipments can successfully continue their workflow after receiving transfers.
Targeted for Production TenantsAn error during the reassignment process of a shipment created a duplicate shipment that could not be removed or edited, causing the order amount to be doubled. This process has been improved to prevent this duplication from occurring in the future.
Targeted for Production TenantsSome refund transactions were missing in the appeasements report, due to payment data not recording a create date field after refunding to a new gift card. This has been fixed so that this payment information is always populated and these transactions are able to be included in reporting.
Targeted for Production TenantsThe Catalog and Product Runtime services did not reflect when an inventory record was deleted from a location, as the inventory was still displayed as in stock afterwards. This has been fixed so that inventory deletion accurately updates the catalog and product data.
Targeted for Production TenantsErrors were experienced while searching on the storefront if one of the category notes in the tree had a null value. This process has been updated to better handle these scenarios and log the error without failing the search.
Targeted for Production TenantsSandboxes were experiencing “Attempted to divide by zero” errors when viewing product pages with bundled products or adding a bundle to the cart. This was due to the quantity on a product extra not being mapped properly, which has now been fixed so that bundle products will not cause this page error.
Targeted for Production SandboxesThe My Account page was not receiving shipment data from the API for any order history beyond the first page. This was due to the Get Order call not receiving Shipment API data for those cases, breaking the page templates that required that shipment information. This has been fixed so that order history will properly include all shipment data.
Targeted for Production SandboxesIf a user deleted an address from the My Account page during the checkout process, a “cannot read properties of undefined” error was experienced when placing the order. This was due to the checkout referencing the deleted address. This has now been corrected so that an error will not be displayed during checkout, but the order will be placed and the address will be treated as a new address (meaning that it will be re-added to the address book afterwards).
Targeted for Production SandboxesWhen a subscription had multiple items with the same frequency, attempting to update the frequency did not display any options in the drop-down menu. This has been fixed so that this menu displays all frequency options as expected.
Targeted for Production SandboxesWhen editing the Next Order Date of a subscription, KCCP experienced an error upon clicking Save and logged the user out of the system. This only occurred if changing the Next Order Date was the first action that the user did on the page, but has now been fixed so that the date can be changed and saved successfully.
Targeted for Production SandboxesWhen creating a new shipment, the product name search did not return any results. This has been corrected so that exact matches will be returned as expected, but note that at least 4 characters must be entered in the search bar to begin displaying results.
Targeted for Production SandboxesA particular implementation used the stringBarcode field to enable the long tracking number for international shipping partners. However, this field occurred in different locations between the KCCP Fulfiller UI (within packages data) and translated OMS APIs (within packages.attributes data). The translation layer has now been updated so that the stringBarcode field can be supported between the KCCP UI and translated OMS APIs without causing errors.
Targeted for Production SandboxesImages in webp format did not display thumbnails in the File Manager, just the text “no image” even though they displayed properly on the site. This has been corrected so that thumbnails can be successfully displayed for this image type.
Targeted for Production SandboxesA validation error was encountered when trying to use a negative number as a boost, even though boosts within the range of -100 and 100 were expected to be accepted. This has been corrected so that boosts with a value of less than 0 can now be applied for Site Search, Product Search, and listings through both the API and Search Configurations UI.
Targeted for Production SandboxesA 500 error was encountered while searching the storefront if one of the categories in the category tree had a null value. Improvements have been made so that the search can handle this scenario and still return appropriate results instead of an error.


Restricted Content

Internal Release Notes

Production Tenant Features

Client-Facing Updates

  • Filter Products in Multiple Catalogs (QE-455): You can now filter the Get Products API call for products in multiple catalogs using the IN filter. Previously, you could only filter products using EQ with a single catalog. Applying a filter such as ?filter=productInCatalogs.catalogid IN [1,2,3] will now return the products that are in at least one of those catalogs.
  • Clickable Subscription Links (COM-6063): The Subscription Details page now displays which price list is applied to the subscription (under a “Pricelist Applied” field) as well as displays the Initial Order ID as a clickable link. Clicking this Order ID will redirect you to the initial order’s details.
  • Future Shipment Date Update (CHAR-3958): An update has been made to improve the Future Available to Promise inventory feature, in which the shipment date will reflect any updates to the future inventory availability date. This allows you to have more accurate expected fulfillment dates for shipments that contain future inventory. Once the inventory record is updated with a new availability date, a shipment in the Future state that uses that inventory will be immediately updated with an appropriate date as well. If there were multiple future items on the shipment and only some updated (or they were changed to different dates), then the shipment will be split based on those dates. If all items changed to the same date, then the shipment date will update without splitting the shipment.
  • Sort By Order Date (FFMT-3350): The search results page in the Fulfiller UI now offers the ability to sort results by order placement date. The existing “Newest First” and “Oldest First” options, which refer to the shipment assignment date, have been renamed to “Shipment Assigned First” and “Shipment Assigned Last” for better clarity. The new options, “Order Placed First” and “Order Placed Last,” will organize the results with the oldest or latest order on top, respectively.
  • Localization Support (FFMT-3358): While the Fulfiller UI previously only supported English and French languages, it has now been extended to support any languages that are ordered left-to-right as long as that language file has been added to your custom theme. If a language file exists for the user’s browser language, then the FFUI and return menus inside the FFUI will automatically be displayed in that language. If a file does not exist, then the UI will be displayed in English. Kibo has not added translations, but if you wish to then you can upload your own .js file per the instructions in the customization guide. Additionally, note that the language files for the returns functionality within the FFUI is a separate folder in the theme and thus requires its own additional language file.
  • Unlock Account via API (COM-6026): It is now possible for administrators to unlock a user’s Admin UI account via API after they inputted the wrong password too many times and disabled their account. (Note that resetting the password will not unlock the account.) You can call the Accounts Unlock API at POST …/platform/adminuser/multi-scope/accounts/{userId}/unlock
  • Personalization Factor Limit (SU-2974): The validation and interface text of the Search Settings UI has been updated to allow you to select a value greater than 5 in the Personalization Factor configuration. You can now successfully select a range from 0.1 to 100.
  • Orders Advanced Filter: A number of enhancements have been made to the Orders UI advanced filters.
    • (COM-5924) The Orders page now allows you to search for shipments in the Future status using the Advanced Filter. The Shipment Status filter now supports the “Future” option in the drop-down menu and when selected, will return results wherever a Future shipment exists.
    • (COM-5921) A new filter for “Order Number” has been added which will perform an exact search for an order number.
    • (COM-5880) The Advanced Filter now provides options for Exact Search (which is selected by default) and Contains Search. This allows you to choose whether you want to perform an exact search or a contains search for all text fields you filter for (except for keyword search, which has not been changed). A minimum of three characters must be provided for each filter, and if then less than three characters are provided then that filter will not be considered in search results.
    • (COM-5878) The fields in the Advanced Filter have been rearranged in a more logical sequence.
    • (COM-5877) If no results were found, then an improved “No Data Available” message now displays and is centered in the space. There is also a Reset button that clears all of the selections from the Advanced Filter, and an X button on every text field to clear that individual field.
  • Admin UI Enhancements: A number of visual enhancements have been made to different pages across the Admin UI.
    • (COM-6059) The Return to New Gift Card checkbox on the Return details page has been moved to better match the other options on the page, where previously it was in the bottom right.
    • (COM-6036) If you search for a product on the Inventory page and then click Create New Inventory and create a new record, the interface will clear the search input and will not prepopulate the product code in your new inventory with the product code you searched for.
    • (COM-6023) The Initiate Refund button sat over the header line of the Return details page and has now been moved to better fit the space.
    • (COM-6022) If no results were found after searching the Location or Customer page, or the Customer Wishlists module within customer details, then an improved “No Data Available” message now displays and is centered in the space.
    • (COM-6021) The Printer Type field is a required setting in location group configurations and previously caused an error if you did not select a value. Now, the printer type will default to “Laser” if no other value is specified.
    • (COM-6015) The “Total” field in shipment adjustments has been renamed to “Shipments Total” and the message instructing to view a cancelled shipment’s items in the Cancelled Items tab has been reworded for more clarity. Additionally, clicking the Customer > Wishlist tab icon automatically navigates you to the Wishlist section of the page.
    • (COM-6011) Order and Return Statuses in the order dashboard, order details, return dashboard, and return details pages now display different pill colors to help differentiate statuses.
    • (COM-6009) Clickable links are now highlighted on the Returns page (including the customer name and order number) and the shipment number link on the order details page is now green to make it more visibly clickable. The return number is also displayed as green in order details.

Internal Updates

The following enhancements are internal-only and not exposed to clients.

  • FFMT-3381: The timeout setting has been doubled for the Shipping Runtime connection used by Fulfillment APIs, allowing more time for creating and printing large shipping manifests.
  • COM-3954: Integration tests have been replaced with the proper unit tests in the location Availability, Pickup Location, and Site Availability cache test suites.
  • FFMT-3356: The Shipment API model has been updated to include a cartId, items.cartItemId, and items.isReservedInventory to support the upcoming Allocate Inventory in Cart feature. More information about this feature will be included in the client-facing release notes at time of release.
  • COM-3927: The Get Export Settings API call now returns an improved response, in which fields have been renamed from underscore notation (such as file_format) to camel case (fileFormat) to better match other Kibo Composable Commerce Platform APIs. 
  • CHAR-3927: The inventory log has been optimized to handle a larger volume of transactions without generating an excessive amount of logs, for cases such as Peavey who generated 3 billion inventory logs and caused issues with a flyway script on deployment.
  • CAT-1538: The schema for the Update Product in Catalog API call has been updated to fix an error with how the API description was displayed in Swagger and on our API documentation. The fix is reflected in Swagger and will be applied to the documentation when it is next updated.
  • TECH-814: The Suggest API used for Search has been modified to return the newer suggestion group type.

Production Sandbox Features

Client-Facing Updates

  • Quick Edits Catalog Filter (QE-443 and QE-454): When assigning catalogs in Quick Edits, you can now use the advanced filter to search for products by child catalog. A catalog picker has been added to the top of the filter list, and allows you to select one or more catalogs to filter the displayed products by.
  • Clickable Order Audit Links (COM-6053): When viewing the order audit log on the order details page, subscription numbers are now clickable. This will immediately navigate you to the subscription details page, where previously you had to note the subscription number and navigate there yourself. These are usually the logs where a subscription was created for the initial order, as well as when a continuity order was converted into an order.
  • Segmentation for Pending Items (CHAR-1891): Pending items (where inventory is not yet available but will be allocated once available) have been reworked to support segmentation. Where pending item data in the inventory model was previously based on the Product ID and Bin ID, it now supports an Inventory ID instead of the Product ID. Inventory segmentation requires this Inventory ID field to monitor which tagged inventory the pending item is associated to.
  • Recalculate Dynamic Categories (COM-6136, requested by Specialty Commerce): A new filter parameter, recalculateDynamicCategories, has been added to the storefront Add to Cart APIs, as well as the Get Product and Validate Product APIs. When set to true, this will recompute dynamic categories which is required in order to apply discounts at the product variant level (since product variants are associated to those categories). This flag is applied to the request path such as in ?recalculateDynamicCategories=True
  • Get All Product Properties (COM-1644, requested by Ace Hardware): A new filter parameter, mapIsProductDetailsOnlyProperties, has been added to the storefront Get Products API call. When set to true, the API will ignore the isProductDetailsOnly field while generating the response. This means that the call will return all properties associated with the product, where previously it would exclude some properties. This makes it easier to retrieve the property attributes for multiple products at once, and makes it more consistent with the Get Product API (which already returns all attributes by default). This flag is applied to the request path such as ?mapIsProductDetailsOnlyProperties=True
  • Clickable Links in Notes (FFMT-3386 and COM-6137, requested by The Level Group and Peavey): In the Fulfiller UI, links in the shipment notes and order notes were not actually clickable but instead required you to copy and paste the URL plaintext into your address bar. Now, the UI can detect when text in these notes is a link and convert it into a clickable hyperlink. The same has been done for order notes in the Order Admin UI.
  • Return Enhancements: Several updates have been made to returns.
    • COM-6119: When a return has been cancelled, the buttons to Receive Package, print the Return Label, Resend Email, and Refund to New Gift Card are now disabled because these actions are not supported for cancelled returns.
    • COM-6104: Pop-ups will now ask for confirmation after clicking Initiate Refund or Issue Refund from the return or order details pages. This allows you to confirm or cancel the action before it is performed by the system.
    • COM-6097: The “Items Refunded” label when viewing return details has been reworded to “Quantity Refunded. 
    • COM-6030: The internal notes that can be added during the Issue Refund and Ship Replacement actions, as well as directly from the return details page, are now input as text boxes and positioned better in the Issue Refund modal.
  • Search Merchandizing Rules (SU-2252, SU-2264, SU-2580, SU-2272, SU-2218, SU-2219, and SU-2367): The concept of Search “Campaigns” (not to be confused with the eCommerce marketing campaigns feature) is being replaced with “Merchandizing Rules." To support this, several changes have been made to the Search UI. Merchandizing rules implement the same functionality as campaigns, but with some additional behavior as listed below. The Search documentation will be updated soon with more details.
    • Search configurations have been moved to their own Configurations page (where previously they were listed with campaigns on the Search Settings page) and a new page for Merchandizing Rules is now accessible where all rules will be listed.
    • On this Merchandizing Rules page, you can create and manage all merchandizing rules and conditions as well as preview site search results. This includes assigning boost/bury values.
    • Pin products so that they will always display at that exact location in the search results on your storefront, as well as manually rank them via drag and drop.

Internal Updates

The following enhancements are internal-only and not exposed to clients.

  • TECH-813: The Solr Schema Manager now includes a POST Suggest API at /commerce/catalog/admin/searchSchema/terms?name=default&format=csv/tsv/json, which accepts a .tsv document.
  • FFMT-3312: Shipment service code has been refactored and improved when creating future shipments. This process reads future inventory when the transfer suggestion is unavailable. Repetitive methods and code have been removed, as has a deprecated API.
  • COM-6138: The Prod-SB continuity order task interval has been updated to 30 minutes.
  • CHAR-4035: To support the real-time inventory service, fetch files are processed and emit batch events. If there are more than 500 location codes that go in or out of stock for a given product code, they will be placed into a batch. These batch events are not published if real-time inventory is not enabled. In that case, only normal events are published.
  • SU-2242 and SU-2635: Pre-existing Search campaigns (which are being replaced by merchandizing rules) can now be migrated with API endpoints. When a tenant has pre-existing campaigns, migrating them generates a merchandizing rule with the same configuration.
  • SU-2411: Search merchandizing rules have been added to the Solr index for faster lookups.
  • Note: Various updates have been made to add new Reservation APIs and support the upcoming Allocate Inventory in Cart feature. While you can view these tickets in the Jira list, they are not individually listed here because documentation will be provided for this feature upon completion.

Additionally, the following setting has been added to UIs but does not currently affect behavior. In an upcoming release, functionality will be updated to respect this setting and the enhancement will be announced in client-facing release notes.

  • COM-6068: A new site setting is now dedicated to Ship to Home Consolidation, under the Transfer Shipments section of the general settings. This toggle is disabled by default, but can be enabled to allow STH Consolidation on your site (meaning that transfer shipments can be created for STH parent shipments). Previously, this was enabled with the same settings as BOPIS. The “Always Create Transfer Shipment” setting has also been renamed to “Always Create BOPIS Transfer Shipments” to better clarify these settings.

Bug Fixes

The following list summarizes resolved issues for this release.

StatusJIRA TicketResolution
Targeted for Production TenantsFFMT-3316 (reported by Al Futtaim Group)STH Consolidation parent shipments got stuck on the Waiting For Transfer step after their transfer shipment had been fulfilled. This has been corrected so that parent shipments can successfully continue their workflow after receiving transfers.
Targeted for Production TenantsFFMT-3247 (reported by Rue 21)An error during the reassignment process of a shipment created a duplicate shipment that could not be removed or edited, causing the order amount to be doubled. This process has been improved to prevent this duplication from occurring in the future.
Targeted for Production TenantsCOM-6085 (reported by Ace Hardware)Some refund transactions were missing in the appeasements report, due to payment data not recording a create date field after refunding to a new gift card. This has been fixed so that this payment information is always populated and these transactions are able to be included in reporting.
Targeted for Production TenantsCOM-5072The Delete Location API schema has been adjusted to indicate that it is a private API and not for public use. This call will be removed from our documentation when it is next updated.
Targeted for Production TenantsCAT-1547The Catalog and Product Runtime services did not reflect when an inventory record was deleted from a location, as the inventory was still displayed as in stock afterwards. This has been fixed so that inventory deletion accurately updates the catalog and product data.
Targeted for Production TenantsCAT-1547 (reported by Calendars)Errors were experienced while searching on the storefront if one of the category notes in the tree had a null value. This process has been updated to better handle these scenarios and log the error without failing the search.
Targeted for Production TenantsCAT-1628 (reported by Proactiv)Sandboxes were experiencing “Attempted to divide by zero” errors when viewing product pages with bundled products or adding a bundle to the cart. This was due to the quantity on a product extra not being mapped properly, which has now been fixed so that bundle products will not cause this page error.
Targeted for Production SandboxesCOM-6125The My Account page was not receiving shipment data from the API for any order history beyond the first page. This was due to the Get Order call not receiving Shipment API data for those cases, breaking the page templates that required that shipment information. This has been fixed so that order history will properly include all shipment data.
Targeted for Production SandboxesCOM-6124 (reported by Juvenescence)If a user deleted an address from the My Account page during the checkout process, a “cannot read properties of undefined” error was experienced when placing the order. This was due to the checkout referencing the deleted address. This has now been corrected so that an error will not be displayed during checkout, but the order will be placed and the address will be treated as a new address (meaning that it will be re-added to the address book afterwards).
Targeted for Production SandboxesCOM-6123 (reported by Athletic Greens)When a subscription had multiple items with the same frequency, attempting to update the frequency did not display any options in the drop-down menu. This has been fixed so that this menu displays all frequency options as expected.
Targeted for Production SandboxesCOM-6102 (reported by Athletic Greens)When editing the Next Order Date of a subscription, KCCP experienced an error upon clicking Save and logged the user out of the system. This only occurred if changing the Next Order Date was the first action that the user did on the page, but has now been fixed so that the date can be changed and saved successfully.
Targeted for Production SandboxesCOM-6083When creating a new shipment, the product name search did not return any results. This has been corrected so that exact matches will be returned as expected, but note that at least 4 characters must be entered in the search bar to begin displaying results.
Targeted for Production SandboxesCHAR-4039 (reported by AM Retail)A particular implementation used the stringBarcode field to enable the long tracking number for international shipping partners. However, this field occurred in different locations between the KCCP Fulfiller UI (within packages data) and translated OMS APIs (within packages.attributes data). The translation layer has now been updated so that the stringBarcode field can be supported between the KCCP UI and translated OMS APIs without causing errors.
Targeted for Production SandboxesCAT-1472Images in webp format did not display thumbnails in the File Manager, just the text “no image” even though they displayed properly on the site. This has been corrected so that thumbnails can be successfully displayed for this image type.
Targeted for Production SandboxesCAT-1679A cache split introduced a “collection was modified, enumeration operation may not execute” error on mapping attributes. This has been fixed so that the Product Runtime service can properly handle scenarios where a property value maps to a generic property value and the property needs to be added to the product dynamically.
Targeted for Production SandboxesCAT-1685Some sandboxes experienced validation errors due to task deadlock on the Get Category Tree call in Product Runtime. This call has been reworked to avoid these errors.
Targeted for Production SandboxesSU-2753A validation error was encountered when trying to use a negative number as a boost, even though boosts within the range of -100 and 100 were expected to be accepted. This has been corrected so that boosts with a value of less than 0 can now be applied for Site Search, Product Search, and listings through both the API and Search Configurations UI.
Targeted for Production SandboxesTECH-880The Catalog cache was creating a price list tag to invalidate all products associated with a price list when the high level definition of a price list changed. This is only feasible in lower environments and tenants with less than 10k products per price list. This tag has been updated to respect the limitTagForTenants setting and not create tags when the limit is enabled.
Targeted for Production SandboxesVAMP-1996 (reported by Calendars)A 500 error was encountered while searching the storefront if one of the categories in the category tree had a null value. Improvements have been made so that the search can handle this scenario and still return appropriate results instead of an error.
Targeted for Production SandboxesTECH-844The JDBC driver in the catalog flyaway was consistently failing in production and took many attempts to deploy successfully. This driver has now been updated to prevent connection issues.