Skip to main content
Release candidate

2026-10: Release notes

The 2026-10 release focuses on order, metafield, customer account, tax, analytics, and Storefront API changes.

Several changes in this version require code updates, especially around order taxes, draft order discounts, metafield filters, and customer account checkouts. Review and adjust affected integrations before adopting 2026-10.

2026-10 is available as a release candidate for development testing until October 1, 2026, when it becomes stable:

  • 2026-10RCStableUnsupported

GraphQL Admin API changes affect order imports, taxes, draft order discounts, metafield filters, and carrier services.

Inventory quantity mutations remove an obsolete stocking error.

The obsolete ITEM_NOT_STOCKED_AT_LOCATION error is removed from InventoryAdjustQuantities, InventoryMoveQuantities, and InventorySetOnHandQuantities, and from the InventorySetQuantitiesUserErrorCode enum. Remove app logic that handles this specific error.

Jun 19, 2026

inventoryShipmentReceive now accepts a CANCELED reason for shipment units that won't arrive. InventoryShipment.totalCanceledQuantity and InventoryShipmentLineItem.canceledQuantity report canceled units, and inventory_shipments/receive_items webhook payloads include canceled quantities.

Sep 17, 2026

Update order integrations for imports, tax recalculation, draft order discounts, subscription contract calculations, and fulfillment statuses.

OrderCreateFulfillmentInput now includes trackingNumbers, so orderCreate can attach multiple tracking numbers when importing orders with multi-package fulfillments. If both trackingNumber and trackingNumbers are provided, trackingNumber takes precedence.

Aug 3, 2026

Changing the shipping address on an unfulfilled order with orderUpdate or the REST Admin API order update endpoint now recalculates taxes for the new destination. After updating, query updated taxLines, totalTaxSet, totals, and compare balances to handle payment or refund differences.

Jul 30, 2026

The deprecated priceRule field is removed from DraftOrderDiscountNotAppliedWarning. The legacy PriceRule object and related types are also removed from the public schema. Update queries from draftOrderCalculate, draftOrderCreate, and draftOrderUpdate to select discountTitle and discountCode instead.

Jun 23, 2026

The GraphQL Admin API adds SubscriptionContractCalculation as the successor to SubscriptionDraft for creating, updating, and editing subscription contracts. It replaces the multi-step draft workflow with a stateless calculate → poll → commit lifecycle through Shopify’s checkout engine.

Jul 27, 2026

Order.displayFulfillmentStatus and other fields typed as OrderDisplayFulfillmentStatus can now return FULFILLMENT_NOT_REQUIRED for orders with zero remaining fulfillable quantity, instead of UNFULFILLED. Handle the new enum value if you exhaustively map fulfillment statuses.

Jul 3, 2026

The new paymentInstrumentSendAddEmail mutation emails a customer a link to add a payment method to a specific subscription contract, order, or draft order, without requiring them to sign in. Apps need the write_customers access scope to call it.

Sep 3, 2026

Anchor to Products and collectionsProducts and collections

Products and collections changes affect exchange line item queries and metafield filters.

The GraphQL Admin API now returns an error when a query filters by a metafield that isn't valid for filtering, instead of silently ignoring the predicate. Update affected metafield filter queries before you upgrade. Check that definitions support filtering and comparison operators.

Jul 24, 2026

ExchangeLineItem now includes productId, title, variantSku, and variantTitle fields, so apps can access product and variant details directly when querying exchange line items.

Jul 15, 2026

ProductVariant now has a barcodes connection for up to 20 typed barcodes, and ProductVariant.barcode is deprecated. Update integrations that sync product identifiers to read barcodes, because barcode returns only the first entry.

Sep 8, 2026

Apps with the read_markets access scope can traverse a store's market hierarchy with the new marketRelationships query and the parentMarkets and childMarkets fields on Market. Poll marketRelationshipsStatus.version to detect when the asynchronously rebuilt relationships change.

Sep 17, 2026

ProductVariantContextualPricing.auditTrail returns the ordered price adjustments Shopify applied to a contextual variant price, each with a type, value, resulting price, and display label. An empty priceAdjustments list means no complete audit trail is available.

Sep 17, 2026

The Metafield object now has a non-null translatable field that reports whether a metafield's value can be translated. Read it instead of querying translatableResources with the deprecated TranslatableResourceType.METAFIELD value.

Sep 21, 2026

Anchor to Shipping and fulfillmentShipping and fulfillment

Carrier services no longer add rates to the General shipping profile by default.

Creating carrier services with carrierServiceCreate or POST /admin/api/{version}/carrier_services.json now registers only the service. It doesn't add rates to the General shipping profile. Configure carrier-calculated rates in a shipping profile for checkout visibility.

Jun 26, 2026

Shopify Payments adds per-fee details and a currency conversion balance transaction type.

The new feeDetails query returns individual Shopify Payments fees recorded on a shop's transactions, with each fee's name, amount, rates, tax, settlement amount, and related OrderTransaction. It requires the read_billing access scope.

Sep 23, 2026

The ShopifyPaymentsTransactionType enum now includes CURRENCY_CONVERSION, so ShopifyPaymentsBalanceTransaction.type can identify currency conversions in a shop's Shopify Payments balance transactions.

Sep 25, 2026

Anchor to Customer Account APICustomer Account API

Customer Account API removes deprecated incomplete checkout fields.

The deprecated Customer.lastIncompleteCheckout field is removed, along with the unreachable Checkout type subtree. Remove any queries for Customer.lastIncompleteCheckout or nested Checkout fields before upgrading; there is no Customer Account API replacement.

Jul 6, 2026

CustomerAddressInput and CustomerAddress now include countryCode, which takes two-letter codes such as US from the CountryCode enum. territoryCode is deprecated but keeps working, and countryCode takes precedence when an address input sets both.

Sep 8, 2026

Shopify Functions adds access to customer creation dates.

The Customer object in Shopify Functions now exposes createdAt. Request createdAt from Cart.buyerIdentity.customer when Function logic needs the date and time a customer account was created. Continue handling guest buyers where customer data is unavailable.

Jul 30, 2026

Functions can now read metafields on delivery options: request metafield(namespace:, key:) on CartDeliveryOption in input queries. Delivery Customization Functions can read data that a delivery option generator or carrier service attached, instead of parsing option titles or handles.

Sep 15, 2026

Polaris updates remove a deprecated staff member field from POS UI extensions.

POS UI extensions remove a deprecated Session API field, so extensions that still read it need an update.

The deprecated session.currentSession.staffMemberId field is removed from the POS UI extensions Session API. Read session.staffMember.value?.id instead, or subscribe to the session.staffMember signal to react when a different staff member pins in.

Sep 17, 2026

ShopifyQL adds app analytics capabilities for modeling, querying, embedding, and enriching analytics data.

Apps can now model Shopify Analytics data with analytics-queryable metafields and the App Events API, query it with the ShopifyQL API, embed analytics web components, and add annotations and metric targets to charts.

Jul 21, 2026

Storefront API adds sales channel context for queries.

@inContext directive now accepts an optional channelId argument to apply a sales channel’s context across a query, including channel-specific product availability and pricing.

Jul 15, 2026

Was this page helpful?