July 9, 2024 — 1.2426 Service Update

Announcements

Cloudflare Migration for CDN and WAF

As part of our ongoing efforts to enhance platform performance and security, Kibo Commerce is migrating our Content Delivery Network (CDN) and Web Application Firewall (WAF) services to Cloudflare over the next several weeks. No action is required from you during this migration. However, please be aware that Kibo Support may reach out to you to coordinate the migration of certificates or address any specific needs related to your tenant. If you have any questions or concerns, please contact Kibo Support.

FedEx Carrier Changes

FedEx is decommissioning SOAP web services at the end of August. To prepare for this, Kibo will be releasing a sandbox update on July 23 (with Version 1.2428) that will go to production on August 5. This update requires action from any implementations using FedEx.

After the sandbox release, you will need to reconfigure the FedEx credentials in your sandbox (System > Settings > Shipping > Carrier Accounts) with your FedEx account number, company information, and address information. Next, contact Kibo Support with the time window to switch you over to the new implementation. You can then test FedEx to ensure that it works as expected. You will have to repeat this process in production environments after August 5.

Import Inventory API Migration

As part of ongoing migration of internal inventory endpoints, Kibo will be migrating the import inventory internal endpoints from July 23 to August 23. No action is required, but if you have questions, please contact Kibo Support.   

Production Tenant Features 

Commerce

  • Return Label Enhancement: The Order Admin UI now automatically includes the appropriate Return ID, Order ID, Order Number, and Shipment Number when generating a return label. Previously, these values were not provided and were displayed as "undefined" on the label. Those values will now be populated on the label as expected.

Fulfillment

  • Other Digital Products: The digital product fulfillment process and product type settings have been updated to support digital items other than gift cards or store credit, such as warranties or service fees. This does not support digital art, books, music, printable documents, software, or other files that must be downloaded. These items will be immediately fulfilled and captured upon order placement.

Import/Export

  • Import Validation Enhancement: The import/export tool has been updated to better validate imported product data, where previously incorrect data types caused the UI to crash. Now, an error message will be displayed instead of crashing to ensure a more user-friendly experience.

Inventory

  • Inventory Allocation Visibility: You can now click the Allocated value of any item in the inventory table to view a breakdown of all Ready shipments that have allocated quantity for that item at the selected location. This information can then be filtered by Shipment Type or Shipment ID, and if future inventory is enabled then you can also view shipments allocated with incoming inventory and filter by specific dates. For more details, see the Inventory UI Overview.

Subscriptions

  • Subscription API Filters: Some API filters that were previously supported on the Orders API but not the Subscription API have been added, including the subtotal, total, currencyCode, and several attribute fields. For a full list of available fields, see the Sorting & Filtering APIs documentation.

Production Bug Fixes

Service Resolution
Catalog Category codes in search merchandizing rules were not validating against the correct catalog, resulting in unexpected validation failures. This has been fixed so that the codes are always checked against the intended catalog.
Catalog Create Discount API requests failed when the thresholdMessage property was not included in the payload, even though that property had not previously been required. This has been fixed so that discounts can be created successfully without restructuring API integrations to include this field.
Commerce When creating an offline order, the fulfillment type was unable to be selected in sandboxes. This has been corrected so that desired fulfillment options can be successfully applied to offline orders again.
Commerce Swapping bundles in subscriptions to replace an item in the original bundle did not work as expected, as the new item would still appear in the updated subscription. This was due to a blank options array for the bundled item, which has been corrected so that subscriptions retain the proper item continuity.
Commerce Initiating a credit for $0 in the Admin UI would trigger a credit for the order amount instead. This has been corrected so that a credit will only be triggered if the amount entered by the Admin user is greater than zero.
Fulfillment Fulfillment Manager and Fulfillment Employee roles were not being created for new fulfillment locations, causing errors and preventing users from accessing the Fulfiller UI. This has been fixed so that when a new location is created, those roles will be available for it.
Order Routing When filtering routing locations by a distance of 10km, locations outside of that radius were still being returned. This has been fixed so that only locations within the appropriate distance are included in filtered results.

 

Restricted Content

Internal Production Details


Find more information about the client-facing updates at these Jira tickets:

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

  • CHAR-5513: The Warm Buffer Pool script has been updated to be compatible with MySQL 8.0.
  • CHAR-5512: Percentile metrics have been added to all DataProvider related queries.
  • CHAR-4391: Cache Invalidation API endpoints have been made internal-only.
  • CHAR-5150: RIS has been updated to support ExtendedRequestLoggingMiddleware to log extra fields that are configurable by environment.
  • FFMT-4349: Backwards-compatible support has been added to the query that finds eligible shipments for manifests, helping address an issue where multiple packing slips with different carriers resulted in the shipment being fetched incorrectly for one carrier.
  • CAT-4941: The manual SQL query that adds sales rank properties to the base product type has been changed, allowing tenants to explicitly add them without involving engineering.
  • CAT-4924: As a follow-up to Multi-Locale Catalogs, hardcoded strings have been removed and French localization for some labels has been added.
  • CAT-4826: Get Aggregate Inventory API calls now route to the realtime inventory service.
  • CAT-5073: A SQL script that changes a sproc for performance enhancements has been incorporated into the codebase.
  • CAT-5050: Google Feed can now support float attribute values and RAW or non product attribute values, as well as a list of additional fields for Algolia data sync. See the ticket for more details.
  • CAT-4927: To support an upcoming enhancement to add productName to dynamic category expression fields, the API now supports targeting productName with contains predicate.

