Last 7 days
2
Features: 2
Changes: 0
Fixes: 0
Deprecations: 0
Commerce platform for storefronts, payments, operations, and extensible merchant apps.
Latest Shopify changelog updates, official release notes, breaking changes, security patches, pricing changes, and developer reactions in one product feed.
Follow this Shopify release-notes page to spot useful features, risky migrations, noisy announcements, and source links before they hit your backlog.
Changes.Watch links back to official changelog and release-note sources so summaries stay easy to verify.
Use channels to follow groups of tools around a stack, workflow, or topic.
Rolling windows show how many product updates landed in the last 7, 30, 90, and 365 days, grouped by existing changelog semantics.
2
18
89
331
admin.app.intent.link intents now open as a full‑page navigation instead of an overlay modal
Adds cart session attribution and cart attributes for richer checkout data.
Added the `shop_campaign_insights` schema to ShopifyQL, letting apps query campaign performance data using the existing `shopifyqlQuery` field with the `read_reports` scope.
The updateCart action now supports updating cart attributes directly.
Reserved inventory for draft orders, transfers, and shipments is migrated to the committed quantity state via a one‑time data migration.
Added WebMCP tools allowing AI agents to interact with catalog, cart, checkout, and policies on Liquid and Hydrogen storefronts
Oxygen hosting is now supported on development stores, allowing Hydrogen storefront deployment from dev stores
Added a trackingNumbers array field to OrderCreateFulfillmentInput for attaching multiple tracking numbers during order creation.
Adjusted the required completion rate for assigned fulfillment orders
Added new fields to cash management resources in the GraphQL Admin API
Adds Vue bindings to Hydrogen via @shopify/hydrogen/vue entrypoint
Merchants now see partner organization details (tenure, registration country, request origin country, active paid‑store collaborations) on every new collaborator request in the admin and email
shopify-account component is now mandatory in all Theme Store submissions, required in the header for both desktop and mobile.
Added a `createdAt` timestamp field to the Customer object in the Shopify Functions API version 2026-10.
Updating a shipping address via orderUpdate now triggers tax recalculation for fully unfulfilled orders.
Introduces the new shopify.printing API with getPrinters() and print() for direct receipt‑printer printing, superseding the old shopify.print API.
Introduces SubscriptionContractCalculation object (early access, 2026-10 RC) to replace SubscriptionDraft for creating/updating subscription contracts with a calculate‑poll‑commit flow via the unified checkout engine.
Starting in API version 2026-10, the GraphQL Admin API returns an error for metafield filters that aren’t set up for filtering instead of silently ignoring them.
Apps can now subscribe to events for Order, Collection, InventoryItem, InventoryShipment, Location and to metafield changes on Product, Order, Customer, Collection, and Location (ProductVariant via Product topic).
Introduces {% block %} and {% partial %} Liquid tags for reusable blocks and server‑rendered partials
Added analytics‑queryable metafields and early‑access App Events, enabling apps to expose custom data to ShopifyQL without ETL
Introduces a preview of physical inventory APIs (bins, counts, purchase orders) via the unstable GraphQL Admin API, enabled on development stores.
Card‑deposit endpoint now requires a Shopify‑issued mTLS client certificate for all deposit calls (enforced Oct 15 2026).
@inContext directive now accepts an optional channelId argument to apply a specific sales channel’s context to queries
New App Store requirement 4.1.2 mandates each app have a unique, non‑confusing name.
Expose component-level discountAllocations for bundle components in cart line items via the POS UI Extensions API 2026-07
Introduces the pos.app.ready.data background target for POS extensions to run logic throughout a session without rendering UI
Partners must verify their identity via Stripe (photo ID and selfie/liveness check) before sending new collaborator requests; optional now but will become mandatory soon.
Increased plan limits to 8 public and 15 private plans per app
Add edge caching for Storefront API catalog data, reducing API calls per request.
FixedAmount line item discounts in POS UI extensions API v2026-07 are now treated as per‑unit values, removing automatic total‑to‑per‑unit conversion.
Introduces a migration tool to generate, review, edit, and test Shopify App Pricing plans before moving existing subscriptions.
Server-side action endpoints now receive requests even when configuration fields change, preventing workflow validation failures
Flow actions now resolve their runtime_url on every execution, automatically using updated URLs after redeployment
Clarifies enforcement of policy 1.3: incentivizing reviews is prohibited and may lead to review removal, app demotion/delisting, or partner account termination.
Introduced a dedicated App Store policy prohibiting review incentivization, with enforcement that can remove a large portion of an app's reviews if violated
Removed the deprecated Customer.lastIncompleteCheckout field and its Checkout type subtree from the Customer Account API version 2026-10.
Admin GraphQL API adds MarketRegionSubdivision type for sub‑region (state/province) markets, accessible via market.conditions.regionsCondition.regions.
New enum value FULFILLMENT_NOT_REQUIRED added to OrderDisplayFulfillmentStatus for orders with no items to fulfill (API version 2026-10).
The useBuyerJourneyIntercept hook and its block_progress capability are deprecated as of version 2026‑07 and will be removed in a future release.
Added typed product variant intent hooks (useSelectVariant, useAddToCart, useBuyNow) to the React SDK for variant selection, cart addition, and express checkout with native selector sheet and detailed result codes.
Merchant shipping configuration moves from the Delivery Profile API to the Markets API; apps must update any reads/creates/updates of merchant shipping settings.
Draft order deposit fields are added to the GraphQL Admin API and Customer Account API in the 2026-07 version.
Adds nullable `legalEntityId` (BigInt) field to BusinessEntity in GraphQL Admin API (v2026-07)
Add discountApplications field to DraftOrder for querying applied discounts
Deprecated `discountedUnitPrice` on `DraftOrderLineItem` in the Customer Account API
The `isCumulative` argument in `marketingEngagementCreate` is deprecated and will default to false.
Merchant-owned delivery profile GraphQL APIs are deprecated and no longer reflect live shipping settings under market‑driven shipping
Adds a delivery.shipping field to the Market object, enabling market-level shipping configuration via marketCreate and marketUpdate mutations.
Added a one‑click “Deploy” button that creates a Vercel project from the Hydrogen Next.js starter template.
Sales channel apps can now create, query, update, and delete order attribution definitions via new GraphQL mutations and queries, and pass attribution handles when creating orders or carts.
Added an id field to PaymentMandateResource in API version 2026-07 and later.
Carrier services created via GraphQL or REST API no longer auto‑add to the General shipping profile in API version 2026‑10.
Deprecate Storefront MCP cart tools (get_cart, update_cart) and replace them with UCP Cart MCP tools (create_cart, get_cart, update_cart, cancel_cart) at the /api/ucp/mcp endpoint.
Removed the deprecated `priceRule` field from `DraftOrderDiscountNotAppliedWarning` in GraphQL Admin API version 2026-10.
Removes the ITEM_NOT_STOCKED_AT_LOCATION error from inventory adjustment, move, and set‑on‑hand endpoints (API version 2026-10).
Added support for relative paths in Flow action extension endpoint URLs (runtime_url, validation_url, config_page_url, config_page_preview_url).
Added purchaseType and recurringCycleLimit fields to the discounts plugin, enabling UI extensions to control discount applicability to one-time purchases, subscriptions, or both, and to limit subscription billing cycles.
Add MetafieldOwnerType.TRANSFER to define metafield definitions for inventory transfers
Added enforcement of appliesOnSubscription and appliesOnOneTimePurchase fields for app discounts at checkout
Introduced a new boolean `coversAllItems` field on the DeliveryProfile type for app‑owned shipping delivery profiles (API version 2026‑07).
Added `pick:shopify/File` intent to open Shopify’s native file picker via the Intents API.
GraphQL Admin API adds support for channel markets (MarketType.CHANNEL) enabling creation and update of markets linked to specific sales channels.
Returns & exchanges and Subscription apps with buyer‑facing self‑service must use the Customer Account API for authentication starting Dec 1 2026.
Enable developers to build Sidekick app extensions for searchable app data and in‑app actions via Sidekick
Bulk queries run up to 4× faster thanks to performance optimizations
Introduce a new color_palette setting type that provides a single editable grid of colors applied across the entire theme
Add customerWhatsAppMarketingConsentUpdate mutation to set WhatsApp marketing consent for a customer’s default phone number
Admin performance dashboards moved from Partner Dashboard to Dev Dashboard, showing daily and 28‑day P75 rollups for LCP, INP, and CLS
Extracted commerce logic from React Router into a framework‑agnostic core, allowing storefronts in any JavaScript framework.
Adds shippingLabelPurchase mutation to the GraphQL Admin API for purchasing Shopify Shipping labels.
Introduces a standard communication layer for Liquid storefronts with theme‑emitted DOM events (e.g., shopify:product:view) and app/agent actions
Sidekick app extensions must operate within the app’s core functionality, with configuration, listing, and runtime behavior staying consistent.
Introduce a multi‑source Collection model with Collection.sources, new source types (conditions and sub‑collections), shareable app sources, and incremental update fields;
Metafields on app resources now require a definition with Customer Account API permission to be returned via the Customer Account API.
Introduce appSubscriptionCancel mutation in Partner API v2026-07
Added support for reading Shop User metafields in Shopify Functions during checkout.
Added a viewKey field to the CartLine type for direct read access
AI Toolkit now automates migration of checkout and customer account UI extensions to newer API versions and Polaris web components.
Added a `values` property to the Metaobject API for fetching all fields in a single call, returning a ready‑to‑use JSON object.
Updated headless checkout authentication docs to use the sso=silent query parameter instead of logged_in=true
Adds local‑currency gift card support via the new giftCardProductSet mutation with issuanceCurrency and crossCurrencyRedeemable fields (immutable after creation).
Introduces new GiftCardCashOutTransaction type in GraphQL Admin API v2026-07, representing POS cash‑out transactions
Inventory transfer webhooks now include origin.id and destination.id location Global IDs, removing the need for extra API calls to determine transfer locations.
Quality check feedback for app audits is now displayed in the Partner Dashboard under App > Distribution.
cartLinesUpdate now accepts a viewKey on each CartLineUpdateInput, exclusive with the id field
Adds App Home UI extensions (admin.app.home.render) so custom‑distribution apps can build their App Home as a Shopify‑hosted Preact extension, eliminating a separate iframe web server.
Add Liquid template support to customize /agents.md, /llms.txt, and /llms-full.txt via theme files
Introduces Next Generation Events in developer preview, offering field‑level triggers and custom GraphQL payloads for subscriptions
Adopt semantic versioning: minor releases for new features, patches for bug fixes, and major releases for breaking changes
Introduces a visual refresh for customer account pages with a single‑column layout consistent across desktop and mobile.
Public apps must switch to expiring offline access tokens by Jan 1 2027 or will receive authentication errors; non‑expiring tokens are deprecated.
Added optional consent model with new hooks (useCheckScopesConsent, useRequestScopesConsent) to handle rejected scopes gracefully
Deprecate and remove PRIVATE and PUBLIC_READ values from the MetaobjectAdminAccess enum
Adds checkoutToken field to the Order object in the GraphQL Admin API
Function run logs are now automatically visible in the Dev Dashboard when the app has the required access scopes, eliminating the need for merchants to share logs.
Introduces Checkout And Accounts Configuration API (v2026-04) for unified branding across checkout, customer accounts, and sign‑in, exclusive to Shopify Plus.
Added migration guides for Checkout and Customer Account UI extensions to adopt Polaris web components and Preact
Shopify App Pricing replaces Managed Pricing as the default billing solution in the Partner Dashboard.
Introduce the App Events API allowing apps to send custom usage, workflow, performance, conversion, and billable events to Shopify.
Adds a new `cartToken` field to the Order object in the GraphQL Admin API.
Added a "markets" option to DiscountContextInput for targeting discounts to specific regional, retail, or B2B markets across all discount types.
Shopify enforces stricter rate limits on unauthenticated bots and agents accessing the Storefront API and online store pages.
ProductVariant now implements the Publishable interface, enabling per‑publication publish/unpublish via API version 2026-07.
Introduced app automation tokens for CI/CD deployment of any app via Shopify CLI
Customers can now select both shipping and store pickup in a single checkout, creating multiple delivery groups within one order.
Add seven new Settings admin intents for notifications, payment capture, gift cards, delivery profiles, and business details
Introduce optional 'actor' argument in subscription billing attempt and contract mutations to identify who initiated the action (customer, merchant, partner).
Adds support for applying multiple product discounts to a single cart line in GraphQL Admin API v2026-04.
Introduced four new GraphQL Admin API operations (analyticsTargets, analyticsTargetCreate, analyticsTargetUpdate, analyticsTargetsDelete) for creating, reading, updating, and deleting analytics metric targets.
Added mandatory uninstall reason selection in the Partner Dashboard
Adds priceAfterAllDiscountsBeforeTaxesSet field to LineItem in the GraphQL Admin API
Checkout metafields removed in API version 2026-04; use cart metafields in checkout UI extensions and order metafields in customer account UI extensions.
POS 11.5 adds QR code generation for any discount code via the Shopify Admin
Introduces automatic CSS subsetting for {% stylesheet %} tags, delivering only the CSS needed for rendered sections, blocks, and snippets
Added UCP catalog tools (search_catalog, lookup_catalog, get_product) via the /api/ucp/mcp endpoint.
Added end-to-end review management in the Partner Dashboard with requirement‑level status tracking and blocked resubmission until all issues are resolved
Add optional `includeInactive` boolean argument to `inventoryLevels` and `inventoryLevel` fields on InventoryItem and Location.
inventoryActivate now retains existing available/onHand quantities when called without those arguments
Added `isActive` boolean to InventoryLevel in API version 2026-04 to indicate active status
Shopify will renew the mTLS client certificate for Payments Apps on June 15, 2026; the new cert is signed by the same CA.
Adds a `weight` field to the `LineItem` type in the GraphQL Admin API (v2026-07).
Adds a new MOST_RELEVANT value to CollectionSortOrder in the GraphQL Admin API (available from API version 2026-07).
Primary action on TitleBar now renders as an icon‑only button in the mobile header instead of a bottom bar.
Introduces CSS custom property `--shopify-safe-area-inset-bottom` for embedded apps on Shopify Mobile to account for the floating bottom navigation bar.
Introduces @shopify/ui-extensions-tester for unit testing UI extensions across all surfaces
Removed the DraftOrderLineItem.grams field in Admin GraphQL API version 2026-07; queries referencing it will error after 2026-04 support ends.
Deprecate cart.discountAllocations and cartDiscountAllocation.discountApplication; use cart.discountApplications and sourceDiscountApplication for correct values
Introduces the Shopify AI Toolkit, giving supported AI coding tools access to Shopify API schemas, validation, and CLI workflows.
Updated Storefront and Customer Account APIs to version 2026‑04.
Shopify Scripts will be deprecated: editing disabled on April 15 2026 and all scripts stop executing on June 30 2026.
Replacing or deleting a file no longer auto‑purges its cdn.shopify.com URL; cached content persists until TTL expires.
Added new Admin GraphQL APIs and POS UI extensions to expose cash management data for custom workflows.
Added a prerequisites field to product discount candidates to enable Buy X, Get Y discounts
Added a tags field to all discount types, enabling labeling and organization of discounts.
Metafield type now includes a translations field, enabling GraphQL queries of localized metafield values for any resource.
Adds a merchant_business_entity object to the tax_summaries/create webhook payload
Added an `expiresIn` field to the `DelegateAccessToken` type returned by `delegateAccessTokenCreate` mutation
Tax calculation requests now include an optional "properties" field on each cart line for custom name‑value pairs (e.g., token, personalization).
Added `merchant_business_entity` object to tax calculation requests in API version 2026-04.
Polaris reference docs now follow Shopify GraphQL API versioning, with each stable version supported for at least 12 months.
Added a `components` field to `DraftOrderLineItem` to expose component line items
App-owned metaobjects (e.g., $app:example) can now be accessed by the owning app without any access scopes.
fulfillmentOrderCancel now returns a specific fulfillmentOrderCancelError type instead of generic userError
Tax calculation requests now include buyer metafields for customers (D2C) and purchasing companies (B2B) in the payload
Functions can now query app‑owned metaobject entries (API version 2026‑04).
Introduce a new `access` field on StandardMetaobjectDefinitionTemplate to expose its Storefront API access rules
Added billingAddress and poNumber fields to Cart and Checkout Validation function input graphs (API version 2026-04).
Adds ability for a single sales channel app to create and manage multiple channel connections per shop via Channel Config extension.
paymentMethodId, customerPaymentProfileId, and paymentMethodToken are now required in the customerPaymentMethodRemoteCreate mutation for Stripe, Authorize.net, and Braintree
paymentMethodId is now optional for subscriptionContractAtomicCreate and subscriptionContractCreate mutations
productUpdate mutation now accepts an identifier argument for locating products by id, handle, or customId
The `fulfillmentOrderMove` mutation now returns a dedicated `fulfillmentOrderMoveUserError` type instead of the generic `userError` type.
Added paymentProcessingPolicy field to subscriptionBillingAttemptCreate mutation
Add fulfillmentOrderReportProgress GraphQL mutation for 3PLs and fulfillment apps to report order progress with optional reasonNotes
The `visibleToStorefrontApi` field is removed from Metaobject field definition types in the unstable GraphQL Admin API.
Introduced role‑based access control with system and custom roles for users
Deprecates the `--force` flag on `shopify app deploy` and `shopify app release`, with removal slated for May 2026.
Erasure requests are now processed 10 days after submission, removing the 180‑day wait tied to the customer’s most recent order
Removed `pre_tax_price` and `pre_tax_price_set` fields from order line items in the REST Admin API.
Added optional `barcode` field to InventoryShipment and InventoryShipmentCreateInput for assigning unique barcodes.
New public apps created on or after April 1, 2026 must request and use expiring offline access tokens for Admin API calls.
Refunds must be processed through the original payment processor using the `refundCreate` or `returnProcess` mutations.
Adds Settings support to admin intents, letting apps open specific Settings pages with a single API call
POS UI extensions can continue operating when the device loses network connectivity.
inventoryTransferDelete now returns a new INVALID_STATE error when a related product import is in progress
Adds new granular decline reason codes to the PaymentSessionStateRejectedReason enum
fieldDefinitions argument becomes optional in metaobjectDefinitionCreate mutation
Add new payment decline codes to the OrderTransactionErrorCode enum for more granular transaction failure details
Adds `createdAt` timestamp field to MetaobjectDefinition objects
Deprecated several Returns fields in ShopifyQL and introduced new fields like sales_reversals and reversed_quantity to represent all order adjustments.
Developer preview for checkout and customer account UI extensions ends
Updated requirement 4.4.4 to require screenshots that primarily show the app’s UI and features, prohibiting desktop backgrounds, browser windows, or logo‑only images.
inventorySetScheduledChanges mutation removed in API version 2026-07
Removed `id` from checkout webhooks and `checkout_id` from order webhooks
Added product tagging for user‑generated content and new SafeArea component/hook to handle device safe‑area insets
Adds an analyticsQueryable capability to MetafieldDefinition, enabling metafields to be used as dimensions and filters in Shopify Analytics
Shopify Functions can now access detailed discount data at cart, line‑item, and delivery levels via GraphQL API version 2026‑04.
Bare query strings (e.g., `image.png?123`) will no longer bypass the CDN cache, so they won’t refresh cached assets.
Updated Partner Program Agreement and API License Terms effective Feb 27 2026.
Accelerated checkout can now add multiple product variants directly from the product page
Legacy customer accounts are deprecated; new stores cannot use them and existing stores will lose updates and support, with a sunset date to be announced in 2026.
Added optional `locale` and `region_country` parameters to the Customer Account API authorization endpoint for market‑aware login URLs.
Introduces new read (rateGroups, conditions) and write (rateGroupsToCreate/Update, freeConditions, currencyCode) GraphQL fields for managing tiered shipping rates in DeliveryProfile.
Dev Console now lists all active dev previews and extensions in the admin, showing creator and last‑updated info
Adds SubscriptionBillingAttemptState field to GraphQL Admin API for billing attempts
Added two new rejection reason codes (RESOURCE_NOT_FOUND, RESOURCE_INVALID) to VerificationSessionStateReason.
JSON metafield writes are limited to 128KB for API version 2026-04 and later (new apps).
Dashboard now displays in the user's selected language
Added new Shopify CLI commands (shopify app execute) to run Admin API GraphQL queries and mutations directly from the terminal.
Expanded webhook monitoring page: 30‑day history, topic filtering, and p90 response time metrics
Introduces a shopify-account web component enabling passwordless, social, and automatic sign‑in without leaving the storefront
Added remainingLineItemsWeight field to the FulfillmentOrder GraphQL type
Added three new enum values (RATING, STRING_IDENTITY, COLOR) to ColumnDataType in ShopifyqlTableDataColumn.
Added optional name field to webhook subscriptions for easier identification and management.
Added POS UI extensions support to the shopify.app.extensions() method in App Bridge
Bumped Storefront and Customer Account APIs to version 2026-01 (quarterly update).
Add expirationConfiguration field to GiftCardConfiguration to expose default gift card expiration settings via the GraphQL Admin API.
Introduced a delayed consent popup for all Shop Minis, requiring user consent before the mini loads when scopes are requested.
Added new payment error codes for subscription billing in the GraphQL Admin API (unstable now, GA in version 2026-04).
Order metafield definitions can now copy matching cart metafield values to orders at checkout completion (API version 2026-04).
Added a Boolean `tracks_inventory` filter to the products query in GraphQL Admin API version 2026-04.
Introduced a new discounts object in the Discount Function Settings API (2026-01) with discountClasses, updateDiscountClasses, and discountMethod fields.
Uncaught errors in POS extension callbacks now show an error page from version 10.19.0.
Events older than one year are no longer accessible via the Admin GraphQL Event interface or Admin REST events resource
Buyers can update subscription payment methods directly within the Customer Account UI extension.
Checkout UI extensions that support blocking now default to non‑blocking behavior (effective Jan 26 2026).
Introduces a new `article_list` input setting for theme sections and blocks.
Added Admin and Theme app extension support to shopify.app.extensions() in App Bridge.
Add locale file support for translating extension text based on shop and customer locales
POS UI extensions can now access the device camera via a new Camera API
Introduces --allow-updates and --allow-deletes flags to shopify app deploy/release for granular control of extension and configuration changes.
Introduces `shopify app import-custom-data-definitions` (CLI v3.89) to migrate existing app‑owned metafield and metaobject definitions to declarative TOML
Storefront API now returns MERCHANDISE_LINE_TRANSFORMERS_RUN_ERROR for Cart Transform Function runtime errors
Shopify will stop setting the shopify_y and shopify_s cookies in 2026, causing unreliable visitor/session attribution in Shopify Analytics if not upgraded.
CLI now verifies that users have the Manage apps permission before allowing Shop Minis development actions
Shopify will enforce stricter Liquid parsing for all themes starting Jan 13 2026, automatically rewriting non‑compliant files with explanatory comments.
Asset version query parameters will now always use `?v=VERSION_STRING` instead of a bare numeric query.
Deprecated `deliveryShippingOriginAssign` mutation as legacy shipping mode profiles are discontinued.
Introduce new processing error INVALID_BILLING_ADDRESS for subscription billing attempts.
Added the `orders/link_requested` webhook topic in API version 2026-01
Introduces throttling of billing attempts in API version 2026-01 based on trust metrics
Added a transactions connection to the Return object in the Admin GraphQL API
Adds ReturnReasonDefinition type (id, handle, name) and related queries/connection for granular return reasons.
Added ON_FULFILLMENT value to the SellingPlanRemainingBalanceChargeTrigger enum.
Added metafield.reference and metafield.references to the Customer Account API, exposing Media types (MediaImage, GenericFile, Model3d, Video) and metaobjects via metafield references.
Introduce a new `shopAddress` field on the Shop object, replacing the deprecated `billingAddress`.
Removed the permitsSkuSharing field from FulfillmentService objects and related GraphQL/REST mutations (API version 2026-04+).
Storefront API now returns a GIFT_CARD_RECIPIENT_INVALID error for cartCreate and cartLinesAdd when recipient details are missing or invalid.
Added primaryConversions and allConversions fields to MarketingEngagementCreateInput and MarketingEngagement objects
Customer marketing URL fields now require the write_customers scope and create_and_edit_customers permission.
Add support for rejecting discount codes via the Discount Function API with custom messages.
Added optional `processedAt` input to the `refundCreate` mutation for custom refund timestamps
Venmo is now a distinct payment method separate from PayPal in API version 2026-01.
Bulk API now supports any mutation across all versions
`changeFromQuantity` is now required for `inventorySetQuantities` mutations; omit it and you’ll get a runtime error.
Introduced `changeFromQuantity` in `inventorySetQuantities` to explicitly control compare‑and‑swap checks.
Add optional @idempotent directive for inventory and refund mutations to prevent duplicate operations on retries.
changeFromQuantity field is now required for key inventory mutations and will cause runtime errors if omitted or not null
Allow creation of subscription contracts via GraphQL Admin API without an attached payment method
Idempotency directive is now mandatory for a list of inventory and refund mutations in version 2026-04; calls without @idempotent will error at runtime.
Added changeFromQuantity field for inventory mutations to enable compare‑and‑swap protection; made it required with explicit opt‑out in 2026‑04, breaking existing calls.
Adds optional `changeFromQuantity` field to inventory mutations for compare‑and‑swap concurrency protection.
`OrderTransaction.authorizationCode` is deprecated starting with API version 2026-01; use `paymentId` instead.
Introduces over 150 updates across the platform
Introduced a new engine for higher accuracy and broader platform knowledge across Shopify APIs, UI extensions, and Hydrogen
Introduces Sidekick app extensions to let apps integrate with Shopify’s AI‑enabled commerce assistant
Web Vitals events now include a two‑letter ISO country code for each event
Run theme commands across multiple environments simultaneously
Overhauled the POS UI extensions reference with expanded guidance and real‑world use cases
Introduce a Python SDK for ShopifyQL that returns query results as pandas or polars DataFrames
Added consolidatedOptions field to ProductBundleCreateInput and ProductBundleUpdateInput in the GraphQL Admin API.
Introduce @shopify/shopify-function-test-helpers to simplify integration testing of Shopify Functions with real production data
Added metafield value querying for Companies and Company Locations
Offline access tokens now have a 60‑minute TTL and include a refresh token, aligning with OAuth 2.0 spec.
Simplified and reorganized App Store requirements for clearer, more readable documentation
Introduces Tangle, an open‑source, platform‑agnostic experimentation platform with a visual editor and content‑based caching.
Added new validations to order editing mutations, returning userErrors when limits are exceeded
InventoryItem.variant field is deprecated; use the new InventoryItem.variants connection instead
Added MoneyBag *_set fields to tax_summaries/create webhook and tax calculation requests, delivering amounts in both shop and presentment currencies.
`created_at` in tax_summaries/create webhook now returns UTC timestamps with a trailing “Z” and millisecond precision
Adds code generation support for POS UI extensions in the Shopify Dev MCP server.
Added a new tutorial for deploying Shopify apps to Google Cloud Run
Tax calculation requests and tax summary webhook payloads now use Global ID (gid://) format for all entity references.
Enforces protected customer data scopes for web pixel extensions; PII fields are null unless the app has approved scopes
Added taxSummaryCreate mutation for generating tax summaries (by order ID or time range)
Add order_totals and customer tags fields to Carrier Service API callback payload
- Added public phone field to orderUpdate mutation's OrderInput, enabling updates to customer phone numbers
Added bulkOperations connection query for paginated list with filtering, sorting, and search syntax
Add support for enabling and referencing standard metafield and metaobject definitions via an app’s TOML file
The `cartDiscountCodesUpdate` mutation now requires the `discountCodes` argument.
BFS apps are now featured in the App Store homepage header for maximum exposure.
Bulk query `groupObjects` now defaults to false, improving speed; set to true to retain grouped output.
Made originLocationId and destinationLocationId optional in the inventoryTransferCreateAsReadyToShip mutation
Added ACH payment method support via new BankAccount object in the Admin GraphQL API.
Raised metafield and metaobject definition limits (apps up to 256 per resource type, merchants up to 128 or 256 based on plan)
Theme app extensions/blocks can no longer be used to promote your app, related apps, or request reviews.
Added optional `notify` boolean parameter to `storeCreditAccountCredit` mutation
Cart AJAX and Storefront Cart GraphQL APIs now correctly process simultaneous add‑to‑cart requests instead of dropping them
Introduces UNLISTED product status in Admin, REST, GraphQL, and Webhooks APIs
Hot reloading is now faster and supports full navigation screen reloads, eliminating flicker and extra navigation steps.
Increase product variant limit from 100 to 2,048 for all merchants
Introduced cart API methods shopify.cart.addLineItemSellingPlan and shopify.cart.removeLineItemSellingPlan for managing subscription selling plans on line items.
Announces early‑access release of the Shop Minis SDK for building full‑screen buyer experiences
callbackUrl argument in fulfillmentServiceCreate and fulfillmentServiceUpdate is now optional in Admin API version 2026-01.
Add Shop Pay and Apple Pay checkout buttons to product and cart pages via Checkout Kit for Swift or React Native.
Legacy shipping mode fields are deprecated and no longer functional.
Theme Store now allows only a single industry tag per theme
Added fulfillmentOrdersReroute mutation to the Admin GraphQL API for rerouting fulfillment orders
Added multipassIdentifier field to Admin GraphQL API for customerCreate and customerUpdate mutations
Added cartGiftCardCodesAdd mutation to Storefront API for adding gift cards to a cart
Subscription contracts now pull the “requires shipping” flag from the current product variant for each line, keeping shipping requirements up‑to‑date.
Search the complete Liquid API reference directly from the AI assistant
Add support for app‑scoped `functionHandle` as an identifier in GraphQL mutations, alongside `functionId`.
Added code generation support for Storefront, Partner, Customer Account, Payment Apps APIs, Polaris Web Components, and Liquid in Shopify.dev MCP
Adds usdcRebateCreditAmount field to ShopifyPaymentsPayoutSummary in GraphQL Admin API version 2025-10.
Adds productNetwork Boolean field to Order object in GraphQL Admin API v2025-10.
productVariantsBulkCreate and productVariantsBulkUpdate now enforce a maximum of 50,000 inventory quantities per mutation to support up to 2048 variants per product
productSet mutation now uses dynamic complexity costing based on actual work (base 10 pts + per‑variant/file/metafield factors)
Introduces the `shopifyqlQuery` field on the GraphQL Admin API QueryRoot
productSet mutation now enforces a 50,000 inventory quantity limit across all variants (supporting up to 2048 variants per product)
productVariantsBulkCreate and productVariantsBulkUpdate now use dynamic complexity costing (base 10 points plus per‑variant, media, and metafield costs)
productCreate and productUpdate mutations now use dynamic complexity costing with a base cost of 10 points
Adds themeDuplicate mutation to the Admin GraphQL API
From Oct 31 2025, Draft Order checkout prices may auto‑adjust when the shipping address changes based on Markets configuration.
Introduces admin intents API for streamlined integration with embedded apps and admin UI extensions
Removed the deprecated Shop.draftOrders connection from the GraphQL Admin API.
Grace period for Built for Shopify badge removal extended from immediate to 60 days for apps failing uninstall or embed criteria
Introduces two new metafield definition types (article_reference and list.article_reference) in GraphQL, Storefront API, and Liquid
Introduces optional remote product support for eligible US stores, allowing storefronts to display items sourced from other stores.
Introduce opt‑in remote product support, letting storefronts display items sourced from other stores; no mandatory theme changes but a new product.remote.seller.json template is recommended.
Add new dispute status "prevented" to DisputeStatus enum in Admin API and webhook payloads.
Added `mandate` connection to `CustomerPaymentMethod` object
Added three new fields (balanceDue, totalBalance, due) to PaymentSchedule for detailed balance and payment status tracking.
Introduced app discovery and recommendation cards in Sidekick, displaying up to three relevant apps or a highlighted app for strong matches.
Orders can now be filtered by metafield definitions and values in the Shopify Admin UI
StoreCreditAccount now accepts CompanyLocation as an owner, enabling location‑specific credit management via the Admin API.
Added rate limiting to the customerPaymentMethodRemoteCreate mutation in the Admin API.
Add exchangeLineItems support in the returnCreate mutation for Facebook orders created on or after August 26, 2025.
Add CARRIER_PICKED_UP value to the FulfillmentEventStatus enum.
Metaobject field definitions now support an admin_filterable capability, making them searchable and filterable in the Shopify admin.
Added eight new unified Polaris components for Shopify Admin (ColorField, ColorPicker, Popover, Tooltip, Menu, Chip, ClickableChip, DropZone).
Update Checkout Kit to Swift 3.3.1, Kotlin 3.5.1, and React Native 3.3.1 to stay compatible with iOS 26.
`permitsSkuSharing` set to false now returns an error in both the GraphQL mutation and REST endpoint (2025-10 API version).
Launch of a unified Dev Dashboard enabling dev store creation on any Shopify plan (including Plus) and centralized app management.
Added optional `visitorConsent` argument to `@inContext` directive for passing buyer consent preferences
Updated collectionReorderProducts mutation userErrors type to CollectionReorderProductsUserError
countryCode in CountryHarmonizedSystemCodeInput is now nullable, enabling global HS code entries.
Cart mutations now return a MERCHANDISE_NOT_APPLICABLE error when merchandise cannot be added or maintained.
Added announcement bar UI‑extension form factor for Thank You and Customer Account pages (Order Status, Order Index, Profile).
Added name, default, profile_type, and version fields to the profiles/update webhook payload.
Add PRESERVE_STANDALONE_VARIANT value to ProductVariantsBulkCreateStrategy.
Added shopify.app.extensions() method in App Bridge to query active checkout and customer account extensions.
Add a new `context` field to specify discount eligibility for customers or segments.
Automatic replacement of deprecated fonts in store themes, checkout, and Forms app will roll out gradually in August 2025
Order Editing API now supports applying discounts to already fulfilled line items via the orderEditAddLineItemDiscount mutation.
Deprecates the checkout_and_accounts_configurations/update webhook, effective Jan 1 2026.
cartDeliveryAddressesUpdate mutation now supports clearing all delivery addresses by passing an empty array.
Added a unified `uri` field to webhookSubscriptionCreate and webhookSubscriptionUpdate mutations supporting HTTPS URLs, Google Pub/Sub URIs, and Amazon EventBridge ARNs
Added parent‑child relationship fields for cart lines across APIs
Added bulk export of search term performance data across multiple ad campaigns
Updated documentation and guidelines for the `referenceDocumentUri` field in inventory adjustment mutations
Added Meta Pixel Conversions API support for server‑side app install tracking
Shopify will stop setting the _landing_page, _orig_referrer, and _tracking_consent cookies on merchant storefronts as of September 15 2025.
Shopify will stop setting the _shopify_y and _shopify_s cookies on merchant storefronts as of Jan 1 2026.
Introduces a Reviews API that lets Shopify apps request merchant reviews directly within the admin via a pre‑built modal
Shopify is deprecating the “Sell from all locations” setting, enforcing “Sell only within configured shipping zones” for most stores by Sep 30 2025.
Added current_total_price filter to orders query
Adds externalTraceId field to the ShopifyPaymentsPayout GraphQL type.
`ProductVariant.taxCode` field is deprecated in Admin GraphQL API version 2025-10 as the Avalara AvaTax app is discontinued.
Added SELLING_PLAN_NOT_APPLICABLE_ON_COMPANY_LOCATION warning to the CartWarningCode enum in Storefront API version 2025-10.
Add cartDeliveryAddressesReplace mutation to replace all delivery addresses on a cart in a single operation.
Hydrogen deployments now auto‑add the new preview URL to the Customer Account API setup.
Customer Account UI extensions can now access the analytics object via the Standard API.
Web pixels automatically load on Customer Account and Order Status pages, enabling full‑journey tracking
Cart quantity limits now depend on inventory available in the buyer's market region instead of total stock.
Deploy payments app extensions instantly via CLI without manual review
Reviews from stores on trial, discounted, or inactive plans are now archived instead of published.
Updated Partner Program Agreement and API License & Terms of Use, effective July 16 2025.
Added dedicated theme cards and listing pages for each theme preset, enabling targeted merchandising by industry and catalog size.
Added dateCreated, dateReceived, and dateShipped fields to the InventoryShipment type in the Admin GraphQL API
Flex sections developer preview closed; theme blocks are now generally available for all developers
Shopify will stop setting the `_ab` cookie on storefronts and checkout as of August 18 2025.
Added a new multiple‑choice filter `dispute_type` to the OrderListData GraphQL query
Added subtotal_price field to checkout-related server pixel events
Breaking: FormattedTextField removed; migrate to TextField before POS 10.7.0.
Cart tokens now use a new format for both AJAX and Storefront GraphQL Cart APIs.
Added a new refundMethod input to orderCancel mutation, enabling refunds as store credit.
Adds minRange and maxRange fields to integer, float, and event segment filters in the GraphQL Admin API
Added a `discounts` connection to the Customer Account API’s SubscriptionContract query.
New category-specific requirements for marketing apps in the Built for Shopify program take effect on July 1, 2025.
Deprecate the `discountClass` field in `DraftOrderPlatformDiscount`.
Added DraftOrderMarketRegionCountryCodeNotSupportedWarning to the DraftOrder object
Added optional query argument to Order.fulfillments for filtering by created_at and updated_at timestamps
Adds public AppUninstall GraphQL mutation for third‑party apps to uninstall themselves from merchant stores.
Add `removeFromReturn` mutation to delete unprocessed return and exchange line items
Added quantity tracking fields (processedQuantity, processableQuantity, unprocessedQuantity) to ExchangeLineItem and ReturnLineItem objects.
Deprecate returnRefund, returnCreate, returnApproveRequest, refundCreate mutations and Return.suggestedRefund field; replace with returnProcess mutation and Return.suggestedFinancialOutcome field
Draft order create and update mutations now accept up to 499 line items, increased from 250.
Removed EligibleForShopifyTaxReporting and ShopifyTaxReportingLegacyAutoTaxMigrated from the ShopFeatures object
Added `estimatedShippedAt` argument to the `FulfillmentOrderAcceptFulfillmentRequest` mutation.
Image alt text is now exposed as a TranslatableResourceType.
POST requests to Shopify APIs must now include a Content-Length or Transfer-Encoding: chunked header, otherwise a 411 error is returned.
Upgrade to Buy Button JS v3.0 to maintain checkout functionality.
app/scopes_updates webhook payload now includes the shop_id field
Added optional `groupObjects` argument to bulkOperationRunQuery and bulkOperationRunMutation mutations.
Introduce the unit_price_with_measurement Liquid filter for localized unit price display
Standardized target and operation names across multiple Function APIs (Cart Transform, Delivery Customization, Fulfillment Constraints, Order Routing, Payment Customization, Cart and Checkout Validation) for consistency and extensibility
Shop metafield definitions are now visible and manageable in the Shopify Admin UI
Added cart.deliveryGroups.groupType field to Function APIs
Cart metafields are now readable in Shopify Functions GraphQL input queries
Added direct access to order edit sessions via the OrderEditSession.id field and included an orderEditSession return field in mutations
Added PaymentTermsSetOperation to define custom payment terms at checkout
Liquid and Storefront GraphQL APIs now limit pagination to 25,000 items, returning an error (GraphQL) or the last page (Liquid) and capping counts at 25,001;
_shopify_country cookie will no longer be set on merchant storefronts and checkout as of August 15, 2025.
productCreate now surfaces specific input validation issues as userErrors instead of generic errors.
Added device, location, and currency_exchange_adjustment fields to OrderTransaction for richer transaction context.
Add FREE_GIFT_CARD_NOT_ALLOWED error code for subscription billing attempts with zero-priced gift card products.
General availability of the standard product review syndication program for all partners
Add AMAZON_PAY and FACEBOOK_PAY to the DigitalWallet enum, making them visible in Storefront and GraphQL Admin QPIs.
Updated fallback for contextualPricing and publishing APIs to use the backupRegion market instead of store defaults
Theme presets are now individually installable from the Theme Store, matching demo store behavior
Add orderCustomerRemove mutation to remove a customer from an order via GraphQL.
Add fallback to backup shipping rates when carriers return HTTP 3xx redirects or 4xx client errors
Cart object now returns detailed warnings for non‑applicable discount codes via new CartWarning types.
Added ability to pass arbitrary parameters to static blocks, enabling more composable theme components
Add support for recommending specific theme blocks in the block picker via the @theme block type in the schema
Deprecate `returnRefund` mutation and `Return.suggestedReturnRefund` field; introduce `returnProcess` mutation and `Return.suggestedFinancialOutcome` for unified return handling
Added a title filter to the articles query
Introduces over 150 new Shopify features in the Summer ’25 release
Upgraded Hydrogen core routing from Remix 2 to React Router 7.
Introduces Shopify Catalog, granting select apps and AI agents real‑time access to Shopify’s global product catalog via API or MCP server
Enhanced synonym and character matching for Japanese, Chinese, Korean, and Thai in app search results
Enhanced recommendation algorithm to surface apps favored by similar large merchants.
Deprecate Product, Order, and Shipping Discount Function APIs as of version 2025-04; they will be removed in future releases.
Added Discount Function API in version 2025-04, consolidating product, order, and shipping discount capabilities.
Added {% stylesheet %} and {% javascript %} Liquid tags for use in snippets
Introduces LiquidDoc to embed structured documentation directly in Liquid snippets and blocks
Introduce declarative custom data definitions using TOML for metafields and metaobjects, managed via the app dev command.
Add visual previews for block presets in the picker
Edit line items with selling plans (subscriptions and pre‑orders) before an order ships
Added CustomerPrivacy API for managing privacy on customer account pages, including order status
Added discount parameter to the /cart/update.js endpoint
Added optional `category` property to section and block presets for better organization
Added a secure Send HTTP request action that stores encrypted secrets (e.g., tokens, passwords).
Introduced Polaris as a unified, framework‑agnostic web component library for Admin, Checkout, and Customer Accounts (early access).
Added a new `visible_if` Liquid property to control visibility of theme settings in the Theme Editor
Create development stores with any Shopify plan (Basic, Grow, Advanced, Plus) via the new Dev Dashboard
Introduces a new `retailLocation` field in Function APIs to detect POS checkout context
Effective June 1 2025, BFS reviews will use a simplified set of 19 design requirements across 3 categories.
Introduce Skeleton theme, a minimal and modular Shopify theme for quick start.
Increase active functions per Function API from 5 to 25
Added early‑access support for Polaris web components on the Shopify.dev MCP server.
Added support for serving apps on localhost with a self‑signed HTTPS certificate via `shopify app dev --use-localhost`.
Introduce WebAssembly query API for Shopify Functions
Unified Dev Dashboard centralizes app creation, configuration, and deployment in a single interface
Added a consolidated overview and dedicated pages for each Shopify Function API with end‑to‑end examples, interactive object exploration, diagrams, and performance metrics
Added AI-powered support for Shopify Functions in the Dev Assistant and shopify.dev MCP server
App dev now isolates changes to a selected development store and automatically installs the app there
Count APIs now return uncapped results when the limit argument is set to null.
Apps can now issue refunds as store credit even when the original payment method was different
Added support for issuing store credit refunds in addition to original payment method refunds
New GraphQL endpoint fetches all delivery options (shipping, local delivery, pickup) for draft orders in a single request
Updated SFAPI to v2025-04 and added internationalization, cart, and template improvements
Public access for app‑owned metafields and metaobjects is disabled, defaulting to MERCHANT_READ/WRITE permissions
Add required /listings folder in theme zip and enforce preset naming rules
Archiving outdated, unhelpful, and untrusted reviews – they no longer affect app ratings or total counts (some remain visible).
Adds network access to the Discount Function API for Enterprise merchants
Added new CartErrorCode BUYER_CANNOT_PURCHASE_FOR_COMPANY_LOCATION to the Storefront API
Add a new `store_credit_account` object to the `customer` for Liquid templates
Deprecate gates types and fields across GraphQL Admin, Storefront, and Functions APIs
Shopify app dev now supports post‑purchase checkout extensions without the deprecated Chrome extension
Added name and confirmation_number query parameters to OrderConnection for filtering orders
Added imperial units (oz, ft) and count units to the UnitPriceMeasurementMeasuredUnit enum.
Introduce GraphQL queries to fetch Shop Pay payment request details and statuses.
draftOrderCreateMerchantCheckout mutation deprecated in API version 2025-07
Updated `event.data.checkout.subtotalPrice.amount` to include order-level discounts, aligning with the old /thank_you page definition.
Added automated pre-submission checks for authentication, redirect, reinstall handling, App Bridge version, and listing compliance.
Introduce a new `paymentSessionModal` mutation that displays a post‑purchase modal to buyers
Sunset the annual exemption reset; earnings before Jan 1 2025 no longer count toward the $1 M lifetime rev‑share exemption
Cash transactions on POS for specific currencies now auto‑round to the nearest denomination for payments and refunds
Status page URLs now use dynamically generated capability tokens instead of static keys, removing the need for token storage.
Removed email, firstName, lastName, and note fields from the Cart API subscribable hook.
productSet mutation now returns PRODUCT_SUSPENDED error for suspended products instead of INVALID_PRODUCT
Added publicDisplayName field to ShopPlan for standardized, publicly displayable plan names
Embedding payment apps in the Shopify admin is removed
Added PRODUCT_CATEGORY_ID_WITH_DESCENDANTS column to CollectionRuleColumn for automated smart collections
Added `province_code` (ISO 3166‑2) to session creation payloads in API version 2025‑07.
App star ratings now incorporate trust signals and recency for more accurate assessments
Introduces Inventory Transfers developer preview with API and UI enhancements for multi‑location transfers
Storefront GraphQL API now allows cart attributes with blank keys or values
Line items can now be allocated across multiple fulfillment locations within the same location group.
Added a new `planHandle` field to managed pricing app subscription plans for easier, human‑readable querying
Adds rfmGroup field to Customer.statistics in the GraphQL Admin API
productSet mutation now supports upserts using handle, id, or customId
Introduces `defaultEmailAddress` field on the Customer object in GraphQL Admin API v2025-04.
Added CardNotPresentInput with cvvResultCode and avsResultCode to paymentSessionResolve mutation
Introduces the checkout_and_accounts_configurations/update webhook in API version 2025-04
Adds FinanceKycInformation object to retrieve detailed KYC data (business address, type, industry, legal name, owner info, tax ID, access policies) for approved finance apps
Added nine new values to the FulfillmentOrderRejectionReason enum for more granular order rejection handling.
Added AttributeRemoveChange property to checkout UI extensions
Add new metadata fields to the OnlineStoreThemeFileOperationResult object
draftOrderCount query promoted to the stable 2025-07 GraphQL Admin API
Introduce GraphQL Admin API endpoints to view and modify first‑party privacy settings such as cookie banner, data‑sale opt‑out, and privacy policy.
Stable API versions will retroactively add new values to GraphQL enums, making them non‑exhaustive
Introduced @inContext directive for Customer Account API (API version 2025-04) to specify language context
Added three new values to the CustomerPaymentMethodRevocationReason enum: CUSTOMER_REDACTED, TOO_MANY_CONSECUTIVE_FAILURES, and CVV_ATTEMPTS_LIMIT_EXCEEDED.
Added `fees` and `net` fields to adjustment order balance transactions
Added new error codes to the combinedListingUpdate mutation in Admin API 2025-05.
Add giftCardConfiguration query to retrieve maximum values for gift cards
Added filter parameters to articles query: blog_id, handle, and published_at
Added developer preview for serving apps on localhost with a self‑signed HTTPS certificate (Shopify CLI 3.77+).
Introduces an `articleAuthors` query in the GraphQL Admin API
Added `fulfillmentStatus` field to the Order type in the Customer Account API.
Introduces the Shopify.dev MCP Server, enabling AI assistants to query Shopify development docs and API schemas
InventoryItem webhook topics can now be subscribed with either read_inventory or read_products scope
Cart mutations now return specific user errors for selling plan issues
Add cardNotPresent input to capture card‑not‑present transaction details
location.id can now be queried with either read_inventory or read_locations scopes
Introduced locations as delivery promise participants (currently unstable, slated for 2025-07 release).
Add support for Vite 6
POS now supports combining ship and carry‑out items in a single order for Retail Pro merchants using eligible tax software.
App Bridge Title Bar visual refreshed to align with the new Shopify admin UI
Added support for new event observation targets (transaction-complete, cart-update, cash-tracking session start/completion).
Added OKLCH color support in Liquid with a new color_to_oklch filter
Re-enabled multiple customer search query terms in both GraphQL and REST Admin APIs across all versions
Draft orders created on or after April 1 2025 will be automatically purged after one year of inactivity
Added collectionByIdentifier, locationByIdentifier, orderByIdentifier, and productVariantByIdentifier endpoints to the 2025-04 Admin API for custom ID lookup
Retail Exchanges now use the Shopify Exchange Platform, merging Return and Order Edit into a single Return agreement.
Added mobile ad support with separate bid pricing for mobile vs desktop
FeeSale.fee field is now nullable, allowing null when a fee has been deleted
Added `include_mirrored_exchanges` filter to Retail ExchangeV2 GraphQL Admin API
Deprecates unused PriceListErrorCode values starting API version 2025-04
Released JavaScript Buy SDK v3.0, replacing the .checkout interface with a Cart API‑based equivalent.
Introduces defaultPhoneNumber field on the Customer object in GraphQL Admin API version 2025-04
Added read‑only support for app‑owned metafields in Checkout and Customer Account UI extensions (2025‑04 API)
New developer documentation for Shopify Collective released
Discontinue support for listed POS UI Extension versions with the 2025.04 API release
Modal can no longer be dismissed by swiping down or tapping outside.
Updated inventory error messages for AJAX add, change, and update endpoints
The .dev Assistant VSCode extension is now deprecated.
Introduce GraphQL Transfers APIs and webhooks for viewing, creating, editing, deleting, duplicating, and marking inventory transfers as ready to ship.
Checkout APIs (Storefront Checkout Mutations and REST endpoints) are deprecated and will be disabled on April 1, 2025.
Removed the optional `description` field from the `MetafieldInput` GraphQL input object.
Add customerAddressCreate mutation to create customer addresses, with optional setAsDefault flag
`X-Shopify-API-Deprecated-Reason` now returns a comma‑separated list of detected GraphQL deprecations instead of a generic URL
Reserved prefixes now include any phrase containing "--"
Skip webhook and related actions when metafield or metaobject values are unchanged
Enabled Remix future flag v3_singleFetch, upgraded Remix to 2.15.3, and decoupled ESLint dependency.
Explicit access grants for metafields are removed.
Added ends_at, created_at, and updated_at filter parameters to the discountNodes query (API version 2025-04).
Added NON_TEST_ORDER_LIMIT_REACHED to the SubscriptionBillingAttemptErrorCode enum.
Added validation for country-specific harmonized system codes on product variant mutations
Introduce `find` filter to return the first matching array item.
Revamped descriptions for Discounts objects, queries, mutations, and input types to be clearer and more comprehensive
Added `event` field to store credit transactions to indicate the trigger via StoreCreditSystemEvent enum
Deploy Flow template extensions immediately without waiting for review
Add sourceLocation field to CustomerEmailMarketingConsentState and CustomerSmsMarketingConsentState GraphQL types
RELEVANCE sort option is removed from default connection sort options starting with the 2025-04 API version.
Enable Remix future flag v3_lazyRouteDiscovery
Introduce orderCreateManualPayment mutation to record manual/partial payments on orders.
Updated Catalog APIs to allow multiple markets per catalog, so MarketCatalog.markets may return multiple entries
Merge 'In Transit' and 'Scheduled' payout statuses into a single 'Scheduled' status
Introduce streamlined `metaobjects.type.handle` syntax for accessing metaobjects in Liquid
Add sorting by created_at, updated_at, and status to subscriptionContracts queries in both admin and customer APIs
Starting Feb 1 2025, Shopify will audit all App Store submissions for required permission scopes.
Added optional `role` argument to the `themeCreate` mutation
InventoryItemInput can now be set in product mutations using only the write_products scope.
Add $app namespace support for querying app-owned metafields in product searches
Adds continuous authentication for checkout by including a customerAccessToken in the cart's buyerIdentity, enabling logged‑in checkout URLs.
All published apps must now show costs and obtain explicit buyer consent before adding optional paid items in Storefront, Cart, or Checkout
Adds an 'id' field to the ProductFullSyncPayload object in the Admin API.
Added optional weight field to OrderCreateLineItemInput for the orderCreate mutation
Added `inventoryItem` field to `ProductSetVariantInput` in the GraphQL Admin API
Introduce new performance targets (CLS ≤0.1, INP ≤200 ms, checkout request p95 ≤500 ms with ≤0.1% failures) effective Jan 2 2025, replacing prior metrics.
Added CARTES_BANCAIRES and BANCONTACT to the OrderTransactions.paymentMethods enum.
Updated Shopify Functions Rust templates to drop the wasm32-wasi target and remove the incompatible cargo-wasi utility.
Introduce localizedFields in Checkout UI Extensions and Functions for custom tax field validation
Added validation for input query variable metafields across all Function APIs.
Breaking: removed ActionItem, SmartGridApi, DiscountType, badge prop, TextFieldProps, customValidator, and several Customer fields; deprecated multiple Stack fields and direction values.
Introduce backupRegionUpdate mutation, BackupRegionUpdateInput, backupRegion query, and availableBackupRegions query to replace primary market handling.
Adds a new `collection_id` filter to the products query in the GraphQL Admin API
Added a `components` field to `AbandonedCheckoutLineItem` in the Admin GraphQL API for defining bundled component products
Introduce CategoryFilter to filter products by a category ID in Storefront API version 2025-01.
Minimum purchase condition on automatic discounts is now optional
Add a new `customer` input field to the OrderCreate mutation for associating or upserting customers.
Added concatenatedOriginContract field to subscriptionLine for querying the origin contract of combined contracts.
Hide unused PriceListErrorCode values from the API starting in version 2025-01.
The `percentage_adjustment` field on `SellingPlanPercentagePriceAdjustment` changes type from Int to Float in Storefront API version 2025-01.
`storefrontCustomerAccessTokenCreate` mutation deprecated in API version 2025-01.
Add deliveryPromiseParticipants query to fetch delivery promise participants
Add new error codes for the combinedListingUpdate mutation in Admin API version 2025-01
Added sales_line_item_group_id field to orders webhook in Admin API version 2025-01.
All new apps must use the new GraphQL Product APIs starting Jan 6 2025; apps using deprecated REST product endpoints will be rejected.
From API version 2025-01, node/nodes GraphQL queries for fulfillment holds only return holds from fulfillment orders the app has explicit access to via specific scopes.
Adds a new requiresShippingMethod field to fulfillmentServiceCreate and fulfillmentServiceUpdate mutations.
Adds support for linking product options to any metafield of type list.metaobject, extending beyond category metafields.
Introduced a new customers/purchasing_summary webhook for detailed purchase data.
Introduce new fulfillment event status `delayed` in GraphQL API
Moved tax_exemptions and tax_registration_id into CompanyLocationTaxSettings.
Add a new `paymentDetails` argument to the `verificationSessionResolve` mutation.
Deprecate tax and duty fields in Storefront Cart API starting with version 2025-01.
Introduce required `deliveryAddresses` field in a new `CartDelivery` object (API version 2025-01)
Adds 3DS challenge support for verification flows via new VerificationSessionRedirect mutation
Raise the maximum variants returned per single product query (product or productByHandle) to 2000.
GraphQL 2025-01 adds support for up to 10 active holds per fulfillment order, using a unique `handle` per app to avoid duplicates.
Added uniqueness validation for the handle field in productCreate, productUpdate, and productSet inputs
RELEVANCE is removed as a valid value for FulfillmentOrderSortKeys in the GraphQL Admin API.
BXGY discounts now support subscriptions where the purchased item X is a subscription and the reward Y is a one‑time purchase or free item.
Admin field in metafield definition access is now optional
ReverseFulfillmentOrder.order field is now nullable as of 2025-01.
Added StoreCreditAccountTransactionOrigin and StoreCreditSystemEvent types for better traceability
Added PAYMENTMETHODVERIFICATION_FAILED to the CustomerPaymentMethodRevocationReason enum.
Mutation CustomerPaymentMethodRemoteCreditCardCreate is deprecated and hidden
Partner Program Agreement and API License & Terms of Use updated, effective Dec 30 2024.
Deprecated the SubscriptionMailingAddress object in GraphQL Admin API version 2025-07.
Draft apps will be blocked from review submission if they call any API slated for deprecation within the next 90 days, effective Jan 6 2025.
Added Meta Pixel event support on app listing pages
Added Meta Pixel event support on theme listing pages
Removed several deprecated Shop fields in Admin GraphQL API 2025-01.
Adds productTags, productTypes, and productVendors to QueryRoot with pagination support.
Introduce Print API for POS UI Extensions, enabling document printing from extensions
Require embedded apps to use session tokens for user authentication before review submission
Merchants on any trial plan, including paid trials, can no longer submit reviews on the Shopify App Store.
Add new LocalizationExtensionKey `SHIPPING_CREDENTIAL_MX` for Mexico cross‑border shipping credentials
Introduce optional `inventoryPolicy` argument for billing attempt mutations, allowing developers to override merchant inventory settings.
Added new values to the CustomerPaymentMethodRevocationReason enum in GraphQL Admin API version 2025-01.
Added ability to query discountNodes with exact discount code via the code prefix argument in the GraphQL Admin API (API version 2025-01).
Admin GraphQL API v2025-01 limits ScriptTagInput.displayScope to only ONLINE_STORE; other values are invalid.
Add support for up to 2,000 variants and combined listings
Admin REST API product image resource now returns a MediaImage GID instead of a ProductImage GID in the 2025-01 version.
Admin action extensions can now use the resource picker API to select products, collections, or variants
Deprecating the CalculatedOrder object for committed order edits; it will no longer be returned after the 2025-04 release candidate and fully removed by Jan 1 2026 (v2026-01)
Added ability to configure the "Get Support" button to redirect merchants to custom support channels (e.g., help desk, ticketing, forum, live chat).
Bid suggestions are now available for all Shopify App Store ad types, including search, homepage, and category ads.
Rename “new customer accounts” to “customer accounts” and “classic customer accounts” to “legacy customer accounts” across all Shopify surfaces
Launch of the Winter ’25 edition with over 150 new Shopify updates.
Shopify now requires a 100% response rate for fulfillment service callbacks (up from 99%).
Launched the Shopify Subscriptions Reference app with full source code as a starter example for subscription apps
Introduces Purchase Options UI extensions allowing merchants to create and manage subscriptions, pre‑orders, and try‑before‑you‑buy with a single extension.
Added full support for remaining Shopify Functions APIs (Delivery Customization, Payment Customization, Cart and Checkout Validation) in draft orders.
Apps can now manage storefront and customerAccount access settings for merchant metafield definitions via the API.
Introduces uniqueValues capability for metafield definitions, enforcing unique values across all resources.
Added returns support to the Customer Accounts API, including the orderRequestReturn mutation and returnCalculate query.
Input size limit for Shopify Functions increased from 64 kB to 128 kB.
Added a new processingError field to billing attempt error details, pinpointing product variants causing inventory errors.
Added support for Shopify Collective's automated returns flow via the returns/close webhook.
Added customerByIdentifier and productByIdentifier APIs for lookup by custom IDs
Introduces Picker API in App Bridge and Admin UI extensions
Draft order line item prices now default to the current product price at checkout (effective 2025-01).
All Built for Shopify apps must include the latest App Bridge script (app-bridge.js) in the <head> of every page.
Added new category‑specific requirements for Email, SMS, Ads, Analytics, Affiliate, and Forms apps under Built for Shopify.
New design guidelines (tab navigation, UX best practices) take effect Jan 1 2025 for Built for Shopify apps.
Added comprehensive Built for Shopify design guidelines, including UX best practices, tab navigation, layout patterns, container usage, and color roles, effective Jan 2025.
Consolidated all Built for Shopify requirements into a single searchable page
Introduce admin link extensions that replace admin links and bulk action links
Remove PRIVATE, PUBLIC_READ, and PUBLIC_READ_WRITE inputs/outputs for app‑reserved metafield and metaobject mutations on 2025‑01‑01
Admin REST API for product image is deprecated as of 2025-01.
Adds threaded chat capability, enabling follow‑up questions while preserving context.
Added Carrier and Fulfillment services performance dashboards to the Partner Dashboard Insights page.
Added checkoutBrandingInput settings (e.g., merchandiseThumbnail) to customize line-item thumbnails, image fit, and quantity badge background in Checkout and Customer Accounts order summary.
App extensions (admin links, checkout extensibility, theme app extensions) cannot be used for self‑promotion, advertising, or review requests starting Dec 5 2024.
Introduces a Chat API for embedding real-time support widgets on Checkout and Thank You pages.
PrivateMetafield is deprecated and will be removed in API version 2025-01.
Introduces optional_scopes configuration for apps to separate required and optional access scopes
JS Buy SDK is deprecated; a final major version will replace Checkout API dependencies with Cart API.
Introduce a new PickupAddress field for SubscriptionDeliveryMethodPickupOption and SubscriptionPickupOption
Raised automatic app-based discount limit from 5 to 25
Added ability for merchants to search and browse apps by structured category features in the Shopify App Store.
Added new dynamic source attributes for products, collections, articles, and blogs in the online store editor
Apps that strongly match brand term searches are now highlighted at the top of Shopify App Store results, above ads.
Added ability to add, remove, or edit items in the customer account header menu, including any URL or store page
Added manualPaymentGateway field to the orderTransaction object in GraphQL Admin API version 2025-01
Added category-specific criteria for Built for Shopify apps, viewable and editable via the Partner Dashboard.
Add support for migrating existing Marketing Activity Extensions from the Partner Dashboard to Shopify CLI (v3.70).
Added HideOperation in the Payment Customization Function API to conditionally hide and disable gift card fields
Deprecated several fonts; theme developers must replace them by Jan 3 2025
Added category-specific criteria assessments for Built for Shopify fulfillment service apps
POS Links, cart app extensions, and product recommendation extensions will be deprecated on February 28, 2025.
Remove the `metafieldDelete` Admin API method
Added new categories, attributes, and values to the Shopify Standard Product Taxonomy (v2024-10) across multiple product areas.
Introduce a new `application/graphql-response+json` response format selectable via Accept header with distinct status codes for success and validation errors
Deprecates the `Content-Type: application/graphql` request format; it will be rejected in 2025-01 schema versions.
Remove the deprecated `multiLocation` field from `ShopFeatures` in the Admin GraphQL API (effective 2025-01 release).
Merchants can now manage apps via the new Apps tab, which displays app extension collections.
Add new theme setting types: metaobject and metaobject_list.
Added Storefront API 2024-10 support, cart warnings, optimistic cart banner, and new route warnings
Metafields without an explicit type now default to "string" in Liquid
BOOMR theme variables (BOOMR.themeName, BOOMR.themeVersion) are deprecated and will be removed on 31 Jan 2025; use window.Shopify.theme.schema_name and schema_version instead.
Introduce new standard web pixel events for capturing checkout error alerts
Legacy Customer Account forms now require a valid hCaptcha token; the /challenge endpoint is removed, and non‑compliant submissions return 400 errors.
The `fulfillmentHold.heldBy` string field is deprecated and replaced by the `fulfillmentHold.heldByApp` object field.
Full-page extension targets can no longer coexist with other targets in the same extension
Extended grace period for several Shopify criteria from 30 to 60 days.
Added cartGiftCardCodesRemove mutation to remove gift cards from a cart by ID
Effective Oct 15 2025, all Shopify App Store apps must include the latest App Bridge script.
Adds `nodes` field to `StringConnection` for direct array of strings access
Add deep linking to editor extension collections in checkout and accounts editor.
Extensions targeting purchase.checkout.reductions.render-before and render-after now render at the top of the order summary on one‑page mobile checkouts.
Adds ADVANCE_FEES and ADVANCE_GROSS fields to ShopifyPaymentsPayoutSummary in GraphQL Admin API version 2024-10.
Shopify Functions now use dynamic resource limits that scale with the number of cart line items.
Adds an “Attribution” column to the Partners merchant export
The `lineItem` connection on `FulfillmentOrderLineItem` is no longer deprecated.
Make CalculateExchangeLineItemInput.variantId and CalculatedExchangeLineItem.variant nullable in the Admin GraphQL API schema.
Adds the `accountOpenerName` field to `shopifyPaymentsAccount` in GraphQL Admin API version 2025-01.
BulkOperationRunMutation now returns userErrors as BulkOperationUserError, adding an optional code field.
Adds ADVANCE and ADVANCE_FUNDING values to the ShopifyPaymentsTransactionType enum in the GraphQL Admin API v2024-10.
Adds a GraphQL connection to retrieve all disputes for a shop via Admin API version 2024-10.
Business Entity attributes are now exposed as GraphQL objects in Admin API version 2024-10
Adds a variantStrategy argument to the productOptionsCreate mutation.
Adds optional `requiresComponents` field to `ProductVariantsBulkInput` in the GraphQL Admin API (v2024-10).
Adds a new CollectionsCount query to the Admin GraphQL API.
Add webhook topics for metafield definition create, update, and delete events
New public apps submitted after April 1 2025 must use the GraphQL Admin API exclusively
Updated Theme Store ranking algorithm to prioritize recency, quality, and trust signals
Removed unused fields from the shopifyPaymentsBankAccount endpoint in GraphQL Admin API version 2025-01.
Adds Storefront API support for Combined Listings, allowing merchants to sell product variations from a single listing.
Added `recurring_cycle_limit` to DiscountAutomaticApp and DiscountAutomaticAppInput to limit discount occurrences for subscriptions.
Added boolean `has_variants_that_requires_components` to product create and update webhook payloads
Adds `accountType` field to `StaffMember` object.
Removed the deprecated `shippingMethods` field from the `fulfillmentService` query and `fulfillmentOrderSubmitFulfillmentRequest` mutation.
Introduces a new `orderCreate` mutation in the GraphQL Admin API 2024-10
Added iOS Safari debugging, new block render targets (product-details, purchase.post, order-details, customer-details) and windowed modal support
Fulfillment Constraint functions can now be linked to one or multiple delivery method types via a new required delivery_method_types field in the Create mutation.
fulfillmentOrder.destination now returns a FulfillmentOrderDestination object (address fields null when no shipping address).
Add support for Local Pickup delivery method in fulfillment constraints via the Admin GraphQL API.
Add payment_group_id and payment_session_id fields to the SubscriptionBillingAttempt object.
Removed the `priceRule` resource from the GraphQL Admin API as of 2024-10.
Add a new `session_id` field to the StartPaymentSession payload for all payment extension types.
Deprecate the `reverseDeliveryDispose` mutation in GraphQL Admin API version 2024-10.
Added notifyCustomer flag to returnApproveRequest and returnDeclineRequest mutations to email customers about approval or decline.
Added Refund.orderAdjustments connection for querying order adjustments and included them in REFUNDS_CREATE webhook payload.
Added CompanyLocationStaffMemberAssignment to view staff members assigned to a location
Adds QueryRoot.discountNodesCount field to retrieve total discount count in the shop.
Added marketId argument in API version 2024-10 to fetch translatable content specific to a market.
Added displayReason field to FulfillmentHold for a localized, human‑readable hold reason
Added multiple theme-specific fields to TranslatableResourceType enum for finer-grained translation data (e.g., ONLINE_STORE_THEME_JSON_TEMPLATE, ONLINE_STORE_THEME_SECTION_GROUP, etc.).
Introduces the customerSendAccountInviteEmail mutation in GraphQL Admin API version 2024-10.
Introduces the addressesV2 field on the Customer object to enable pagination of customer addresses.
Adds a new admin GraphQL endpoint `abandonedCheckouts` to retrieve abandoned checkout lists.
Add ability to link Orders, Profile, and Settings pages in navigation menus via the Admin API.
Added full set of subscription contract fields (linesCount, billingPolicy, deliveryPolicy, deliveryMethod, deliveryPrice, updatedAt, currencyCode) to the Customer GraphQL API
Inventory errors are moved from userErrors to a new `warnings` field on all cart mutations.
Add `heldByRequestingApp` boolean field to the FulfillmentHold GraphQL resource.
Add FAILED_TO_RETRIEVE_BILLING_ADDRESS value to CustomerPaymentMethodRevocationReason enum.
Added bulkOperationRunMutation support for subscription status updates
write_third_party_fulfillment_orders scope no longer allows order management apps to create fulfillments for orders assigned to other fulfillment service apps' locations.
Added an `events` connection (with `eventsCount` and `event` fields) to Article, Blog, Collection, Comments, Pages, ProductVariants, and Products for querying related events.
Updated the `fulfillmentOrderHold` mutation to include a new `fulfillmentHold` return field
Add new `app/scopes_update` webhook topic to track changes in an app's granted access scopes
Added `created_fulfillment_hold` field to the `fulfillment_orders/placed_on_hold` webhook in Admin API version 2024-10.
Removed deprecated product image mutations (productAppendImages, productDeleteImages, productImageUpdate, productReorderImages) from the GraphQL Admin API.
Add an `inventoryAction` enum to the `fulfillmentServiceDelete` mutation for inventory handling (KEEP, DELETE, TRANSFER).
Split ProductInput into ProductCreateInput and ProductUpdateInput.
Add full CRUD GraphQL operations for Pages, Articles, Blogs, and Comments.
Added support for App Store ads to target tag-level category pages.
Explicit access grants for app-owned metafields are now deprecated.
Introduce LocalPaymentMethodsPaymentDetails object for handling local payment transaction details.
Introduces SubscriptionBillingAttempt object to record each billing execution
Added SubscriptionBillingAttempt object to log each subscription billing execution.
Introduce GraphQL queries to fetch individual themes, multiple themes, and theme file metadata/content.
Default for permitsSkuSharing in fulfillmentServiceCreate is now true as of 2025-01
Added Admin API endpoint to enable, disable, and query metafield definition capabilities (API version 2024-10).
Introduce Metafield Definition Capability Framework with a new smart_collection_condition capability for flexible metafield behavior.
Introduce ProductSetInventoryInput type for productSet mutation to set inventory quantities
Instant dev server startup eliminates sync wait
Added shop_name and shop_url parameters to the full‑funnel theme install event for better merchant attribution.
JavaScript Shopify Functions run up to ~40% faster with Shopify CLI 3.67 and Javy 3.1
Added shop_name and shop_url parameters to the full‑funnel app install event for better merchant attribution.
Product Feed webhooks now return country‑specific inventory values (quantityAvailable, availableForSale) based on the market country.
Increased the limit of post‑purchase upsell offers from two to three per order.
Added new GiftCardTransaction types and mutations (giftCardCredit, giftCardDebit, notification mutations) and opened GiftCard endpoints to all apps.
Deprecates the `fulfillmentOrdersReleaseHolds` mutation in Admin API version 2024-10.
Introduces `QueryRoot.urlRedirectsCount` field in Admin GraphQL API version 2024-10.
Added filtering on publication_ids, variant_id, and variant_title to the products query.
Deprecated multiple fields (cart_token, closed_at, currency, etc.) in the Abandoned Checkout REST API
Add an `id` field to the FulfillmentHold GraphQL object.
Added Order.statusPageUrl field to Admin GraphQL API version 2024-10.
CustomerConsentCollectedFrom now returns SHOPIFY when SMS consent is captured via Shopify Checkout.
Added cart gift card support, consent localization, and new privacy utilities to analytics hooks.
Add PRODUCT_CATEGORY_ID column to CollectionRuleColumn for creating automated collections based on the new product taxonomy.
Webhooks are now retried up to 8 times over 4 hours using exponential backoff.
Static navigation creation and editing are removed from the Partners dashboard for admin apps.
Deprecate fulfillmentCreateV2 and fulfillmentTrackingInfoUpdateV2
Location resource now requires the `read_locations` scope; missing scope returns 403 Forbidden.
Added Top and New theme sections to the Theme Store homepage to showcase themes published in the last 60 days
Added product taxonomy category retrieval to the Storefront GraphQL API (2024-10)
Added optional `stockAtLegacyLocation` flag to the `inventoryActivate` mutation (API version 2024-10).
ReverseFulfillmentOrderLineItem.fulfillmentLineItem field is now nullable starting 2024-10.
Admin GraphQL API version 2024-10 removes the Order.lineItemsMutable field.
Added Customer, Order, Company, and Model3d GraphQL types to the MetafieldReference union for Admin API from 2024-01 onward.
Apps must meet Level 1 Protected Customer Data requirements to access the Customer Account GraphQL API
Introduce `productVariantsCount` field to the Admin GraphQL API (available from version 2024-10).
Updated Technical criteria checklist name and layout, with reworded standards for clarity
Added three new theme filters: Quick Order List, Sign in with Shop, and Swatch Filters.
Removed HAS_OPEN_TRANSFERS_ERROR and FAILED_TO_RELOCATE_OPEN_TRANSFERS from LocationDeactivateUserErrorCode
Removed unused fields from the shopifyPaymentsAccount endpoint in GraphQL Admin API version 2024-10.
Log streaming and replay for Shopify Functions is now generally available in Shopify CLI 3.66
Replace ProductSet.mediaIds with a new `files` field using `FileSetInput`, enabling both linking existing media and creating new files.
You can now use the $app reserved prefix in Liquid files for metafield namespaces and metaobject types, eliminating the need to hard‑code app--{app_id}.
Added support for Shopify Functions and product bundles in Dynamic and Accelerated Checkout buttons.
Queries that omit the cart key now return carts with buyer private data stripped.
Deprecate the `productChangeStatus` mutation in the Admin GraphQL API.
Theme cards now have a simpler design with feature tags removed
Extended the promotion period for new Themes
Added support for the Link metafield type in the metafield_tag Liquid filter.
Added error messages to the Shopify Pixel Helper for easier debugging of custom pixels
Removed MetafieldStorefrontVisibility fields, queries, and mutations from Admin GraphQL API v2024-10.
Added custom .env file support and a new createHydrogenContext API for easier context setup.
Add `access` argument to `standardMetafieldDefinitionEnable` and `standardMetafieldDefinitionsEnable` mutations for granular access control (API version 2024-10).
Updated Partner Program Agreement and API License terms effective August 9 2024
Release of fulfillment holds now requires specific write access scopes (merchant, third‑party, marketplace) in Admin API version 2024‑10.
Introduces structured app category details for listings and comparison view