Complex rule condition schema clarifies nullable variant_id
The Catalog Products reference now marks variant_id as nullable in complex rule condition responses, matching what the API actually returns.
- Nullable
variant_id: complex rules created through the v2 API or the control panel can return conditions without avariant_id, so the field may benullinGETandPUTresponses.
For details, see the Complex Rules reference.
Clarified what updates a product’s date_modified
The product documentation now explains exactly which changes update the date_modified timestamp on a product, so you can avoid a common pitfall when detecting changes.
- Product record changes update
date_modified— editing a product’s name, description, pricing, categories, custom fields, images, options, modifiers, or variants updates the timestamp. - Inventory changes do not always update
date_modified— because inventory is a separate entity, stock updates processed by the Inventory API (including stock edits from the control panel Products list) leavedate_modifiedunchanged. Inventory updates processed by the Catalog API, such as aPUTthat setsinventory_level, do update it. - Use webhooks instead of polling — subscribe to the
store/product/updatedandstore/product/inventory/updatedwebhooks to reliably detect product and stock changes.
For details, see Inventory adjustments.
Storefront Foundations Updates
Updates the Storefront Foundations course to cover Stencil’s new multi-language storefront support and to keep a hands-on lab in sync with its underlying code.
- About Stencil now mentions that a single Stencil storefront can present multiple languages, with catalog and checkout data translated using the Translations Admin GraphQL API or the control panel’s Localization tab.
- Add a Subcategory Listing in Stencil lab syncs its code snippets with the current lab source, including the full category page markup and the component partial filename.
For more information, see About Stencil.