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 a variant_id, so the field may be null in GET and PUT responses.

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) leave date_modified unchanged. Inventory updates processed by the Catalog API, such as a PUT that sets inventory_level, do update it.
  • Use webhooks instead of polling — subscribe to the store/product/updated and store/product/inventory/updated webhooks 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.