May 28, 2025 — 1.2520 Service Update

Announcement: FFUI Dashboard and Returns

In 2024, Kibo made a new version of the Fulfiller UI dashboard available for enablement, which also enables you to implement Fulfillment SLAs if you want to use them. Another update in which the Admin UI's return dashboard is embedded within the Fulfiller UI was added to sandboxes as of Version 1.2510, giving fulfillers more robust return management. 

As of April 30, both of these updates are enabled in all sandbox environments. Please begin testing these features. They will be deployed to production tenants on May 27, at which point all Fulfiller UI users will see the updated interfaces unless you have arranged for an extension with Kibo. Please contact Kibo Support if you have any questions.

Production Tenant Features 

As the previous production release was postponed by two weeks, this release will include the updates originally listed here as well as those detailed below. 

Catalog

  • Category IDs in Google Feed: Additional category data related to Category IDs, such as those of parent product categories, are now included in Google Feed exports.
  • Dynamic Category Expression Update: When configuring dynamic category expressions via the UI, the productName field now supports using CONTAINS.

Commerce

  • Custom Returns Error Message: If an error message is specified via the returns.actions.before API Extension (using throw new Error('MESSAGE HERE')), then the custom text will now be displayed on the Admin UI's error notification banner when triggered.

Fulfillment

  • Partial Consolidation Fulfillment: When an STH or Delivery consolidation shipment contains both available items and items awaiting transfer, you can now fulfill the available items right away. Once enabled in your consolidation site settings ("Allow Partial Fulfillment"), call the POST .../api/commerce/shipments//itemsReadyForPack API endpoint with a list of line item quantities, such as in the below example. This will move those items to a new shipment that can immediately continue with fulfillment. The transfer items will remain in the original Waiting for Transfer shipment until they arrive and can be fulfilled. The ability to do this through the Fulfiller UI instead of an API call will be added in a future release.
    {
      "items": [
        {
          "lineId": 1,
          "quantity": 2
        }, 
        {
          "lineId": 2,
          "quantity": 1
        }
      ]
    }

Search

  • Similar Products in Vector Search: The vector search now supports a query where, if a specific product is specified, the results will return other similar products. This query is formatted with the starting pattern "products like productCode:{CODE}" where a valid product code is provided and the search settings have vector search enabled.

Production Bug Fixes

Service Resolution
Catalog Shipping subtotals were not being returned in priced orders when set to ship via flat rate shipping. This has been fixed so that order pricing always includes the appropriate shipping subtotal.
Catalog Dragging and dropping member products within a collection didn't always generate the associated API call, meaning that deleted products sometimes were not removed from the collection. This has been corrected so that adjusting collection products retains updates as expected.
Catalog The "Minimum Category Purchase Amount" setting didn't allow a value higher than $999.99, in which case it would automatically alter the value to fit. This has been updated so that you can successfully a higher minimum purchase value.
Commerce The Get Login State API did not always update with the accurate latest login date. This has been fixed so that the login history is more accurately tracked.
Commerce Order attributes were not being populated in the return data for some orders. This has been corrected so that returns going forward will always retain their attributes, though past returns will require that information to be retrieved via the corresponding order items instead.
Commerce The Order ID was missing from the authorization interaction data on some orders for Order Management implementations. This has been fixed so that the ID is provided as expected.
Commerce Declined orders were unable to be tested from the Kount application on sandboxes, as it did not register declined orders. This has been fixed so that orders can be tested and its errors can be viewed while Kount is enabled.
Fulfillment Importing historical orders triggered shipment events, which were not necessary for past completed orders. This process has been updated so that fulfillment events will not be erroneously generated by historical order imports.
Fulfillment Searching for an order or shipment outside of a Fulfiller UI user's store association by its shipment number or external order number did not return any results. This behavior was originally intended to be an opt-in setting, while the default Fulfiller UI behavior was to return search results for these cases. This has been corrected so that by default, results outside of a user's store associations will be returned.
Fulfillment Delivery orders with transfer shipments were not getting created after order routing if inventory wasn't available, resulting in order cancellations. This was due to the pickupLocationCode missing from the Order Routing Suggestion data, which has now been fixed so that orders can be successfully created.

 

Restricted Content

Internal Production Details


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

  • Category IDs in Google Feed: CAT-6468 (requested by Al Futtaim)
  • Dynamic Category Expression Update: CAT-4878
  • Custom Returns Error Message: COM-9283 (requested by Perfaware)
  • Partial Consolidation Fulfillment: FFMT-4733
  • Similar Products in Vector Search: CAT-6477
  • Note that several updates have been made for Consolidation with Reservations, but this will not be listed in public release notes until all aspects are complete.

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

  • CHAR-6166: A flyway script has been added for event status indexing.
  • CHAR-6045: Some performance enhancements have been made on the Estimated Delivery Dates suggestion process.
  • CHAR-5947: The Run Export Settings Job API has been ported to the Inventory Management service.
  • CAT-6402: The old ProductCatalogRuntime implementation has been removed, with ProductCatalogRepository and CacheSplitProductRepository being combined instead.
  • CAT-6478: GCP auth logic has been updated to allow AWS API calls to fall back onto GCP APIs.
  • CHAR-5992: GCS credentials have been added to the Fetch File Config of legacy inventory.
  • COM-9546: The API documentation login has been updated with a region selector to support GCP1 and EU.
  • CHAR-6154: Kibo.Jobs has been updated to call the Order Routing proxy service.
  • COM-9309: Enabling B2B order release and account priority settings are no longer dependent on the catalog-admin-ProductRulesEnabled tenant attribute.

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

  • Shipping Subtotal Pricing: CAT-6476 (reported by Ace Hardware)
  • Updating Product Collection: CAT-6369 (reported by Al Futtaim)
  • Minimum Purchase Limit: CAT-6353 (reported by Ace Hardware)
  • Get Login State API: COM-9225 (reported by Sun & Ski)
  • Missing Return Attributes: COM-9018 (reported by Pearson VUE)
  • Missing Order ID: COM-9542
  • Testing Declined Orders in Kount: COM-9490 (reported by Mall of America)
  • Historical Shipment Events: FFMT-4757
  • Fulfiller UI Search Issue: FFMT-4796 (reported by AM Retail and Laura Canada)
  • Delivery Order Cancellations: FFMT-4803 (reported by Ace Hardware)

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

  • CHAR-6175: Fixed an issue in which the Order Routing Swagger was returning a 404.
  • COM-9470: Fixed an issue where the Subscription Continuity Order task kept running forever after payment failures.

