October 29, 2024 — 1.2442 Service Update

Announcement: Code Freeze

Kibo is entering its "code freeze" for the peak holiday season. This production release of Version 1.2440 is the final major update being pushed to production tenants until January. Changes will continue to be added to sandbox environments per the below schedule and will be released to production on January 21, 2025:

  • Version 1.2442: October 29
  • Version 1.2444: November 12
  • Version 1.2446: November 26
  • Version 1.2448: December 10

Production Tenant Features 

Catalog

  • Discount EnhancementsDiscount configurations now allow you to set a discount's code and indicate whether it's public or not. The Discount UI's advanced search options can filter discounts by this code and public status.

    Public line item discounts can be accessed by your storefront or custom code via a new POST endpoint, .../commerce/catalog/storefront/discounts/products. Non-public ones can be accessed by users with the Discount Read behavior at POST .../discounts/secure/products. Provide a list of products in the request body (up to a maximum of 20) to retrieve discounts for those products. You can filter further with a pricelist in the header, or by providing a customerSegments field and list of values in the body.

    Another new endpoint, POST .../discounts/secure/orders, will return non-public order-level discounts for users with appropriate permissions. You can filter this API specifically for shipping or product discounts with targetType ("Shipping" or "Product") in the header.

    The API documentation will be updated soon with models for these requests. Additionally, some minor styling changes have been made to the Discount UI to better display attributes. 

Production Bug Fixes

Service Resolution
Catalog Null errors during the pricelist file export process resulted in the file only containing a single row. This has been corrected so that the file is exported with all appropriate pricelist records as expected.
Catalog 500 Internal Server and 400 Bad Request errors were experienced from the Product Search API due to an formatting issue with a space in dates, preventing some merchandizing rules from being saved. This has been fixed so that dates are formatted correctly and no longer cause errors.
Catalog Custom theme changes were not being immediately reflected on the site or Kibo Admin due to caching. This process has been updated so that applying a new theme will prompt it to refresh and display the changes more quickly.
CatalogDiscounts were not being applied to dynamic categories that specify a list of products in their expressions. This has been fixed so that discounts can be successfully applied to these categories as expected.
Commerce The Order Status API was throwing a 500 Internal Server Error when incorrect information was provided, instead of a 400 Bad Request. This has been fixed so that more accurate error information is provided.
Commerce Some Admin-Only order attributes of the "list" type were unable to be edited again after the initial save. This has been corrected so that attributes can be updated as expected.
Fulfillment Fulfillers experienced errors when adding manual tracking numbers to packages that were not enabled for split packing slips. This has been fixed so that tracking numbers can be successfully added in this scenario going forward.
Inventory A number of connection errors, including request failures and timeouts, were intermittently experienced after migrating translated OMS implementations from the Get Inventory API to the real-time inventory service. Optimizations have been made to improve this integration and reduce connection issues going forward.
Inventory Some inventory imports were failing due to case sensitivity between ".CSV" and ".csv" file endings. This has been fixed so that files are successfully imported regardless of whether or not their type is capitalized or not.

 

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-5634: Inventory import files now support the granular Lot Code, Date, Condition, and Serial Number fields in addition to the SKU. Inventory records will be updated appropriately based on these identifiers. 
  • CAT-5555: Swagger documentation has been generated for PricingRuntime.
  • CAT-5505: The Sales Rank boost/bury field now uses BigQuery instead of Redshift.
  • CHAR-5219: A configurable TTL has been added to the AtLocation queries cache.
  • CHAR-5698: Adjustments have been made to address test mode migration issues, including changing the import expiration time to 1 hour, handling numbers greater than the maximum integer limit, and excluding UPCs that end with escape characters.
  • CHAR-5679: The backorder release job has been updated to work with granular inventory fields, now properly releasing orders that use those inventory records.
  • CHAR-5772: Allocation logic has been removed from the Inventory Pick Wave Suggestion API, as that was not necessary behavior for KCCP and caused some problems for clients.
  • CHAR-5715: The InventoryManagement module of Kibo.Inventory has been reviewed for deployment to production.

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

  • Pricelist Export Errors: COM-5557 (reported by Pearson VUE)
  • Product Search Errors: CAT-5588 (reported by Sun & Ski)
  • Theme Caching Update: CAT-5566 (reported by Proactiv) 
  • Dynamic Category Discounts: CAT-5743 (reported by London Drugs)
  • Order Status API Errors: COM-8891 (reported by Echidna)
  • Edit Order Attributes: COM-8800 (reported by French Toast)
  • Tracking Number Errors: FFMT-4579 (reported by Al Futtaim)
  • Translated OMS Inventory: CHAR-5682 (reported by Boscov's)
  • Inventory File Case Sensitivity: CHAR-5786 (reported by Tourneau)

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

  • CHAR-5678: Some Order Routing tests were failing in develop branches that have now been investigated and fixed.

Production Sandbox Features 

Catalog

  • Discount Labels: You can now create additional text labels for discounts in the general discount configurations, allowing you to further categorize them for better management.
  • Discounts API Filters: New filters for code (string) and isPublic (boolean) have been added to the Get Discounts API, allowing you to retrieve discounts by that criteria. Additionally, the new item-level and order-level endpoints added with the previous release can now be filtered by locationCodes (array of strings). The API documentation will be updated soon for both of these updates.

Sandbox Bug Fixes

Service Resolution
Commerce Location events (such as location.created) were not able to be added to applications because they were not listed in the event subscription options. These events have now been added so that they can be successfully subscribed to.
Commerce Shipping tax amounts were being returned as losses in the return response data even though shipping and handling taxes were not intended to be refunded. This issue was only occurring in the production environment, not sandboxes, but has now been fixed so that refunds are appropriately calculated without this tax.
Commerce The Issue Refund confirmation button in the Admin UI's return refund modal sometimes remained greyed out when a valid refund amount was entered. This has been corrected so that the button becomes clickable as intended.
Commerce Filtering the GET Orders API by Completed and Processing statuses (?filter=status in [Completed,Processing]) resulted in errors for an invalid query. This has been fixed so that you can filter the API by both order status and fulfillmentStatus and retrieve the expected results.

 

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:

  • CAT-5671: Validation has been added to safeguard against invalid requests for the Import/Export process, such as those without Tenant IDs.
  • CAT-5513: The system property to allow auto substitutions has now been retroactively added to all existing clients that have the substitution feature enabled.
  • TECR-416: Support for GCP log entries has been added to Dev Center.

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

  • Missing Location Events: COM-8722 (reported by Home Hardware and Bi-Mart)
  • Shipping Tax Refunds: COM-8602 (reported by Ace Hardware)
  • Clickable Issue Refund Button: COM-8909 (reported by Sun & Ski)
  • Filter GET Orders API: COM-8959