Catalyst 1.12.1
Catalyst 1.12.1 preserves the Auth.js session-token cookie attributes your configuration sets, fixing a logout redirect loop on storefronts that use partitioned cookies.
- Configured cookie attributes survive the browser-session rewrite — Catalyst rewrites the Auth.js session token into a browser-session cookie by dropping its
expiresandmaxAge. That rewrite previously replaced every other attribute with a hardcoded default set, discarding anything the Auth.jscookies.sessionToken.optionsconfig had set. It now starts from those configured options and strips onlyexpiresandmaxAge. - Partitioned cookies no longer duplicate — because browsers key a cookie by its partition as well as its name, rewriting a partitioned token without the
partitionedattribute wrote a second session token rather than replacing the first. Logout cleared only the partitioned one, so the unpartitioned copy survived, kept the shopper signed in, and sent them into a redirect loop.
See the full 1.12.1 release notes for migration details and release tags.
Clearer Get Checkout reference
Thanks to user feedback, the REST Management API’s Get Checkout reference now explains how to use the include query parameter and where a checkout ID comes from.
- Example include request — the endpoint description shows how to combine values such as
consignments.available_shipping_optionsandcart.line_items.physical_items.stock_positionin a single comma-separated list. - Checkout ID source — the description now points to the Create a cart and Get a cart endpoints and to the storefront checkout, since the checkout ID is the same as the cart ID.
- Restored response examples — the checkout endpoints’ named response examples (available shipping options, selected shipping options, applied coupons, and promotions) now render on each reference page.
For details, see the Get Checkout reference:
GraphQL Schema Updates
Storefront GraphQL order queries can now link bundled child line items to the pick list option on the parent item that added them, and the paymentWallets query lists the store’s configured payment wallets.
Storefront GraphQL
- Pick list links on order line items: carts and checkouts already expose this link through
CartSelectedOption.attributeIdandaddedByAttributeId; the same fields now exist on orders, so an order history or post-purchase view can group bundled items under the option that added them.attributeIdonOrderLineItemProductOption: hashed ID for the selected product option.addedByAttributeIdonOrderPhysicalLineItemandOrderDigitalLineItem: matches theattributeIdof the pick list option on the parent line item that added this item. Returnsnullfor items that are not bundled children.parentLineItemEntityIdonOrderDigitalLineItem: ID of the parent line item, for parity withOrderPhysicalLineItem, which already had this field.
- Payment wallets on the site query: the new
paymentWalletsfield onSitereturns a paginated connection of the store’s configured payment wallets, each with aproviderNameandmethodName. Filter bycartEntityIdorbillingCountryCodethroughPaymentWalletsFilterInput.
For schema details, see the Storefront GraphQL API reference:
Identifying tax-exempt customers from an order
Thanks to user feedback, the Orders V2 Get Order reference now explains that the order object doesn’t carry a tax-exempt status, and how to find it. Tax exemption is a customer attribute stored in the tax_exempt_category field of the customer record, and a total_tax of 0 doesn’t mean the customer is exempt.
Orders V2
- Get Order note: the endpoint description explains that exemption lives on the customer record, that you look it up with the order’s
customer_idthrough the Customers API, and that guest orders (customer_idof0) have no customer record to check. total_taxfield: the description now states that a zero value doesn’t indicate a tax-exempt customer.customer_idfield: previously undocumented. The description now covers the guest value of0and points to the Customers API for attributes not stored on the order.
Refer to: