← All breaking-change reports

Reading the Shopify changelog for breaking changes: 18 of 49 entries can break code

shopify · guide · 2026-08-04 · upstream source

What changed

The Shopify developer changelog is a firehose. Of the 49 Shopify change records in the mendapi database (2024 through 2026), most are additive features, docs updates, or fixes that cannot break a working integration. The entries that can are a minority: 14 classified breaking and 4 deprecations — 18 records in total that deserve your attention when you skim the changelog.

The split, straight from the database:

  • additive: 18
  • breaking: 14
  • fix: 7
  • deprecation: 4
  • docs-only: 4
  • unknown: 2

That ratio is the practical problem with changelog-driven maintenance. If you read every entry you burn hours on features you do not use; if you skip reading you miss the one entry that removes a field your checkout flow queries.

Who is affected

The 18 breaking and deprecation entries cluster into patterns worth knowing:

  • GraphQL surface removals and renames. Customer.lastIncompleteCheckout and the Checkout types leave the Customer Account API in 2026-10. discountedUnitPrice on DraftOrderLineItem is deprecated in favor of approximateDiscountedUnitPrice. If your GraphQL documents touch these fields, they stop working on the deadline, not gradually.
  • Semantic changes behind a stable schema. OrderDisplayFulfillmentStatus now returns a new enum value, FULFILLMENT_NOT_REQUIRED, for orders with nothing to fulfill. The schema still validates; exhaustive switches over the enum silently fall through. POS UI extensions 2026-07 changed fixed-amount line item discounts from order-total to per-unit — same API shape, different math.
  • Policy and infrastructure requirements. mTLS on the card deposit endpoint, Theme Store requirements for the shopify-account component, App Pricing migration. No codemod fixes these; they need account or infrastructure work.

The fixability verdicts reflect that spread: of the 18, we adjudicate 6 as code-fixable — the mend is a deterministic edit at your call sites — and 12 as not-code-fixable, where the fix is operational. Every verdict with its reasoning is on the Shopify tracker page.

How to fix it

Reading a changelog tells you what changed, not whether your code uses the affected surface. The scanner answers that locally — file and line, no code leaving your machine:

npx mendapi scan --repo .

For the code-fixable entries, migration packs draft the edit as a reviewable diff. The Customer Account checkout removal is a deterministic dead-subtree deletion; the discountedUnitPrice rename is covered by the shopify-customer-account-draftorder-price pack; the fulfillment status enum gets handling added at exhaustive switch sites:

npx mendapi fix --repo . --dry-run

Dry run is the default posture: you get a patch to review, not a mutated working tree. The Shopify GraphQL migration guide documents each pack and its honest scope — what it mends and what it deliberately leaves to you.

Related

Change data is recorded from upstream provider releases, changelogs and OpenAPI spec diffs; every article names its source.