The following bug fixes are internal-only and not exposed to clients:

  • COM-8628: The Product Admin calls sent when adding an item to cart have been replaced with a better process, in which Get Product and Validate Product are used to check whether an item is enabled for reservation and acts appropriately.

Find more information about the client-facing bug fixes at these Jira tickets:

  • Category Code Validation: CAT-5003 (reported by Peavey Industries)
  • Discount Threshold Messages: CAT-5059 (reported by Ace Hardware)
  • Offline Order Fulfillment Type: COM-8696 (reported by Pearson VUE)
  • Swapping Subscription Bundles: COM-8713 (reported by Proactiv)
  • $0 Order Credits: COM-8537 (reported by Positec)
  • Missing Fulfiller Roles: TECR-366 (reported by The Level Group)
  • Order Routing Distance Filter: CHAR-5589 (reported by London Drugs)

Production Sandbox Features 

Catalog

  • Product Attributes Pop-Up: When making changes to product attributes, a pop-up will now indicate that you have unsaved changes if you attempt to cancel the edit or navigate off of the page without saving. You can then cancel the action to save your changes first or continue and lose the changes. This also appears when switching locales from the drop-down menu on multi-locale catalogs.

Commerce

  • Cart Takeover on External Storefronts: Admin users of headless integrations can now perform cart takeovers for logged-in shoppers on the external storefront. You have the option to either follow a link from the customer details to view their cart on the external storefront, or populate an offline order in Kibo with the current contents of the external cart. This feature must be enabled by Kibo Support so that they can configure your storefront URL for takeover.
  • Bulk Shipment Adjustment API: A new API endpoint (POST .../commerce/orders/{orderId}/shipments/{shipmentId}/adjustments/bulk) now allows you to perform multiple pricing adjustments on the same shipment at the same time. This supports both item- and shipment-level adjustments, and will only refresh tax once (if necessary) after the adjustments are performed. See the API documentation for more details.

Fulfillment

  • BPM Customization: You can now create custom business process management flows by developing your own fork of Kibo's fulfillment workflows repository. This eliminates the need to submit a request for a custom BPM to Kibo and wait for it to be developed. Once created, your new BPM will be uploaded and installed through the Kibo Dev Center, enabled through API, and then executed via the Kibo Fulfiller UI. See Customizing the BPM for more detailed instructions and resources.

Sandbox Bug Fixes

Service Resolution
Catalog Customers were unable to check out on a particular site because no shipping methods were available for them to select. This was due to redundancy in the API process to retrieve shipping options, and performance enhancements have now been done to avoid this issue in the future. 
CatalogCreating a catalog with the de-DE locale sometimes resulted in an error, due to duplication issues in the JSON file for German localization. This has been corrected so that German master catalogs can be successfully set up along with child catalogs, sites, and storefronts.
Commerce After a return was created through API, the Issue Refund modal in the Admin UI for the same order would not display the appropriate calculated refund amount. This has been fixed so that calculated return amounts will properly match up.
Fulfillment If the threshold for package signature requirements was set to $0, then signatures would not be indicated on all shipping labels as expected. This setting had to be a minimum of $1 in order for it to be respected. Now, the Fulfiller UI will apply the signature requirement to all appropriate labels when the threshold is set to $0.
Fulfillment Several API Exception errors were experienced while fulfilling shipments in pre-prod tenants with a custom integration. This has been corrected so that shipments can successfully move through custom integrations as expected.

 

Restricted Content

Internal Sandbox Details


Find more information about the client-facing updates at these Jira tickets:

The following bug fixes are internal-only and not exposed to clients:

  • CHAR-5332: Fixed an issue where Sonarlint reported 0 coverage for a code that was actually covered by tests, due to only reporting the coverage of a single module.
  • CAT-4852: A new cache strategy has been added to the Get Discounts endpoints, in which the output is cached even if an App ID for an API Extension (Arc.js) is not provided. A new API header, x-vol-arcjs-bypass-cache, allows the call to opt out of this caching.

Find more information about the client-facing bug fixes at these Jira tickets:

  • Checkout Shipping Errors: CAT-4908 (reported by Crazy Shirts)
  • German Catalog Error: CAT-5123
  • Calculated Refund Amounts: COM-8591 (reported by Laura Canada)
  • $0 Signature Threshold: FFMT-4302 (reported by Tourneau)
  • Custom Shipment Integration: FFMT-4299 (reported by Ignitiv)