Production Sandbox Features 

Catalog

  • Discounts by Customer Segment: You can now display discounts based on customer segments in the product details, product listing, and search pages of your storefront. When calling the Get Product, Get Products, or Configure Product endpoints with a list of customer segment IDs (such as in .../products/1234?customerSegments=silver), then the API will consider discounts with those customer segment conditions in addition to those without any customer-specific conditions. A similar list can be provided in the Product Search API call (.../productsearch/search?customerSegments=silver) for the search results. Refer to this Core theme branch as an example of how to update your storefront theme accordingly.

Commerce

  • Estimated Delivery Date Update: The store hours of a BOPIS pickup location are now factored into the Estimated Delivery Date for BOPIS orders with transfers, where previously any transfers that would arrive at the store outside of its BOPIS cut off hours were not accounted for. Calculations will reflect that if a transfer comes in after the store is closed then it will not be processed until the next opening.
  • Location Settings Update: Previously, clearing a location's Fulfillment Capacity setting required the user to double click the Hours dropdown option after deleting the text. Otherwise, an error message would appear stating that a value was required. This UI has been updated so that a blank value can be easily selected from the dropdown menu, allowing for more efficient clearing of location capacity settings.

Fulfillment

  • Delivery Shipments in Pick Waves: If Delivery is enabled under a location group's Pick and Pack settings, you can now initiate pick waves via API for those shipments that are using the updated Delivery BPM. To do this, call the Create Pick Wave endpoint and set shipmentType to "DELIVERY" in the request body. All pick wave actions will remain the same as for other shipment types, and these shipments will automatically move to the Prepare for Delivery step upon successful closure of the pick wave. The ability to create pick waves with Delivery shipments in the Fulfiller UI will be added in a future update.

Order Routing

  • Order Routing Settings Update: The defaultStateChange and tooManyAssignsAction options of Order Routing settings, which determine what happens when an assignment cannot be found for a routing suggestion as well as what happens when the auto assign limit is reached, now support the "BACKORDER" value. The default defaultStateChange value is also now "CUSTOMER_CARE."

Sandbox Bug Fixes

Service Resolution
Catalog After updating categories with the Import/Export tool, the Page Title and SEO URL fields still displayed the previous values. This has been fixed so that category page information is updated to reflects the imported values as expected.
Catalog Timeout or Out of Memory errors were experienced after deleting complex products and/or those with a large number of child products (such as variations with attributes, extras, localization, etc.). Performance improvements have been done to more efficiently delete these products and reduce errors.
Commerce If billing details didn't include a last name (as those are not validated for some payments coming from third-party integrations), then the billing address wasn't displayed in the Order Admin UI either. This has been corrected so that billing addresses are always displayed as expected even if a last name is not present. 
Commerce As a follow-up to a previous fix in which inventory was allocated twice due to reservations not being flagged appropriately, that flag is now also passed to transferred items. This should ensure the fix works as expected.
CommerceThe order item SKU from the Create Order API call was not being populated on the SKU column of pick waves. This has been fixed so that SKUs are appropriately displayed on pick wave items whenever provided.
Site BuilderImage widgets could not be added to some pages in Site Builder, as an error would be displayed instead. This has been corrected so that images can be successfully added, removed, and updated on site pages.

Restricted Content

Internal Sandbox Details


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

  • Discounts by Customer Segment: CAT-6309 (requested by Ace Hardware)
  • Estimated Delivery Date Update: CHAR-6061
  • Location Settings Update: COM-9303
  • Delivery Shipments in Pick Waves: FFMT-4703 and COM-9419
  • Order Routing Settings Update: CHAR-6193 (requested by Veyer)

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

  • CHAR-6163: The Order Routing logic cache can now be bypassed when the OrderRoutingCacheDisabled tenant attribute is enabled, allowing better performance for scenarios such as QA testing, demonstrations, etc.
  • CHAR-6143: Performance testing and tuning has been done on Estimated Delivery Dates.
  • CHAR-6185: Flyway migration has been added for the updated inventory location index to address performance issues.
  • CHAR-5954: Order Routing has been migrated to test containers to reduce external dependencies.
  • CHAR-6176: GCS credentials have been added to the export for legacy inventory.
  • CAT-6389: The SQL driver has been updated for improved security.
  • FFMT-4810: The requireNonNull check has been removed from the code for STH and Delivery Consolidation site settings.

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

  • Category Import/Export: CAT-6510 (reported by Al Futtaim Group)
  • Deleting Complex Products: CAT-6500 (reported by Al Futtaim Group)
  • Billing Information in Admin UI: COM-9252 (reported by Boscov's)
  • Reserved Inventory Allocation: COM-9351 (reported by Honey Birdette)
  • SKUs in Pick Waves: COM-9477 (reported by Ace Hardware)
  • Site Builder Image Widgets: CAT-5767 (reported by Ace Hardware)