February 7, 2023 — 1.2304 Service Update

Production Tenant Features

Catalog

  • Quick Edits Update: The Quick Edits process for Update Attributes has been updated so that you can now add values to a multi-value property, where previously you could only replace their current values. When you select a multi-value property in the final step, you can choose between Replace Existing Values or Add to Existing Values.

Search

  • Search Configuration UI Update: Some improvements have been made to the Search Configuration create/edit page. Tab titles are now displayed consistently across Site Search, Category Suggestion, Product Suggestion, and Listing tabs.

Subscriptions

  • Multiple Subscription Message: When adding at least one subscription or trial product to an order in the Admin UI, a message will appear saying that "Multiple subscriptions will be generated for subscription items with different frequencies and/or trial products." This will not prevent the order from being submitted, but clarifies the behavior in that subscription products are only bundled into the same subscription with other products of matching frequencies.

Other

  • Three Decimal Support: Currency values with three decimal places are now supported in APIs and UIs where currencies are displayed. This applies to relevant currencies such as KWD (Kuwaiti Dinar), OMR (Rial Omani), and BHD (Bahraini Dinar). Specifically, this support includes the Commerce, Subscription, Reservation, Customer, Payment, and Shipping API services. It also includes the Cart, Checkout, and My Account pages on the Storefront as well as the Orders, Customer, B2B, Returns, Quick Edits, and Shipping Setting UIs in the Admin. Currencies that typically use two decimals, such as USD, will continue to only display two decimal places.
  • Support for Non-ZIP Addresses: Previously, the order routing services required addresses to contain a ZIP code so that it could determine the latitude and longitude for suggesting locations. Now, the system can support addresses for countries that do not use ZIP codes (such as UAE). If a ZIP code is not provided in the order address, then the inventory and order routing services will reference the rest of the address to determine the latitude and longitude and successfully route the order. If a ZIP code is provided in the order address, then only that ZIP code will be used to determine latitute/longitude as is the current behavior, so other countries are not affected.

Production Bug Fixes

ServiceResolution
StorefrontCategory pages without a manual sort were defaulting to sorting by SKU number, instead of the merchant’s preferred defaults set in their theme settings. This has been fixed so that product listing pages will successfully sort products by the appropriate defaults.
SearchSite Search API results were returning truncated strings for all fields. This has been fixed so that the API returns the full response with the expected strings.
FulfillerRejecting an item in the Fulfiller UI caused it to be split into a new shipment and assigned to the same location that rejected it. This was due to an issue where saving a location group would change the exclusion list setting that told Order Routing not to reassign items to it, which has now been fixed so that items will be assigned to a different location.


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-4489: More inventory fields have been added into inventory logs, and some unnecessary fields removed. See the ticket for the full list.

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

  • Category Pages Default to SKU: SU-3243 (reported by Ace Hardware)
  • Site Search Truncating Fields: SU-3240 (reported by Consumer Reports)
  • Reassigning Rejected Item: CHAR-4544 (reported by Ssense)

Production Sandbox Features

Fulfiller

  • Laser Printer Size Update: Laser printer labels are now requested from Canada Post in a standardized 4x6 PDF, where previously it was an 8x10 HTML document that did not print well. This does not affect thermal printers.
  • Substitution Updates: A few small updates have been made to the Substitute Products feature in the Fulfiller UI. When creating and processing a return, a label is now displayed to more clearly indicate that a line item was a substitute instead of an originally-ordered item. Likewise, the Waiting for Transfer step now displays originally-ordered items and substitute items in two different sections. Finally, if a race condition between orders occurs during allocation of substitute quantity and a new order reduces the inventory to less than the expected quantity, then an error message will be displayed on the Validate Stock step saying that the “inventory for selected substitute no longer available.” The user can then select another substitute or transfer/reject/reassign the item.

Search

  • Cloned Sandbox with Search: When cloning a sandbox, the new sandbox will now also copy any search term redirects and merchandizing rules from the original sandbox.

Subscriptions

  • Partial Subscription Order: In addition to the existing ability to immediately convert a subscription to an order, you can now initiate an order for only some of the items in a subscription. When you click Order Partial Items Now in the subscriptions actions menu, you will be able to select the items you want to order (as long as there is always at least one subscription item in the resulting order) as well as add any additional one-time purchase items and change the shipping, payment, or coupon information. This will not change the Next Order Date on the original subscription.

Sandbox Bug Fixes

ServiceResolution
FulfillerAfter the initial release, shipping manifests could not be created for Canada Post. A correction for this bug has been hotfixed in, allowing manifests to be successfully generated by fulfillers.
OrdersShipments were still being created for orders that went into the error state. This has been fixed so that shipments are deleted when there is an error creating them.
SearchWhen adding boost/bury conditions to merchandizing rules, the new conditions were not reflected in the results preview. This was due to issues with the boost/bury condition values being entered with capitalization, when the system expected them to be lowercase. This has now been corrected so that the system can handle this capitalization, unless Index Value with Case is set to true on a product attribute (as that setting enforces case sensitivity).
SearchWhen requesting a number type attribute from the Site Search API using the fieldList parameter, a string would be returned instead of the expected number. This was due to the return_only search analyzer being applied to a number attribute, as the system would then look for a generic string field instead of the one based on the attribute’s actual data type. This has been fixed so that strings are not returned for number/integer attribute values.
SearchThe Synonyms page failed to load on some non-English locales, such as Japanese and Russian. It was expected to default to English if a translation was not available, but a parsing error instead broke the page. Similar issues were found with additional pages in various sections across the Admin UI. This has been corrected so that the page will successfully load and display the English default.


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:

  • SU-3219: A display debug option has been added to the search preview endpoint (…/commerce/catalog/storefront/searchmerchandizingrules/previewsearchmerchandizingrule), allowing the team to better debug preview-related issues. To use this, use responseFields=SolrDebugInfo in the query parameters.
  • CHAR-4490: The getGroupAvailableLocations query has been optimized for better performance and improved response times.
  • CHAR-4473: If Export/SFTP connections fail due to bad configurations, then they will be disabled after a certain number of attempts in the lower environments (prod-sb and below). See the ticket for more details.
  • I18N-708 and I18N-702: The Orders and Returns APIs have now been localized.
  • SU-3259: Testing has been done on the migration endpoints that create new merchandizing rules, and some modifications made to improve the migration process’ behavior when handling rules with multiple categories.
  • CAT-2193: The internal Swagger docs have been updated with the GetOrderRoutingProperties endpoint in the Catalog API.

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

  • Site Search Returning Strings: SU-3058 (reported by Consumer Reports)
  • Synonyms Page Not Loading: CAT-2212
  • Boost/Bury Not Working: SU-3169 (reported by Francesca's)
  • Shipping Manifests Not Working: TECH-1049 (reported by Laura Canada)
  • Errored Orders Creating Shipments: COM-6899 (reported by Ace Hardware)

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

  • CHAR-4512: Issues were experienced with the Kubernetes worker node volume capacity being reduced and the kibo-jobs pods using up too much of the root file system. This has been fixed so that files will be removed after they’re sent to the destination, rather than keeping them on disk.
  • CHAR-4390: Inventory cron deployments occasionally stalled while waiting for the previous pod to terminate, which didn’t happen due to an ongoing fetch file process. This has been corrected so that fetch file processes can no longer continue indefinitely and will terminate when their task is complete, allowing other processes to run successfully.