Shopify Release Notes
Last updated: Feb 13, 2026
Shopify Products
All Shopify Release Notes (237)
- Feb 12, 2026
- Date parsed from source:Feb 12, 2026
- First seen by Releasebot:Feb 13, 2026
Added new enum values for ColumnDataType in ShopifyqlTableDataColumn
New enum values
- RATING : Represents a rating value as float.
- STRINGIDENTITY : Represents a GID/UUID value.
- COLOR : Represents a color value in HEX format.
- Feb 11, 2026
- Date parsed from source:Feb 11, 2026
- First seen by Releasebot:Feb 12, 2026
Webhook subscriptions now support a name field for identification
Webhooks can now have names for TOML and Admin API subscriptions, simplifying identification and routing when you have multiple subscriptions. Names appear in request headers and must be unique per shop or per app, with a 50 character limit. Available from 2026-04 via GraphQL and TOML config.
Webhook Subscription Naming
You can now assign an optional name to your webhook subscriptions to simplify identification and management. This feature is available for both TOML-based subscriptions and subscriptions created through the Admin API subscriptions created via the GraphQL Admin API.
Naming your webhooks is particularly beneficial when you have multiple subscriptions targeting the same endpoint or listening to the same topic with different filters. When a webhook is delivered, its name is included in the request headers, allowing you to route and process incoming webhooks without needing to parse the payload body.
For admin API subscriptions, the webhook name must be unique per shop. For declarative subscriptions, the name must be unique per app. Names can be up to 50 characters long and may include alphanumeric characters, underscores, and hyphens.
To set a name for TOML-based subscriptions, update the name field in your shopify.app.toml webhook configuration. From 2026-04, you can name admin API subscriptions, the name field can be set using the WebhookSubscription GraphQL object, as well as through the webhookSubscriptionCreate and webhookSubscriptionUpdate mutations.
Original source Report a problem All of your release notes in one place
Join Releasebot and get updates from Shopify and hundreds of other software products.
- Feb 11, 2026
- Date parsed from source:Feb 11, 2026
- First seen by Releasebot:Feb 12, 2026
Accelerated checkouts now support add‑ons from the product page
It’s now possible to purchase products and their add-on products (for example, a TV and its warranty) from the product page using accelerated checkouts.
Learn more in the developer documentation.
Original source Report a problem - Feb 9, 2026
- Date parsed from source:Feb 9, 2026
- First seen by Releasebot:Feb 10, 2026
shopify.app.extensions() in App Bridge now supports POS UI extensions
Shopify.app.extensions() now supports POS UI extensions
The shopify.app.extensions() method in App Bridge now supports Point of Sale (POS) UI extensions, in addition to checkout, customer account, Admin, and Theme extensions.
With this update, your embedded app can query the status of POS UI extensions along with other extension surfaces. This enables you to consistently handle and activate your Point of Sale extensions, simplifying the creation of onboarding flows and setup dashboards that encompass your entire app extension ecosystem, including in-store experiences.
For more information, refer to the developer documentation.
Original source Report a problem - Feb 6, 2026
- Date parsed from source:Feb 6, 2026
- First seen by Releasebot:Feb 7, 2026
Shop Minis January 2026 update
Shop Minis January 2026 update adds delayed consent, a curated Explore screen, and a new dashboard CLI command. It also introduces product list privacy controls and fresh UGC and developer docs to boost safety and discovery for partners.
Shop Minis January 2026 update
New Features
Delayed Consent
We've enhanced consent management by introducing a delayed consent popup for all Shop Minis.
What this means for partners:- Users will see a consent screen before your mini loads if you request scopes.
- The mini's landing (splash) screen is shown while consent is pending.
- Partners should customize their splash screen to provide a great first impression.
New Explore Screen with Curated Categories
The Explore screen in the Shop App now features minis grouped into curated categories: Snap & Shop, Design Your Space, Beauty Solutions, and Play & Shop.
These collections are hand-picked by the Shop Minis team to showcase minis with exceptional user experiences. We'll continue updating these lists as new standout minis are submitted.Dashboard Command in CLI
A new dashboard command has been added to the Shop Minis CLI (@shopify/shop-minis-cli v0.3.0+), providing a web-based interface for viewing submission history and performance reports.
Usage:npx minis dashboardThis opens a browser with two main views:
- Submissions tab: View your submission history with status, feedback, and the ability to cancel pending submissions.
- Reports tab: View performance metrics (usage stats, sales, …) with interactive charts and time filtering.
Product List Privacy Controls
Partners can now control the visibility of user product lists with new privacy features:
- privacyStatus field: Exposed on Product List type - check if a list is PUBLIC or PRIVATE.
- setProductListVisibility action: Toggle visibility of existing product lists.
- Privacy option in addProductList: Create public lists via optional privacyStatus parameter.
import { useProductListActions } from '@shopify/shop-minis-react' function MyComponent() { const { setProductListVisibility, addProductList } = useProductListActions() // Create a public list await addProductList({ name: 'My Wishlist', privacyStatus: 'PUBLIC' }) // Toggle existing list visibility await setProductListVisibility({ id: listId, name: listName, // Required to prevent data loss privacyStatus: 'PRIVATE' }) }Documentation Updates
User-Generated Content (UGC) Guide
New comprehensive documentation has been added for the Minis Content system, covering:
- Creating image content with useCreateImageContent hook.
- Content moderation statuses (PENDING, READY, REJECTED).
- Displaying content with ContentWrapper component (required for moderation).
- Content reporting and moderation flows.
Key requirement: Always use ContentWrapper instead of rendering user-generated content directly - this is required for content moderation compliance.
View the full UGC documentation
Developer Permissions Documentation
Updated documentation for the development screen now includes a dedicated section on developer permissions, clarifying how to set up and manage access for your development team.
Trusted Domains Path Clarification
The trusted_domains documentation in the manifest file has been updated to clarify how trailing slashes are handled:
- Domain paths now correctly handle trailing slashes.
- Updated examples to match the linter behavior.
- Fixes issues with remote images not loading when trusted domain includes a path.
Other Changes
- Product variant field removed: The unused variants field has been removed from the Product type.
- ESLint upgraded: From 8.57.0 to 9.26.0.
Summary
January 2026 brings significant improvements to the Shop Minis platform:
- Delayed consent is now fully enabled - customize your splash screen!.
- New Explore screen with curated categories showcasing the best minis.
- New Dashboard CLI command for monitoring submissions and performance.
- Product list privacy controls for public/private wishlists.
- New UGC documentation for content creation and moderation.
For questions or feedback, reach out to the Shop Minis team.
- Feb 6, 2026
- Date parsed from source:Feb 6, 2026
- First seen by Releasebot:Feb 7, 2026
The GiftCardConfiguration object now includes default gift card expiration
A new GraphQL Admin API field reveals default gift card expiration settings, including value and unit. Merchants can calculate the expires on date for new cards, or see null if cards never expire.
Overview
You can now query a merchant's default gift card expiration settings using the GraphQL Admin API.
The new expiration Configuration field on the Gift Card Configuration object returns the merchant's configured expiration settings, including the duration value and time unit (days, months, or years). When merchants have automatic gift card expiration enabled, you can use these settings to calculate the expires On date for new gift cards.How it works
- The expiration Configuration field returns either:
- a Gift Card Expiration Configuration object when the merchant has configured a default gift card expiration
- null when the merchant has gift cards set never to expire
- The Gift Card Expiration Configuration object includes:
- an expiration Value field (integer)
- an expiration Unit field (enum: DAYS, MONTHS, YEARS)
Example query
Original source Report a problemquery { giftCardConfiguration { expirationConfiguration { expirationValue expirationUnit } } } - Feb 4, 2026
- Date parsed from source:Feb 4, 2026
- First seen by Releasebot:Feb 5, 2026
Automatically copy cart metafields to orders at checkout completion
API 2026-04 adds cart-to-order metafield copying for new orders, using a copyable flag and matching namespace/key. Cart metafields are now accessible across buyer journey APIs and are recommended over cart attributes for custom data, with enhanced security and app-reserved namespaces.
As of API version 2026-04
As of API version 2026-04, order metafield definitions can copy values from cart metafields to order metafields when an order is created. You can specify which cart metafields should be carried over to orders.
The metafield value is copied if both these conditions are true:
- An order metafield definition exists with the same namespace and key as a cart metafield.
- The cartToOrderCopyable capability is enabled on that order metafield definition.
View developer documentation.
Cart metafields are now accessible in all APIs that interact with the buyer journey, including the Storefront API, Checkout UI extensions, Functions, and the GraphQL Admin API.
We now recommend using cart metafields instead of cart attributes and checkout metafields for custom data storage. Cart metafields offer enhanced security features, such as edit and view permissions, and app-reserved namespaces, which prevent unauthorized access by other apps.
Learn more about metafield capabilities.
Original source Report a problem - Feb 3, 2026
- Date parsed from source:Feb 3, 2026
- First seen by Releasebot:Feb 10, 2026
Introducing the tracks_inventory query filter for products
Introducing the tracks_inventory query filter for products
As of GraphQL Admin API version 2026-04, you can filter products based on whether their inventory is tracked using the new tracks_inventory Boolean filter.
This is especially useful when working with merchants like dropshippers who might not maintain on-hand inventory.
Example usage
Original source Report a problemquery RetrieveWithInventoryProducts { withInventory: products(first: 10, query: "published_status:published AND tracks_inventory:true") { edges { node { id title status totalInventory tracksInventory } } } } - Feb 3, 2026
- Date parsed from source:Feb 3, 2026
- First seen by Releasebot:Feb 3, 2026
Increasing the app block limit to 30 for theme app extensions
You can now include up to 30 app blocks in a single theme app extension, an increase from the previous limit of 25. This gives you more flexibility to build comprehensive app experiences that integrate seamlessly with themes.
Learn more about theme app extensions and file and content size limits on Shopify.dev.
Original source Report a problem - Jan 29, 2026
- Date parsed from source:Jan 29, 2026
- First seen by Releasebot:Jan 30, 2026
Discouraging use of receiptJson on OrderTransaction in the GraphQL Admin API
Shopify warns developers not to rely on OrderTransaction.receiptJson in the GraphQL Admin API. The field is unstable and gateway-specific, so apps should migrate to typed fields or fetch provider details directly. Clear guidance to remove dependencies now to avoid outages.
Discouraging use of receiptJson on OrderTransaction in the GraphQL Admin API
We’re discouraging use of Order Transaction.receipt Json. You should stop relying on receipt Json in production apps.
receipt Json is gateway-defined, inconsistently shaped, and may change without notice. Because its structure isn’t stable or typed, changes can lead to unexpected app failures.
What’s changing
- Order Transaction.receipt Json should be treated as unstable, gateway-specific data.
- The field remains available, but Shopify does not guarantee a consistent schema or long-term compatibility for its contents.
- Changes to the shape or keys inside receipt Json may occur without being treated as a breaking API change.
Why this is changing
receipt Json is not a reliable integration surface:
- Different payment gateways format it differently.
- The same gateway can change its structure across versions or configurations.
- Apps that parse it can break unexpectedly, impacting merchants.
We want to reduce production incidents caused by treating receipt Json as a stable contract.
What you need to do
We recommend removing dependencies on receipt Json as soon as possible:
- Don’t add new dependencies on receipt Json.
- Migrate existing logic to stable, typed fields on Order Transaction and related objects wherever possible.
- If you require provider-specific details that aren’t available as typed fields, fetch them directly from the payment provider (when applicable) and store only the minimal data your system needs.
Documentation
- Order Transaction object:
https://shopify.dev/api/admin-graphql/latest/objects/OrderTransaction - API versioning and compatibility:
https://shopify.dev/docs/api/usage/versioning