Variants now support multiple barcodes
The one-barcode-per-variant limit is gone: a variant can now hold up to 20 typed identifiers across UPC / EAN / ISBN / GTIN / ASIN. The old barcode field keeps working, but it is deprecated. Keep…
AI-generated visual explainers for Shopify changelog updates.
The one-barcode-per-variant limit is gone: a variant can now hold up to 20 typed identifiers across UPC / EAN / ISBN / GTIN / ASIN. The old barcode field keeps working, but it is deprecated. Keep…
Meta now appears alongside the other AI channels inside Agentic Storefronts in the Shopify admin. Products areshared with Meta by default.
The one-barcode-per-variant limit is gone. The UPC on the box, your own EAN on the shelf label, the marketplace ASIN — all of them can live on the same variant, and searching by any one of them finds…
The discovery profile at each storefront's /.well-known/ucp now declares version 2026-08-25 of the Universal Commerce Protocol as supported. No changes to existing implementations are needed.
Search for a customer in POS and you'll see what they left sitting in their online cart. Answer sizing and product questions on the spot, and close the sale in store. Available from Shopify POS…
Any barcode linked to a variant now resolves to the right product, whether you scan it or search for it. Even when codes differ by supplier, channel, or packaging, staff no longer have to hunt for…
The versioning scheme for Polaris Web Components loaded from the CDN is moving to semver. Backward-compatible improvements still arrive automatically, but developers now explicitly choose when to…
Even if you drop the refresh response, the refresh token you just used survives "until you start using the replacement token." Apps that missed the 60-minute grace window can now recover on their…
Request validation, token exchange, and Admin GraphQL, delivered as three framework-agnostic building blocks. Works with Laravel / Symfony / Django / FastAPI, or plain PHP and Python. The older…
Starting October 1, 2026, you can no longer create or update them; starting March 1, 2027, Shopify stops injecting script tags into the storefront. Pinning an API version won't buy you time. You need…
Tax is calculated using the fulfillment location that Order Routing selected. Local pickup is based on the pickup location. The ship-from location that was used is recorded on the order.
Consolidates the opening balance, total transaction amount, fees, payouts, and closing balance for a chosen period into one report. Start your monthly close or a "the balance doesn't add up"…
Just upload a CSV from the admin to create, suspend, and reactivate staff accounts all at once. PIN assignment for POS staff can be included in the same upload.
For signed-in customers, checkout remembers the payment method used on their previous purchase and shows it pre-selected on subsequent orders. This applies to D2C and B2B checkout flows where saved…
The Point of Sale channel page in the Shopify admin has been redesigned. Live previews of the lock screen, customer display, and receipt sit side by side, and the POS editor is one click away…
Merchants in the UK, Germany, France, Italy, and Spain can buy domestic and international shipping labels straight from the admin — no third-party app and no separate DHL account. Customs documents…
Eligible stores now see personalized recommendations for their customer information settings on the Checkout settings page in the Shopify admin. Applying them means collecting more complete customer…
Manage sale, return, exchange, gift, and gift card receipts together in the new content editor. Return and exchange receipts are consolidated into a single section with one total. Stores using Liquid…
From August 24, 2026, DDU will no longer be available on Managed Markets in countries and regions where DDP is supported. Duties and taxes will be collected up front at checkout instead of being paid…
shop_campaign_insights schema added. Query ad spend, sales, order count, ROAS, AOV, and average customer acquisition cost using the existing shopifyqlQuery field and read_reports scope as-is. No new…
Shop Campaigns performance data — ad spend, sales, ROAS, and customer acquisition cost — is now available through ShopifyQL. Analytics apps and BI tools can view it side by side with your other…
You can capture WhatsApp opt-ins when customers submit a form on your store. According to the official announcement, this grows your subscriber list and helps convert new leads through WhatsApp…
A one-time data migration that consolidates "inventory that is held but not yet fulfilled" into committed. available and on_hand are unchanged, and there is no impact on how much can be purchased. No…
Online stores can now expose WebMCP tools, letting AI agents search the catalog, work with the cart, and move to checkout directly inside the tab the shopper is looking at. Live as of today across…
Autopilot creates a Microsoft Advertising account for you, or connects an existing one, and runs Performance Max campaigns alongside your other channels. Budget is allocated automatically based on…
Until now, Oxygen hosting required a paid plan. Going forward, you can deploy a Hydrogen storefront to Oxygen from a development store. Note that development stores have no public environment, so…
Starting August 31, 2026, changing the shipping address on an unfulfilled order with orderUpdate recalculates taxes for the new destination. Until now, only the address was updated and the tax lines…
Starting July 30, 2026, new themes and updates to existing themes submitted to the Theme Store must include the shopify-account component in the header, visible on both desktop and mobile. Legacy…
Just create a return from a fulfilled order and pick UPS as the carrier. The label reaches the customer by email or a shared link. You're only charged when the carrier scans the label. Available for…
WhatsApp marketing is now part of Shopify Messaging. Build campaigns from templates or your own branded content, and drive customers to act with media from your product catalog, interactive buttons…
Campaign launches, landing page releases, supplier changes, pop-up openings — "what happened when" now appears as markers on the chart. For annotations added by apps, you also see which app added…
The existing shopify.print could only open the system print dialog, and had no way to target a dedicated receipt printer. The new shopify.printing enumerates the printers connected to the device and…
A cart a staff member starts building is saved automatically, so another device or another staff member can pick it up and take it all the way through checkout. A cart built on the floor while…
Adding or swapping a device used to mean typing credentials into the new device at the busiest time of day. Now a nearby device that's already signed in just taps "Approve," and the new device is…
Until now, you could add bank accounts for at most 8 currencies. Going forward, the only rule is one account per supported payout currency. As long as your region and plan allow it, you can receive…
Order / Collection / InventoryItem / InventoryShipment / Location can now be subscribed to. On top of that, for Product, Order, Customer, Collection, and Location you can now subscribe to metafield…
Chart libraries, a data warehouse, currency/locale handling, and UI that matches the admin. The stack you used to stand up yourself for every merchant-facing analytics feature can now be handed off…
The Liquid July '26 developer preview adds two tags. You can now write page structure directly inside a Liquid template, so both developers and coding agents can read and fix everything in one place…
Three primitives — bins (shelves and racks), counts (per-bin inventory count sets), and purchase orders (reading purchase order data) — are shipping early in the unstable version of the GraphQL Admin…
Automated conditions, manual selections, exclusions, other collections, and app-provided sources can now be combined into a single collection. Collections can also be built at the variant level — by…
Eligible EU orders now come with Shopify-managed 14-day cancellation and return rules. Buyers can request a cancellation or return from Shopify's buyer-facing screens, and Global-e, the Merchant of…
Until now, only one product discount could be applied to a single item. Going forward, discounts grouped by tag can be combined, so overlapping campaigns apply together as-is, with no cart conflicts…
Bake duties, import taxes, transaction fees, and currency-conversion costs into product prices upfront, so international buyers see a price that stays the same to the very end. Surprise charges at…
Duplicate carefully configured actions and conditions with Cmd/Ctrl+C → Cmd/Ctrl+V. Settings and condition logic are preserved, and you can paste within the same workflow or into a different one. No…
hreflang tags tell search engines which language or regional version of a page to show to which visitors. Shopify generates them automatically from your Markets language and domain settings, but an…
Apps can now have up to 8 public and 15 private pricing plans. Billing flows can be tested during review and on development stores without real charges, and the App Events API now accepts usage…
The new target pos.app.ready.data runs for the entire POS session and can watch POS events, store data, and call non-visual APIs without rendering anything on screen. Extensions that do something…
The POS app's Connectivity screen has been redesigned. It shows the health of internet connectivity, Shopify service status, and hardware connections in a single view, and when something is degraded…
Four new staff permissions have been released: payment settings, chargebacks, payouts, and tax documents. You can now grant each role only what the job requires, without sharing full access.
Starting with API version 2026-07, the Market object gains delivery.shipping was added. You can now configure shipping rates and delivery methods per market via GraphQL, without creating a separate…
Merchant shipping settings move from the delivery profile API to the Markets API. Shipping options are attached directly to each market, and rates are differentiated by product and location…
A "Deploy" button has been added to the Hydrogen developer preview. One click creates a repository from a starter, sets up a Vercel project, and runs the build. No local setup required.
The new "Is physical storefront" filter separates in-store activity from the rest of your business. Compare physical storefront locations against other locations and channels right inside Reports and…
The POS channel's Devices view has been redesigned into a single source of truth that shows every device running Shopify POS—tablets, phones, card readers, and mobile POS—on one screen. See each…
Automatically records high-risk register actions—cash handling, discounts, voids, refunds, and customer information access—tied to the staff member's name, time, device, and location. Scales…
For stores that share customer data with apps, you can now review the history of "when and how data access changed" directly from each app pixel's detail page. All changes from June 3, 2026 onward…
Starting with GraphQL Admin API 2026-10, creating a carrier service via carrierServiceCreate (or the REST carrier_services.json) will no longer have Shopify automatically add it to the default…
The EU is scrapping its import exemption for shipments under €150 and, starting July 1, applying a flat €3 per tariff line. If you use Shopify Managed Markets / Import duties and tax calculation…
Storefront MCP's get_cart / update_cart is being deprecated. Migrate to the UCP-compliant Cart MCP (new endpoint /api/ucp/mcp). The old tools remain available until August 31, 2026 .
Previously, using B2B discounts required contacting Shopify Support. Going forward, discounts are automatically enabled for new B2B stores and eligible existing stores, so you can create automatic…
The "Purchase Order" that records what you ordered from a supplier and at what cost, and the "Transfer" that records incoming inventory, are finally connected. When a purchase order is ready to be…
Self-serve, which previously only handled return requests, now lets customers request order cancellations on their own. Cancellation rules can be configured per market alongside return rules, and…
Apps can now bring up the "choose from Shopify's file library" screen with a single API call. There's no need to build your own file-selection UI or send merchants off to a separate screen. The…
Your app's admin performance data has moved from the Partner Dashboard to the Dev Dashboard. You can now check Core Web Vitals alongside your existing monitoring tools without switching tabs. No code…
New color_palette setting type introduced. Merchants can edit the color grid directly, and changes apply across the entire theme. Individual color / color_background settings can reference palette…
A new mutation that lets your app buy Shopify Shipping labels for a given fulfillment order. The purchase runs asynchronously, so you poll the result to track its status.
Effective December 1, 2026. Returns/exchanges apps and subscription apps that offer buyer-facing self-service features must use the Customer Account API for customer authentication. Failing to comply…
The next version of Hydrogen decouples commerce logic from React Router and moves it into a framework-agnostic core. You can build storefronts using Shopify's "commerce primitives" with any…
Starting today, every Sidekick app extension must follow two rules: it must operate within the scope of the app's own core functionality, and it must not promote, advertise, cross-sell, or request…
Starting with API version 2026-07, you can create a Market not only by country/region but also per sales channel. You can control product availability, pricing, and currency for each channel directly…
Liquid storefronts now include a standard communication layer between a theme and the code running on top of it. The theme emits eventswhile apps and agents call actions. Both work across all themes…
Exporting large volumes of data from Shopify is now up to 4× faster thanks to Bulk query optimizations. Retrieving large datasets can now be done in less time and at lower cost.
Whether a customer has opted in to WhatsApp marketing—previously not accessible via the API—can now be updated and retrieved from both the Admin API and the Customer Account API. A dedicated mutation…
The disclosure text shown at checkout for subscription purchases has been updated. New translation keys are introduced, and stores that haven't customized the text will automatically switch to the…
All app developers can now build Sidekick app extensions, letting Sidekick access data inside an app and perform actions within it. 18 companies including Klaviyo, Loop, Smile, Judge.me, Checkout…
The Spring 2026 Editions is live. More than 150 updates from across Shopify have been announced together. Rather than covering an individual feature, this page is a map forhow to take in and…
WhatsApp has been added to the marketing consent options previously limited to Email and SMS. You can now view each customer's contact channel settings on a single screen, and bulk import/export lets…
Automatically prioritizes which messages to send now and which to hold back. A built-in delivery setting in the Shopify Messaging app that aims to optimize conversion while curbing unsubscribes and…
Two new chart types have been added to the visualizations you can choose when building or editing reports in Shopify Analytics. You can now compare three metrics at once, or break a total down into…
Statutory and optional notices such as Prop 65 or choking hazards can now be registered as structured data (metafields) in a dedicated field in the Shopify admin, instead of being mixed into product…
The Marketing tab in the admin is being renamed and revamped as Growth. Alongside Campaigns and Attribution, everything related to growing your business—including the new Autopilot experience—is…
Without opening and navigating each market's page, you can check product counts, discount counts, and inheritance from parent markets right on the graph. You can now read the overall picture of your…
Create a sales channel (plus a region if needed) as a single market, assign a catalog to it, and set channel-specific prices, product availability, and currency. Each channel keeps its own publishing…
Customers can now choose "ship to home" or "pick up in store" for each item in their cart. Previously, different delivery methods required splitting the order, but now it's all handled in a single…
A new action that lets Flow automatically charge a vaulted credit card or debit a bank account on the due date for B2B orders with payment terms.
Checkout Blocks' "Address format validation" is now available to all merchants. It blocks non-compliant shipping addresses at checkout, shows the buyer an inline error, and prevents them from…
Editing your store from a phone has been rebuilt. The store preview (canvas) stays visible while you edit, and settings open in a compact sheet that doesn't cover the screen. Tap interactions, a…
A refresh that makes it easier to review, track, and act on orders. It brings a clean single-column layout, more intuitive and accessible navigation, and mobile-first optimization.
More merchants can now receive payouts in the currency they sold in. The US gains multi-currency payout support for the first time, while Hong Kong (HK) and Singapore (SG) add more currencies they…
Staff management, previously split between the POS channel and the admin, is now consolidated in one place (Settings > Users). It's now easier to pause and reactivate seasonal staff, identify…
A new skill that hands off API version updates and the move to Polaris Web Components for Checkout / Customer account UI extensions to an AI coding agent. It compresses manual work like React→Preact…
Store staff can now create pickup orders from the POS cart for any pickup-enabled location. The cart's "pickup location" row becomes tappable, showing each store's inventory in real time so staff can…
Edit the publishing settings of a catalog across multiple products, review your changes, and then save or discard them all in a single action. The previous workflow of committing one product at a…
You can now schedule themes, checkout, and customer account settings to publish at a specific date and time, roll them out gradually to a subset of visitors, or A/B test two configurations as-is. The…
Every store comes with a default agents.md that's served at /agents.md , and/llms.txt and /llms-full.txt also point to it by default. By adding a dedicated template to your theme, you can now return…
New admin.app.home.render target lets you build your app's landing page (App Home) as a Preact-based admin UI extension. It ships in the same bundle as your other admin UI extensions, so you no…
"To be paid" becomes "Payout balance." Explanatory text about the calculation logic is also added. No changes whatsoever to timing, amounts, or reserve conditions — purely a labeling improvement.
Field-level triggers / payloads defined with your own GraphQL query / fields_changed to show what changed. A next-generation system that solves both the webhook "noise problem" and the "extra API…
Payment methods suited to the customer's country/region are enabled automatically and reordered to maximize the chance of a purchase. Merchants are freed from the work of handling each new payment…
The CLI's versioning scheme moves to SemVer, and the CLI now upgrades itself automatically.--force and legacy commands are removed, so CI/CD now --allow-updates/--allow-deletes for its workflow.
Optional Consent for scopes, launching Intents from the Shop app, storage limits, availableForSale exposure, and more — a major update that changes how you build Minis.
The "Cumulative" toggle in the Visualization panel, or ShopifyQL's WITH CUMULATIVE_VALUES , makes the time-series chart show a "running total (cumulative)" instead of daily values.
Switches to a new two-column design where you can place a background image on the right to express your brand. Edit directly while previewing in the Checkout & Accounts editor, with support for…
Use the Abandoned cart, Abandoned checkout, and Browse abandonment templates to automatically send well-timed SMS. Start from a template or build your own from scratch.
You can now directly retrieve "which shipping method is used" for each line item of a fulfillment order. Even in complex cases merged across delivery profiles, each line can be mapped to the correct…
Multiple legal entities within the same country—previously handled with separate stores or expansion stores—can now be consolidated into one store by combining Markets and Shopify Payments. You keep…
Reflects the restoration of Sardinia's administrative divisions enacted in June 2025. The new province "Gallura Nord-Est Sardegna (OT)" is now selectable, and the former "Carbonia-Iglesias (CI)" has…
Same features, with a brand-new look and feel. Access to cash, cards, and recent activity has been reorganized, andthe money transfer flow is new too, making it even easier to manage your funds.
You can now specify real records, such as past orders and customers, as test events. On top of that, Sidekick uses AI to analyze branch paths and automatically generate test cases.
Set your logo, colors, typography, and section styles in one place, and they carry straight through everything from checkout to account pages. No more breaking Customer Accounts just by tweaking…
Accurately calculates GST/HST/PST/QST/RST by province. Also auto-classifies product categories (accounting for fine-grained rules like 6 or more donuts being tax-exempt while 5 or fewer are taxable)…
No more asking the merchant to "please share the logs" every time. If your app holds the required scopes, the function run log details in the Dev Dashboard appear automatically.
From the legacy React/JavaScript API to Preact + Polaris web components + global shopify object. Published together with 60+ per-component pages and the checkout → cart metafield migration steps.
Creating a shipment object is now optional. You can move inventory along the shortest path—Draft → In transit → Received—and review progress, tracking info, and purchase orders (POs) all on one…
Starting with the 2026-07 Storefront API, when a Cart line contains a product that isn't carried in the buyer's location, the Cart returns a warning for each affected line. The target field holds the…
Non-expiring tokens stay valid forever if they leak. Shopify is requiring all Public apps to migrate to "Expiring Offline Access Tokens" that expire in 60 minutes and rotate automatically.
For merchants running multiple markets in a single store, it's now possible to issue and sell gift cards in currencies other than the store's primary currency. From issuance through redemption, the…
Managed Pricing has been renamed to "Shopify App Pricing" and expanded. In addition to subscriptions, usage-based billing via the App Events API is now available, and the Billing API is now treated…
Just send any in-app event to a single endpoint, and it shows up in the Dev Dashboard Logs alongside Webhooks, Function runs, and API calls. You can also optionally tie it into "pay for what you use"…
Track AI-driven traffic from ChatGPT, Shop, Copilot, and more on a single screen. Shopify now tells you directly which queries surface your products and what to fix to boost their visibility.
When shipping inventory transfers between stores or across state and national borders, you can now issue a Packing Slip in the same format as orders directly from POS Pro. An operational improvement…
Run ShopifyQL from inside a workflow to retrieve sales, sessions, and inventory. The returned values become variables you can pass into downstream conditions and actions.
The storefront account component (sign-in UI) now adds a marketing subscription checkbox below the email field. Customers who check it and complete sign-in are automatically added to the email…
With a single API call from your app, the relevant section of Settings in the Shopify admin opens in an overlay and auto-scrolls to the field that needs editing. An extension of the initial March…
DiscountContextInput now includes markets , letting you apply discounts per regional market / retail location / B2B company location. Supports all discount types (Basic / BXGY / App / Free Shipping…
Starting with API version 2026-07, ProductVariant becomes Publishable , letting you control publication status per variant on a per-publication (channel or catalog) basis. Workarounds like deleting…
Assign a discount to one or more markets to control its scope precisely. Keep an online-only flash sale from spilling into your retail stores, and deliver wholesale offers to B2B buyers only. No…
The inventory adjustment popover in the admin has been redesigned. It explicitly separates overwriting quantities from "moving" them, and the adjustment history now retains the source, destination…
Visibility control, until now limited to the product level, can finally be set at a granularity like "hide only the red S" or "publish only the bulk B2B size to the wholesale channel"—with no need to…
Shopify has begun applying strict rate limits to bots and agents that access the Storefront API and Shopify-hosted online stores. Unsigned requests are pushed into the strictest tier. If you want a…
The "comparison against industry peer averages" feature will stop receiving new data and will eventually be removed entirely. The alternatives are Metric Targets (setting goal values) and Sidekick…
Using an "app-scoped" token issued in the Dev Dashboard, you can now automate app releases from GitHub Workflows and the like with the latest Shopify CLI. It replaces the old CLI token that was…
Across all workflows, edits, activations, and deactivations are now logged automatically with the staff member's name and a timestamp. When something "stops working," you can open the history from…
On a day your conversion rate dropped, just hover over a marker to learn that "a theme was published that same day." Product publications, store changes, and system events appear right on your data…
Without leaving the refund screen, you can add, update, or remove discounts on eligible items. The balance recalculates on the spot, so you can refund the discounted amount. No more bouncing back and…
In the Admin GraphQL API, the DiscountCodeAppInput / DiscountAutomaticAppInput default value has changed. The article states: "No action required; no impact on how discounts are applied at checkout."…
Even for shipments without carrier tracking, staff can now manually mark them as "Delivered." Merchants shipping with unsupported carriers can keep their orders' shipping status accurate.
You can now record who initiated subscription billing, contract edits, and status changes — customer, merchant, or partner app — at the time the mutation runs.
You can now view and update current on-hand inventory even at locations that don't fulfill that variant. A quiet but useful improvement that lets you keep count of "inventory that isn't for…
$app:example App-owned metaobjects with types like this (including those created via declarative definitions) can now be read and written by the owning app itself, without requesting additional…
Payments, receipts, tips, customer information, and app settings — which previously required jumping between separate settings pages — are now consolidated into the same single editor as Smart grid…
From warehouse to store—two new triggers have been added to Flow that can automatically launch workflows for notifications, record updates, and follow-up tasks the moment an inventory transfer…
Numeric goals (metric targets) like "$50K in total sales this quarter" can now be created, retrieved, updated, and deleted from your app using four new operations. You can work with the same targets…
For US merchants. You can initiate domestic wire transfers directly from your Balance account—where your sales accumulate—to suppliers, contractors, and vendors. A feature addition that makes payment…
A stream of insights highlighting your key business trends now appears at the top of the analytics dashboard. They're analyzed automatically every day, with the top 5 lined up in order of business…
On an iPad / Android tablet with a hardware keyboard, you can search, move through lists, select, and check out entirely from the keyboard. The need to go back and forth between touch and keyboard in…
Starting with POS version 11.5, you can generate a scannable QR code from any discount code in the Shopify admin. It applies whether POS staff scan it at the register or a customer uses it during an…
Fixed-amount (FixedAmount) line-item discounts are now calculated internally per-unit. With the current API (2026-04 and earlier) you can still pass the total amount and POS converts it…
Retailers connected to a supplier can turn off price sync and set their own retail prices—higher or lower than the supplier's listed price—for imported products. For existing connections, sync…
Starting with POS v11.5, when you type in the product search field, the next word appears ahead of you as faint ghost text. Just press Space or Tab to accept the suggestion and jump straight to that…
Returns, refunds, and exchanges that used to be split across separate workflows can now be processed right in the Shopify POS cart screen. Handling at the register becomes faster and simpler, and the…
Fixed-amount custom discounts that used to be prorated across the whole line are, as of v11.5, treated as a discount amount per individual item. This aligns the behavior with the admin and draft…
Set how high you want to reach for key metrics like total sales, orders, and conversion rate. A gauge showing your progress rate, current/target value, and days remaining visualizes how you're doing…
Staff can now apply a discount code simply by scanning a QR at checkout. In the admin, you can generate, print, and share a scannable QR from any discount code, for use in-store or online.
Until now, cash counts could only be done at the start or end of a session. Now you can check the amount in the drawer at any point during an active shift—just select "Count cash" from the Register…
Starting with API version 2026-07, the Customer object's taxSettings field becomes public. Tax IDs such as VAT numbers collected at checkout can now be read by apps via query.
In the ShopifyQL editor in Analytics, MATCHES has been added. In the WHERE clause, you can now filter reports by a customer'sbehavioras a condition. Since you can use the same MATCHES syntax as…
Before removing an app, merchants must now pick one of eight reasons. The Partner Dashboard now delivers clearer, more actionable churn insights.
In Shopify Analytics, you can now overlay up to 4 metrics on a single line chart. And with the new "bar and line" visualization, you can compare a quantity like sales against a rate like conversion…
For Shopify Plus / Enterprise, a single checkout now lets customers choose "shipping" or "in-store pickup" per item within the same order. Previously, each delivery method required a separate order…
The MCP tools for product catalogs are search_catalog / lookup_catalog / get_product — reorganized into these three. The call targets now point to /api/ucp/mcp . The old tools remain available until…
Solves the problem where shipping and local pickup options stacked vertically into a long scroll. Now the nearest pickup location is shown first, with the rest listed in a modal. No work is required…
App review feedback moves from email to Partner Dashboard. Each requirement gets a status, and with AI self-review and automated pre-submission checks, the workflow shifts to fixing issues before…
You can now retrieve the token tied to the "cart" that generated an order directly from the GraphQL Admin API. A field that returns the same value as the REST Admin API's cart_token .
For stores averaging 10+ orders per week, automatic data summaries now appear directly in the Home feed. "Sessions" and "Fulfillment" have been added as new analysis areas, bringing 80+ additional…
A visual refresh that improves consistency across navigation, layout, and devices. You can preview and test your own Shopify Extensions on the new layout right now. The preview period runs until June…
The GraphQL Admin API enum that specifies the product sort order within a collection gained one new value. Available in API version 2026-07 and later.
A new custom property for embedded apps running inside the Shopify mobile app that returns the height, in CSS pixels, of the overlay at the bottom of the screen (such as the floating bottom…
Starting April 20, 2026, Shopify will deliver only the CSS related to the sections / blocks / snippets actually rendered on each page. The old approach of loading all CSS on every page is going away…
MetaobjectAdminAccess Two enum values are being deprecated. These values 'no longer reflect reality,' and the API will stop returning them. No required action is needed, but updating your code keeps…
"Most Relevant" is a new option for sorting products within a collection. Existing sort settings stay as they are — it simply appears alongside Bestselling, Price, Newest, and the others as a new…
The REST API's current_subtotal_price_set equivalent field has been added to LineItem. It returns the line item subtotal after all discounts are applied, excluding returned/removed quantities, and…
Shopify will rotate the client certificate it uses to prove "this request really came from Shopify" starting June 15, 2026. The new certificate is signed by the same Certificate Authority (CA), so…
Previously limited to certain plans, checkout restrictions based on "minimum/maximum order subtotal" are now available on Basic, Grow, Advanced, and Plus. Part of the broader move to bring B2B…
From GraphQL Admin API 2026-07 onward, the weight of an order line item (LineItem) can be queried directly as a Weight object (value + unit). No more manually converting units from the REST grams…
On the Orders, Products, Customers, Discounts, Collections, and Metaobjects pages, search, filters, and saved views can now be operated together from a single search bar. Frequently used filters can…
Signed-in customers can now set a default address during checkout. This replaces the previous "last used address" logic. The default address can be updated at any time, either from checkout or from…
The integer field on draft order line items, which has been deprecated for over 8 years, grams will be removed in API version 2026-07. Use the weight field instead, which returns both a value and a…
On the mobile view of embedded apps, the bottom "icon + text" bar (ActionBar) is going away. The primary action moves to an icon button at the top-right of the header, and secondary actions move into…
Custom logic for discounts, shipping, and payments is moving to Shopify Functions. New edits and publishing stop on April 15, and all Scripts stop running on June 30. The starting point for migration…
Storefront API and Customer Account API are updated to 2026-04. Two breaking changes also land: 'API proxy is now always enabled' and 'backend consent mode defaults to ON'. Review the impact before…
Starting April 7, 2026, replacing or deleting a file in the Shopify admin no longercdn.shopify.com/... clears the cache immediately. Stale content keeps being served until the TTL expires. The fix is…
You can now post images and videos (up to 2 minutes) with product tags, reaching not only your followers but also new shoppers in the Shop feed itself, sorted by relevance. The 'followers-only'…
An official testing library that lets you write unit tests for UI extensions on any surface — Checkout / Admin / Customer Accounts / POS — without booting Shopify's runtime host. With type-safe mocks…
In GraphQL Admin API 2026-04, you can now apply multiple product discounts to a single cart line (line item). This feature supports the ongoing migration from Shopify Scripts, which will be…
From AI tools like Claude Code, Cursor, and VS Code, you can directly reference Shopify documentation, API schemas, and code validation, and even manage your store via the CLI. The setup plugin…
Cash management has been rebuilt on both POS devices and Admin (POS channel). New register extension targets and APIs have also been added. With register sessions, reason codes, and the new cash…
Merchants on Basic, Grow, and Advanced plans can start wholesale using the B2B features built into the admin. No extra fee.
subscriptionBillingAttemptCreate now has a new field paymentProcessingPolicy added. Even without a valid payment method, you now have the option to create an order in an unpaid state.
Starting from the API 2026-04 release candidate (RC), the contract creation mutation's paymentMethodId is no longer required. You can migrate contract data even when a payment method is missing or…
Starting with API version 2026-07, the payment method identifier field becomes required in the Stripe, Authorize.net, and Braintree inputs. It was optional in the schema, but actually needed for…
Cart and Checkout Validation Functions add billingAddress and poNumber . You can now enforce billing-country blocks or PO-number requirements for B2B orders at checkout without relying on client-side…
Starting with API version 2026-04, 3PLs and shipping apps can report fulfillment order progress via fulfillmentOrderReportProgress. They can signal that work has begun, optionally with a short status…
A single sales channel app can now create and manage multiple channel connections on a single shop. Each connection can have its own specification file and external account. The model of splitting…
Starting from version 2026-04, DraftOrderLineItem to components a field has been added. Component items hanging off a parent line item (bundle contents, etc.) can now be retrieved as-is in a…
Starting with API version 2026-04, a tags field is available on all discount types. The Admin API lets you add, update, and remove tags so you can label, group, and organize discounts.
An improvement that displays the contents of a draft order — both the bundle and its components — more clearly and consistently. The purchase experience in Customer Accounts becomes easier to follow.
Access rules for standard metaobject definition templates can now be read directly from the API. In particular, you can determine "is this template configured to be accessible via the Storefront…
Polaris reference documentation is being unified under the same versioning policy as Shopify's GraphQL API. Each stable version is supported for at least 12 months, and starting with the 2026-04…
When creating a delegate token, the response now includes "how many seconds until expiration." In particular, when you omit the expiry and inherit the parent token's TTL, you can now determine the…
Product Discount Functions can now set "prerequisites" on discount candidates. This lets you express the "Buy X" side of BXGY (Buy X, Get Y) — for example, "buy 2 of A, get B discounted" — directly…
ACH debit (bank account withdrawal) remittance, which remained in some states, is no longer required. Repayments are made automatically from Shopify Payments sales, unifying funding and remittance on…
Settings and branding that were previously split between the Checkout Profile API and the Checkout Branding API are consolidated into one API in API version 2026-04. Configure shared design tokens…
In API version 2026-04, reading and writing checkout metafields from checkout / customer account UI extensions has been "removed." Extensions on older versions must be upgraded to 2026-04 and…
Open each app under Settings > Apps to review its active Extensions and Functions, features not yet enabled, and customer data collection via Pixels — all in one place. Manage your app stack with…
You can attach tags to any discount and use them to group, search, and filter across all of your discounts. As your discount catalog grows, organization and lookup get easier — an admin-side…