July 27, 2023 — 1.2328 Service Update

Announcement: Additional 1.2327 Release

A small off-cycle release was added to sandbox alongside Version 1.2326 on Wednesday, July 19. This update provided improved Fulfiller support for the Shipping Extensibility feature.

Production Tenant Features


  • Change Product Type: You can now change product types through the Quick Edit tool, following a similar process as to the existing actions like Upgrade Attributes. You will be able to select one or more products from a particular catalog and update their product type (as long as the new type is within the same usage).


  • Resend Shipment Emails: Fulfiller users can now resend Shipment Fulfilled and Shipment Cancelled emails when viewing the shipment details in the FFUI, as long as those emails are enabled in the Admin general settings and the shipment is in the appropriate Fulfilled or Cancelled status. The ability to resend these shipment emails from the Admin UI is not yet implemented.


  • Order Permissions Update: As a follow-up to the recent order permissions update that introduced the RestrictEdit and RestrictCancellation order flags, some adjustments have been made to how these restrictions interact. If RestrictEdit is true, then an Admin user will still be able to create/initiate and process returns from the order. However, they will not be able to cancel individual line items regardless of the RestrictCancellation flag status since shipment-level edits are restricted. If RestrictEdit is false and RestrictCancellation is true, then they will be able to cancel line items since shipment-level edits are not restricted.


  • Failed Subscription Status: A new status, Failed, has been added to the subscription workflow. A subscription will be marked as Failed when an attempt to create a new continuity order is unsuccessful after a retry time of several hours. When this happens, the Next Order Date will not be updated. The ability to pause the subscription will also be disabled and further continuity orders will not be attempted during the Failed state, but if an order is placed successfully (such as through the Order Now action) then the subscription will return to the Active status as normal.
  • Customer Subscriptions Search: When viewing subscriptions in customer details, you can now use the search bar above the table to search by the External Subscription ID or Subscription Number. This is not case-sensitive and will filter the table for any matching subscriptions from that particular customer.

Production Bug Fixes

