Developer changelog
Subscribe to the changelog to stay up to date on recent changes to Shopify’s APIs and other developer products, as well as preview upcoming features and beta releases.
RSS updatesThere are no entries for your filter criteria.
August 28, 2023
New inventory states: Safety Stock, Damaged and Quality Control API
You can now use the GraphQL Admin API to adjust new inventory states: safety_stock
, damaged
, and quality_control
.
By moving inventory units to one of these states, they are tracked as part of a merchant's on_hand
inventory, but are unavailable for sale. Inventory quantities in one of these states display as Unavailable to merchants that are tracking inventory in the Shopify admin.
Learn more about the the new states on Shopify.dev.
August 24, 2023
New App Store Requirement Shopify App Store
Starting Monday September 18th, languages listed under the Languages section of your App Store listing must be fully available within the app. Any language listed that is not accessible within the app must be removed until translations can be completed.
To learn more, please see the App Store Requirements on Shopify.dev.
August 22, 2023
Search filters for Built for Shopify apps Shopify App Store
We've added a filter for apps that have achieved Built for Shopify status, which can be used in combination with category and feature filters. Learn more on shopify.dev.
August 22, 2023
Cart and Checkout Validation Functions now run in online store cart API
Cart and Checkout Validation Functions now run on the online store cart (they previously only ran on the storefront cart API). You can now apply custom validation logic to buyers on the online store as well as custom storefronts.
Learn more about Cart and Checkout Validation Functions on Shopify.dev.
August 21, 2023
Discounts - Ability to create Automatic free shipping discount API
Shopify is bringing a new feature for merchants, the ability to create automatic free shipping discount.
As of 2023-10 API version, you can create automatic free shipping discounts via admin or using graphql api.
Learn more about discounts in the Shopify Help Center.
August 17, 2023
checkout_started now triggers on every checkout visit in checkout extensibility. API
As of August 17, 2023 4:30 pm EDT, checkout_started now triggers on every checkout visit in checkout extensibility.
The customer event, checkout_started, will now trigger for all checkout visits if you upgraded to checkout extensibility. Previously, it only triggered the first time you entered the checkout.
Additional event data will provide additional insights into the customer journey. The customer event reference can be found here.
August 16, 2023
POS UI extensions update: new components, fixes API
As of August 16, we added the following components to POS UI extensions:
DatePicker
TimePicker
DateField
TimeField
EmailField
NumberField
TextField
TextArea
The Tile
component's props have been updated:
enabled
is now optional
onPress
is now optional
badgeValue
added
All of the changes are available for POS UI extensions version 1.3.0 and POS app version 8.15.0. See the version log for all version details.
August 14, 2023
Renderable and Online Store capabilities for metaobjects API
As of 2023-10 we're introducing new metaobject capabilities to enable SEO attributes and make entries renderable in the Online Store. These capabilities make it possible to render landing pages from metaobject entries.
The renderable capability enables setting SEO metadata attributes on your metaobjects. These attributes are accessible in Liquid and via the Storefront API.
The Online Store capability makes your metaobjects render as web pages in the Online Store by assigning a theme template and defining a URL.
Both capabilities can be enabled and configured independently when creating and updating a metaobject definition.
Learn more about the renderable
and onlineStore
capabilities on Shopify.dev
August 10, 2023
Server Pixels now has order_id as part of the checkout_completed event API
For Server Pixels, we've added order_id to the checkout_completed event payload so that you can track it server-side.
August 03, 2023
Improvements to app review ranking Shopify App Store
We’ve shipped refinements to our app review ranking system and will continue to further invest in it. If you have any feedback, please submit it to this form.
August 01, 2023
Coming soon: simplified extension versioning and deployment Tools
Soon, you'll be able to release all your extensions at the same time, directly from Shopify CLI. New app-level extension versioning will help you to keep better track of your app's iterations, and allow you to easily revert to previous versions, if needed. You’ll also be able to preview Functions using the dev command, and delete any extension.
This functionality will be included in a future release of Shopify CLI. You'll be able to opt in for each app that you develop.
July 28, 2023
[Developer Preview] Shopify Flow - Use return data in your actions Tools
Your Flow actions can now return data into the Flow environment, allowing your merchants to build new types of automations making use of your app and data.
Several Flow actions make use of return data, allowing merchants to use data from other services. For example the OpenAI connector returns AI-generated text from OpenAI's completion API. Flow's "Get data" actions, including Get order data, return a list of objects that can be used in the workflow.
To use return data, your action must be defined through the Shopify CLI. You must use CLI version 3.48 or higher.
July 28, 2023
[Developer Preview] Shopify Flow - Use the CLI to manage your tasks Tools
Flow in the Shopify CLI is available in developer preview. We welcome feedback at flow-connectors-dev@shopify.com
Previously, Flow actions and triggers were defined in the partner dashboard. As Shopify CLI adoption has expanded, this meant that you needed to manage and deploy your Flow extensions separately from the rest of your app.
Going forward, you will now create your Flow tasks and actions through the CLI. You can follow these guides for how to create both triggers and actions through the CLI. In addition, you can migrate your existing tasks to be CLI-managed, unifying your code. For more details on what is possible, you can also consult Flow’s reference guide for triggers and actions.
To create Flow extensions using the CLI, version 3.48 or higher is required. Please note that Flow does not currently support the app dev
command.
July 27, 2023
Install custom apps on multiple Shopify Plus stores Platform
Starting today partner accounts can distribute a single custom app to all stores within a Shopify Plus organization. As a result, it's now much simpler to manage and maintains apps for multi-store organizations.
Learn more about custom app distribution in the Shopify developer docs.
July 27, 2023
Extension-only apps Platform
You can now create custom apps that contain only extensions without the need to build and host an external web application, or implement OAuth. Custom apps without a requirement for embedded admin pages can now be created from the CLI and installed on merchant stores.
July 27, 2023
Checkout UI Extensions - API Versioning API
We have released API versioning for checkout UI extensions. As part of this release, we are also moving checkout UI extensions over to the new ui extension packages.
- For information on how to adopt API versions for existing extensions, visit our versioning page
- For more details on the what and why, see our post on github
July 27, 2023
[Developer Preview] Admin action and block extensions Tools
Developers can now create and test Admin action and block extensions in their dev stores. These new extensions enable you to seamlessly integrate your app's functionality into the Shopify admin by embedding workflows and UX on core admin pages. By giving merchants access to your app's functionality, without the need to navigate away from their current task, these extensions help merchants be more efficient and productive.
Admin actions and blocks can use direct API access, enabling them to use the Admin GraphQL API without having to proxy the calls through their app's backend resulting in faster and more responsive apps.
Learn more about Admin action and block extensions on Shopify.dev.
July 26, 2023
Built for Shopify badging now live in the Shopify App Store Shopify App Store
Apps that have achieved Built for Shopify status now have special badging and promotional placements in the Shopify App Store, helping them get in front of the right businesses at the right time.
July 26, 2023
Cart and Checkout Validation Function are now available for custom apps API
The Shopify Functions API for cart and checkout validations is now available on production stores for custom apps.
Learn more about building cart and checkout validations in our dev docs: Cart and Checkout validations
July 26, 2023
Cart Transform Function API API
You can now use the Cart Transform Function API to expand or merge cart line items. The Cart Transform API is used to build customized bundles.
For more information on the Cart Transform Function API click here.
For an overview on building a custom bundle offering click here.
July 26, 2023
New and updated APIs to build product bundles API
The ProductVariantComponent API has recently been added to the GraphQL Admin API allowing for the implementation of fixed bundles.
To build customized bundles, use the newly launched Cart Transform Function API.
For more information on creating bundles click here.
July 26, 2023
Checkout UI Extensions - New APIs for Summer Editions API
- Shipping address write API - Extensions can use the applyShippingAddressChange API to modify address values on behalf of a buyer.
- B2B context APIs - Extensions can now read details about a purchasingCompany as well as checkout settings that apply to the current buyer
- Support for new metafield types - Extensions can now read metafields on carts, companies, or companyLocations. They can also write to cart metafields
July 26, 2023
Polaris v12 beta now available Platform
The beta release of Polaris v12 is now available, providing developers with early access to resources for updating the look and feel of your apps to fit seamlessly within the newly redesigned Shopify admin.
Learn more about Polaris v12-beta on polaris.shopify.com.
July 26, 2023
App Bridge via tag Tools
We have released a new version of App Bridge. You can add the <script>
tag to the <head>
of your app pages and get the benefits immediately.
App Bridge has been written from the ground up to be more familiar to web standards.
App Bridge will keep itself up to date automatically, so you don't have to worry about version updates.
Learn more about App Bridge in the documentation
July 26, 2023
Simplified extension versioning and deployment Platform
As of today, extensions are packaged and deployed at the same time, directly from Shopify CLI. New app-level extension versioning will help you to keep better track of your app's iterations, and allow you to easily revert to previous versions.
Until September 5th, you can opt in to get access to simplified deployment. Simplified deployment is available in Shopify CLI 3.48.
On September 5th, all apps will automatically be opted in to simplified deployment.
July 26, 2023
Config as Code Platform
Starting today, you can configure and manage your apps directly in your codebase without having to visit the Partner Dashboard. Using Shopify CLI, you can link your shopify.app.toml
file to an app, modify the configuration, and push the configuration live.
July 26, 2023
Oxygen Log Drains now available to Shopify Plus Tools
Oxygen has now added support for log drains, which allows developers to forward their Hydrogen storefront’s application logs to third-party log management platforms, including DataDog, Splunk, and New Relic.
Log drains can be easily set up and configured through the Shopify admin, with no code required. Merchants with complex monitoring needs now have full control of log monitoring, analysis, and retention–in your observability service of choice.
This feature is available today for all merchants on the Shopify Plus plan. Read the developer documentation to learn more.
July 26, 2023
Introducing the new Customer Account API in developer preview API
The Developer Preview of the Customer Account API is now available for exploration and experimentation. This API can be accessed through the Hydrogen and Headless channels, providing developers with early access to its powerful features. The Customer Account API offers enhanced security, authentication, and personalization capabilities for headless storefronts. It enables passwordless single sign-on across all of the Shopify platform, from Liquid to Hydrogen and non-Hydrogen custom storefronts, all the way through to checkout. The Customer Account API also empowers effortless customer-scoped management for DTC–accounts, orders, drafts, payments, fulfillment, discounts, refunds, and metafields (shop, order, customer).
This version of the Customer Account API is marked as unstable as there will be changes and updates to refine and improve its functionality. We encourage developers to provide feedback and share their experiences to help shape the future iterations of this API.
Read the developer documentation to learn more.
July 26, 2023
App review summaries Shopify App Store
We’ve added app review summaries (powered by Shopify Magic) to the Shopify App Store, helping merchants see your app’s value based on other merchants' experiences. To start, review summaries will appear for apps with at least 100 reviews and a 4.0 rating.
Merchants can leave feedback when viewing the summary. We ask that developers share feedback using this form, which will be shared with the product team.
July 26, 2023
Hydrogen updates: New CLI improvements and Remix-optimized components Tools
Building headless stores with Hydrogen is now even faster with our latest release.
Starting a new Hydrogen project with the Shopify CLI now gives you more options. You can scaffold a full purchase journey with standard app routes, add your favorite styling library, and configure language and currency settings, and connect your live product inventory to your Hydrogen app with a single command.
Hydrogen also features pre-built components optimized for Remix for better performance, SEO, and DX – from cart, image, product form, to pagination. And enhanced type safety support with built-in GraphQL codegen ensures your build is least error-prone.
Learn more about our latest release in detail and what’s coming next.
July 26, 2023
Remove rate limits on the Storefront API API
Storefront API now serves all legitimate requests from both private and public clients without rate limits. Headless stores will stay protected against bot activity and never hit a throttle, no matter the size of traffic they receive. All included for free in your plan.
Read the developer documentation to learn more.
July 26, 2023
Updates to the App Design Guidelines Shopify App Store
We've updated the App Design Guidelines for better clarity and coverage of the trickiest parts of app design. “Mandatory” and “Unacceptable” directives are now “Must Do” and “Do Not”, to clarify that all these directives must be met to qualify for Built for Shopify status. We have also added new guidelines for Forms, Marketing, and Admin UI extensions.
All Built for Shopify applicants will be evaluated against the updated App Design Guidelines starting September 1, 2023.
See the new guidelines on Shopify.dev.
July 26, 2023
The Summer ’23 Edition is live! Tools
There are now more ways than ever to customize and extend Shopify, from storefront to checkout to admin.
Explore the latest updates to our suite of APIs, SDKs, and developer tools.
- Create the best checkout experience with 17 new APIs and updates for Shopify Checkout
- Build Hydrogen storefronts faster with Remix-optimized workflows and CLI improvements like enhanced type safety support, and scale effortlessly without rate limits on the Storefront API
- Develop apps faster and more easily with our new Remix app template, extension-only apps, and config as code
- Extend the Shopify admin in entirely new ways with admin UI extensions
- Stand out from the crowd—Built for Shopify badging and promotional placements are now live in the Shopify App Store
- Customize Shopify’s backend logic with new Function APIs, support for JavaScript now generally available, and faster development and iteration with the
shopify app dev
command
Visit the Editions website to see all the developer announcements.
July 20, 2023
Smart Grid management for Point of Sale now available API
As of the latest unstable GraphQL API version, we have introduced the ability to utilize the Admin API for managing Smart Grid for Point of Sale. This enhancement enables the creation and naming of Smart Grid layouts that are not yet linked to any location. Once prepared, the API facilitates the assignment of a layout to single or multiple locations. Any subsequent modifications to this layout will be reflected across all assigned locations, eliminating the necessity for individual manual adjustments.
Just request the appropriate access scope(s) be added to your app.
Learn more about Smart Grid management on Shopify.dev.
July 19, 2023
Introduce Fulfillment Constraints built on Shopify Function API
- As of
2023-10
version of the Shopify Functions API, you can use the Fulfillment Constraints API to have a higher degree of customization when defining fulfillment and delivery strategies. With this API, checkout won’t return any shipping rates if the configured constraints can’t be met. - For example, you can specify that certain products must be fulfilled from a specific location, based on buyer information, cart information or metafields.
- Learn more about Fulfillment Constraints on Shopify.dev.
July 18, 2023
Storefront API Cart BXGY discount line folding API
As of today, the way cart lines are folded when a BXGY discount is applied to the cart is changing in the Storefront API. The lines will now be grouped by applied discount and discounted amount. This change ensures that the Storefront API behaviour matches the existing line folding functionality of the Online Store/Ajax API Cart.
For example, if you have a buy one get one free discount for a product variant and you add 3 of that variant to a cart. The cart lines will be; * Item with quantity of 1, no discount applied * Item with quantity of 1, BXGY discount code applied, adjusted discounted price of 0 * Item with quantity of 1, BXGY discount code applied, full price of product variant
This change reflects the existing line folding functionality of the Online Store/Ajax API Cart.
July 17, 2023
Action required
Changes to Ajax API Cart token format API
Ajax API cart tokens will now be returned with a new format. The new format will include a prefix c1-
however the API features and functionality remain unchanged. Apps and themes should be designed to handle cart tokens in any format and of any length. Treat the cart token as a random identifier that will change in the future.
Action Required: Ensure that any app and theme code is free from hard-coded assumptions (ex. Using regex to identify a cart token) on the format and structure of the cart token.
July 14, 2023
url
available on MediaImage.originalSource
GraphQL field
API
As of API version 2023-10
, url
field is available on the GraphQL MediaImage
's originalSource
field https://shopify.dev/docs/api/admin-graphql/2023-07/objects/mediaimage#field-mediaimage-originalsource.
This will be a signed URL that is valid only for a short period of time. It provides access to the originally uploaded uncompressed image.
July 14, 2023
Shopify Protect protection status on Admin API API
As of the latest unstable
version and upcoming 2023-10
version of the Admin GraphQL API, you can use the shopifyProtect
field of Order
to view the protection status of Shop Pay orders. The protection status is established asynchronous from the orders/create
webhook so you can also listen to the orders/shopify_protect_eligibility_changed
webhook to know when the protection status is created or updated.
By providing a clear view of an order’s protection status, we're empowering developers to make more informed decisions. For instance, fraud protection apps can avoid redundant costs for merchants when a Shop Pay order is already protected.
Learn more about Shopify Protect’s protection status on Shopify.dev.
July 12, 2023
Updated merchant notification system for apps Shopify App Store
We’ve updated the app settings page with a new notification system to inform merchants of notable insights on their installed apps. Merchants will be able to quickly identify apps that are unsupported, incompatible, require action, on free trial, paid (including the cost), or least used.
July 12, 2023
Updated integrations field for app listing Shopify App Store
We’ve combined the “Fit seamlessly” and “Integrates with” fields on our app listing pages into one place. Apps that are built using the Checkout and Point of Sale extensions will have them automatically noted in the “Works with” field on the app listing.
Log into your Partner Dashboard and click on Apps > Manage Listing to view the “Integrations” field for your app to ensure the content is up to date.
July 12, 2023
Update on admin performance for Built for Shopify Shopify App Store
As of July 12, we're temporarily removing the Cumulative Layout Shift (CLS) metric from our admin performance standard for Built for Shopify.
In order to meet our admin performance standard for Built for Shopify, apps will still need to meet performance targets for Largest Contentful Paint (LCP) and First Input Delay (FID).
We are making this change to improve the measurement of this metric. We expect CLS to become a part of our admin performance standard again by the end of 2023.
Learn more about admin performance on Shopify.dev
July 01, 2023
Introduce new stale
status to Subscription Contracts
API
As of API version 2023-07, you can use the new Subscription Contract stale
status to express a contract that has been marked as stale due to inactivity.
We're deprecating the SubscriptionDraftErrorCode STALE_CONTRACT
and replace it by CONCURRENT_CONTRACT_UPDATE
for a better description of the error.
We're introducing the new error code CONTRACT_STALE_STATUS
to SubscriptionBillingCycleErrorCode and SubscriptionDraftErrorCode to indicate whenever we attempt to update or bill a contract that hasn't been used for 1 year.
July 01, 2023
trackingParameters
is available on Product
, Collection
, Article
, Post
and SearchQuerySuggestion
GraphQL types
API
We've added trackingParameters
on Product
, Collection
, Article
, Post
and SearchQuerySuggestion
when it is a part of results coming from search
and predictiveSearch
as adding this to a page URL when it is linked from a search result allows for tracking the origin of the traffic.
Learn more about trackingParameters
on Shopify.dev.
July 01, 2023
Exposing ONLINE_STORE_POST_PURCHASE_CROSS_SELL fulfillment hold reason on Admin API API
As of 2023-07 partners will be able to determine whether fulfillment has been on hold for a post-purchase with the reason ONLINE_STORE_POST_PURCHASE_CROSS_SELL
.
Learn more about this new feature here
July 01, 2023
Release of Shop Promise details presented to buyer at checkout API
The DeliveryMethod object now has a brandedPromise field that can be used to determine if an order was branded with "Shop Promise" at checkout.
Additionally, the MailingAddress object now includes the timeZone field, which can be used with the DeliveryMethod's maxDeliveryDateTime field, to determine the date and time according to the time zone of the destination address.
The new field on the GraphQL DeliveryMethod object is:
- brandedPromise
Learn more about this new field in the GraphQL reference docs.
The new field on the GraphQL MailingAddress object is:
- timeZone
Learn more about this new field in the GraphQL reference docs.
Learn more about Shop Promise eligibility.
July 01, 2023
New error code added to inventory quantity mutations API
As of API version 2023-07
, a new error code item_not_stocked_at_location
will be added to the the inventorySetOnHandQuantities
, inventoryAdjustQuantities
, and inventoryMoveQuantities
mutations. This error code is returned when you attempt to change inventory quantities for an item that is not stocked at the specified location.
Learn more about managing inventory quantities on Shopify.dev.
July 01, 2023
Action required
Function parameter values can be queried in the Segmentation API API
As of GraphQL Admin API Version 2023-07
, you can use the new functionParameterQueryName
argument on segmentValueSuggestions
to query for function parameter value suggestions for Customer Segmentation.
For example, the products_purchased
filter has the function parameter id
: products_purchased(id: '2012162031638') = true
. To retrieve a list of possible Product IDs to use for the id
function parameter, provide filterQueryName: 'products_purchased', functionParameterQueryName: 'id'
as arguments to the segmentValueSuggestions
endpoint.
July 01, 2023
Action required
Breaking changes to Product Feeds API API
As of Product Feeds API version 2023-07, we're introducing two breaking changes to the productfeeds webhook topics:
- Deprecated use of bulk in favour of full for the
product_feeds
/full_sync
webhook topic. - Corrected spelling of occurred_at field in metadata for product_feeds notifications metadata.
Partners who wish to continue receiving full sync notifications should start using the productFullSync mutation instead of productBulkSync
.
July 01, 2023
Added new tax_partner/update
webhook
API
As of the Admin API 2023-07
Release the tax_partners/update
webhook will be available.
The tax_partners/update
webhook will be called whenever a tax partner is added or updated. Partners can use this webhook to determine when a merchant has made changes to the partner's tax app.
Learn more about these webhooks on Shopify.dev