Verified facts
What happened
Shopify is changing Events payloads so fields_changed becomes an object with added, updated, and removed arrays instead of a flat array.
Parent triggers now require a terminal wildcard, such as product.variants.*. Existing subscriptions continue to work, but parent-trigger syntax must be updated the next time shopify.app.toml is deployed.
Events deliveries no longer include the shopify-event-id or shopify-resource-id headers. Shopify advises updating API packages to their latest versions.
Classic Webhook subscriptions are unaffected by this update, which applies to Events payloads, trigger syntax, and delivery headers globally.
Business relevance
Why it matters
An integration that still treats fields_changed as a flat list may not correctly distinguish added, updated, and removed paths.
A parent trigger can keep its matching behavior and event volume after the syntax change, but its configuration needs the explicit .* form at the next deployment.
Code that validates or identifies deliveries through the two removed headers may fail unless that dependency is removed or replaced.