CatalogLoading the File Manager with a large number of product images resulted in the tool timing out. Optimizations have been done to improve indexing and better support catalogs with over a million images without timing out the File Manager.
CatalogThe File Manager was not returning images correctly when attempting to access them by file name instead of ID. This has now been fixed to return images properly when viewing by their file name and path.
CatalogRetrieving a specific coupon code from a coupon set via API resulted in duplicate responses, even when the coupon code was not in the set being searched. This has been corrected so that the API will properly return successful responses with only the code and set being searched for, as well as appropriate errors if the code is not in the intended set.
CommerceAn order was marked as Paid even though its purchase order payment capture actually failed, resulting in the order being stuck and unable to be captured again or fulfilled. This has been fixed so that orders will not be erroneously marked as Paid in these cases.
CommerceWhile processing a particular return, the Amount Requested increased by one cent after the item was received by Kibo. This was due to a rounding issue which has now been corrected to ensure that the Amount Requested stays consistent during the return process.
FulfillerSome shipments were no longer searchable in the Fulfiller UI nor appearing in the shipments tab of the order details, due to issues with the "?filter=" syntax behavior. This has been corrected so that all shipments are now properly displayed in the FFUI and Order Admin.
Order RoutingOrder Routing was no longer splitting orders as expected for a particular implementation because the orders were going to Customer Care in full instead. This was due to an error that occurred when there was no failover action on a group for a partial match, which interrupted the location filtering for a split. This has been fixed so that splitting can be successfully completed.
SubscriptionsAttempting to apply a certain subscription discount resulted in an error message saying that the order ordinal was null. This has been fixed so that the ordinal is properly passed to the pricing service and discounts can be applied successfully.
User ManagementSome user roles with Site Editor permissions were unable to view the Site Editor's page navigation menu or drag and drop widgets after the 1.2322 release. This has been corrected so that appropriate users will be able to interact with the Site Editor as expected.

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:

  • TECR-1115: HP routes are now allowed through the T1123-S234 host names, to better support SDKs and docs.
  • TECR-161: Dev Center email templates have been updated to match new formatting from marketing.
  • FFMT-3777: The Fulfiller UI has been upgraded to Angular V8.
  • CAT-3178: When a product bundle has two components, then performing the Get Product call on the bundle will now return "true" in the isSubstitutionable property.
  • CAT-3103: The File Manager has been migrated to a new back-end endpoint to improve performance and error handling. This has no visible effect on clients interacting with the File Manager UI or the API.
  • CAT-3169: An empty array of sortfields has been added where there previously weren't any in the SortDefinition for merchandizing rule migration, because the UI experienced issues with missing arrays. This is intended to be better optimized at some point.
  • COM-7130: Third-party integrations for Decision Manager and Kount have been updated to use the appropriate API to move orders into the Pending Shipment status (when orders have been configured to create shipments at a later time rather than immediately).
  • COM-6679: Updates have been made to old JQuery versions with known vulnerabilities to improve security.
  • CAT-3149 and CAT-3224: A new "indexpricelists" tenant attribute has been added to control whether or not pricelist changes trigger index actions, as there were incidents where mass changes to pricelists caused performance issues with indexing. 

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

  • File Manager Timing Out: CAT-2979 (reported by Ace Hardware)
  • File Manager Image Errors: CAT-2832
  • Duplicate Coupon Code Results: CAT-3164 (reported by Sundance)
  • Order Stuck in Paid Status: COM-6126 (reported by Fortis Life Sciences)
  • Return Penny Rounding: COM-7514 (reported by Sound United)
  • Shipments Not Displayed: FFMT-3913 (reported by Ace Hardware)
  • Order Routing Not Splitting: CHAR-4769 (reported by London Drugs)
  • Subscription Ordinal Error: COM-7664
  • Site Manager Permissions: COM-7644 (reported by Sun & Ski and Boscov's)

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

  • FFMT-3840: After the Fulfiller service's Sprint Boot upgrade, an error message was being returned when calling any Fulfillment APIs that wrote certain responses, due to Spring Boot no longer supporting EntityModel with scalar values. This has been fixed so that these APIs can be successfully called.

Production Sandbox Features


  • Read-Only Campaign Code: When editing an existing campaign, the campaign code field will now be greyed out and does not allow changes. This is consistent with other codes across the platform.
  • Quick Edit Enhancements: The Update Product Types action of Quick Edits now has a "Stop" button in place of a Cancel button on the In Progress modal. Clicking this button when edits are being performed will immediately halt the process, but will not undo any updates that were already completed. Additionally, the titles of the Update Product Types steps have been updated with casing and naming conventions more consistent with the other Quick Edit flows.
  • Product Attribute for Future Inventory: You can now enable products to use future inventory with an attribute at the product level, where previously it was only enabled through a flag on the order item in the Create Order API. This attribute is called "future-inventory-enabled" and when set to true, it will be automatically passed to the Order API flag and future inventory will be allocated for this product when there is no current inventory available. This is supported for Standard Products, Configurable Products with Options, and Bundle Components. 


  • UPS Adult Signature: You can now enable adult signatures on UPS shipments, in which any packages over a certain amount will require an adult's signature upon receipt. This threshold amount is configured in the location group configurations. Please contact Kibo Support if you want to use this feature. If you are already using adult signatures via the CARS interface, Kibo will have to enable it for you in the location group settings and turn it off in CARS.
  • Reject Shipment During Pick: The Print Pick Sheet step of the fulfillment process for Delivery shipments now displays a Reject Shipment button that allows you to send the shipment to either Customer Care or the Canceled status (depending on your BOPIS reject site settings) from this step.


  • Inventory API Update: The GET Inventory API call now returns some additional fields to support an upcoming new feature. If you notice these extra fields in your sandbox, you should not do anything with them yet. Documentation will be updated for both the feature and the API specs when the rest of the feature goes to sandbox in the next release.


  • Category Code Filter: You can now filter the Get Search Merchandizing Rules API by category code, which supports an EQ (equals) filter with the syntax /catalog/admin/searchmerchandizingrules/?filter=categorycode eq AAA


  • Subscription Attribute Validation in Checkout: The Checkout Attribute APIs now validate for required attributes when subscription or trial items are included in the order. If there are no subscription or trial items, then it will only validate for attributes that apply to orders and prevent setting any subscription-only attributes.
  • Payment Error Code: The paymentErrorCode field in Subscriptions data has been updated so that it is appropriately populated with a numerical error code when continuity order creation or a partial order/order now action fails due to a payment error. When an order is successfully created, this field will be cleared again. This allows it to be better used for reporting purposes.

Sandbox Bug Fixes

CatalogAfter creating a discount in the UI and removing the category condition, the minimum category purchase amount would also be removed from the discount upon saving. This has been fixed so that the minimum purchase amount will not be automatically removed.
CatalogA particular implementation experienced issues while editing categories after dynamic categories were exported without expressions and then re-imported. This resulted in some static categories having dynamic expression data which was not intended and caused errors. These invalid expressions have been removed from static categories and the import tool has been updated to better prevent against this scenario in the future.
CatalogThe Quick Edit search was not working, as the user was unable to submit the query after typing in products. This has been fixed so that you can successfully filter products in Quick Edits.
CommerceCheckout failed for a some orders due to performance issues with retrieving customer credits. Optimization has been done so that store credit instances are better supported in larger amounts and orders can be successfully placed using store credits.
CommerceWhen logging into B2B accounts with multiple users, the user was being logged in as a random one instead of their specific user profile. This has been fixed so that B2B users will only log into their intended profile on the account.
CommerceA particular shipment was duplicated after the order was approved from fraud review, even though it had been initially created before the order had been validated. This process has been updated to avoid this scenario from occurring again in the future.
InventorySwitching the selected master catalog on the Inventory UI resulted in an error if one of the catalogs did not have any sites, which prevented inventory from being created or modified in the valid catalogs. This has been updated so that the Inventory user can only select master catalogs that are associated with a site.
InventoryUsers with read-only inventory roles were still able to modify inventory tags. This has been corrected so that only users with the appropriate inventory update behaviors are able to modify inventory at the tag level.
InventoryWhen uploading CSV inventory files, any instance of a Future inventory's delivery date being passed resulted in all inventory records being treated as Future inventory. This has been fixed so that inventory records are properly distributed between current and future levels as intended.

Restricted Content

Internal Sandbox Details

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

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

  • TECR-190: The sandbox expiry has been changed to 60 days and is now configurable.
  • TECR-171: Non-headless tenant types have now been deprecated for new developer accounts.
  • CHAR-4923: Apache2 has been updated to a new version in the inventory service.
  • CHAR-4809 and CHAR-4660: A location search cache has been implemented to improve performance with the real-time inventory service, and other types of location caches are now updated when locations are edited.
  • CAT-3258 and CAT-3240: Google Tag Manager has now been added to the Catalog and Search UIs.
  • CAT-3224: New KCCP tenants will now automatically contain the mozu.searchindexing.indexpricelists tenant attribute.
  • FFMT-3917: Missing indexes have been added to the fulfillment database where appropriate to improve slow queries.
  • FFMT-3892: The substitutions enablement setting has been moved to the tenant service instead of being a feature flag.
  • FFMT-3842: String responses have been changed to a different entity model in order to remove a dependency on an old version of Sprint Boot.

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

  • Null Minimum Category Purchase: CAT-3257 (reported by Boscov's)
  • Category Edit Error: CAT-3071 (reported by Calendars.com)
  • Quick Edits Search: CAT-3419 (reported by Calendars.com)
  • Order Checkout Errors: COM-7700 (reported by Jelly Belly)
  • Duplicate Shipment: COM-7565 (reported by Home Hardware)
  • B2B Random Login: COM-7670 (reported by Ace Hardware)
  • Catalog Error in Inventory: COM-7643 
  • Read-Only Users Modifying Inventory: COM-7641 (reported by Conn's)
  • Future Inventory File Error: CHAR-4891 (reported by Conn's)