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.
February 14, 2020
New customerAccessTokenCreateWithMultipass mutation API
Use the customerAccessTokenCreateWithMultipass
mutation to log a customer in without the email and password inputs. Send the multipass token to enable a customer and log the customer in. If a customer record does not exist in the shop, then it will be automatically created.
Learn more about how to implement a multipass token and create a customer access token using multipass in the Shopify Help Center.
February 11, 2020
Search ads on the Shopify App Store are rolling-out to all qualified partners Shopify App Store
All qualified partners with apps listed on the Shopify App Store will soon be able to create search ads to help merchants discover their apps in the Shopify App Store.
Ads will be shown to merchants on app store search result pages, above the organic search results. You can associate your ads to specific search terms so that your ads are shown when a merchant searches for those specific terms.
Learn more about advertising in the Shopify App Store, in the Shopify Help Center.
February 11, 2020
Store-specific status now available on Shopify’s updated status page Tools
With over a million stores on Shopify, it’s rare that an incident impacts every store or every service. In order to help merchants understand if their store has been affected by an incident, we’re moving Shopify's status page to a dashboard that's specific to their Shopify single sign on account.
As part of this move to store-specific status updates, subscriptions to updates (SMS alerts and RSS feed) have been deprecated. Overall status and major outages will continue to be posted to the public shopifystatus.com page.
If you are a partner or an app developer who is working with merchants on projects that require status information, such as launching ads for their store or troubleshooting an app, please have your clients or app users check their store-specific status page first as part of the process. Our team is currently working on ways to enable Partners to see status information for stores where they have collaboration login access from the merchant.
February 10, 2020
Shopify POS supports iOS 11.2 or higher Tools
Beginning February 10th 2020, merchants who are using an iOS device to operate Shopify POS must be on iOS 11.2 or higher to receive updates. Merchants who are using iOS 10 or below will no longer be able to receive bug fixes or feature improvements.
If you develop embedded apps for POS Classic or the all-new Shopify POS, you should target iOS 11.2 as your minimum version to ensure that merchants get the best experience.
February 05, 2020
New article.updated_at Liquid property and updated behavior for cart Themes
We’ve added a new property for the article
object as well as updated the behaviour of cart.attributes
and the /cart/add.js
endpoint.
article.updated_at
The article.updated_at
property returns a timestamp defining when a blog article was updated. This allows themes to include the dateModified
field within their Structured Data for SEO purposes. The date
filter can be applied to format the timestamp. Learn more about the article.updated_at
property in the Help Center.
cart.attributes
This existing property has been updated to hide keys with a double underscore (__)
prefix from Liquid and AJAX API. Learn more about the cart.attributes
property in the Help Center.
/cart/add.js
The /cart/add.js
endpoint (add to cart) of the AJAX API has been updated to support adding multiple items to the cart in a single request. This previously required a complex queuing system to send multiple requests. The previous payload format is still supported, but the "multiple items" payload format is now the recommended approach. Learn more about the Ajax API in the Help Center.
January 28, 2020
App secret key length has increased API
The length of all newly generated Shopify app secret keys has increased from 32 to 38, adding a static prefix of shpss_
, to make the secret keys easier to identify.
Existing API secrets will continue to function in their 32 character form until Shopify Partners manually regenerate them. This is the secret passed in as client_secret
to https://{shop}.myshopify.com/admin/oauth/access_token to obtain an access token.
Learn more authenticating your Shopify app from the Shopify Help Center.
January 23, 2020
Action required
shopify_app Ruby gem and koa-shopify-auth for Node.js updated to work with Chrome 80 Tools
We've update the shopify_app
Ruby gem and koa-shopify-auth
for Node.js (used by the Shopify App CLI) to declare Samesite=none; Secure
in cookies used in third-party context. Updating your embedded apps to the newest version of these tools will prevent cookie issues after the release of Chrome 80 on February 4th, 2020.
You can learn more about Chrome's new cookie requirements and (how to update your app's cookies)[https://help.shopify.com/en/api/guides/samesite-cookies] using our guide.
January 23, 2020
Sections theme architecture released in developer preview Themes
We are proud to announce a developer preview of our new sections theme architecture. As part of this developer preview you'll be able to:
- Define new theme frames to customize store headers and footers on different pages
- Customize page sections to create unique displays and formatting
- Create custom content sections that can be added to and removed from pages through the Shopify Admin
- Edit pages individually or globally, as master pages, with multi-page editing
This developer preview is limited to adding sections to product pages, but upcoming iterations will extend this functionality to all storefront pages. You can learn more about working with the new section architecture by visiting our Help Centre guides.
This developer preview is being released as part of our new online store design experience partner beta. In order to implement sections on product pages, you will need to edit your theme to conform to the new theme architecture. To see an example of this implementation, you can download our sections-compatible Debut theme.
For any questions regarding the online store design experience partner beta visit our dedicated forum.
January 23, 2020
New app snippets and app sections extensions released in developer preview Tools
You can now leverage two new app extensions to securely surface your app’s functionality on a merchant's store:
- App sections empower you to create new content sections that can be added, removed and configured right from the new online store editor
- App snippets help safely inject liquid code into a merchant’s online storefront.
You can learn more about creating both types of online store app extensions in our Help Centre.
This developer preview is being released as part of our new online store design experience partner beta. By participating in this beta you will be able to explore and test a number of new theming features, provide feedback and prepare and update your own custom themes with the new sections architecture.
For any questions regarding the online store design experience partner beta visit our dedicated forum.
January 23, 2020
New online store design experience beta available in developer preview Tools
You can now preview our new online store design experience. Through this preview you will be able to:
- Install our sections-compatible Debut theme and test new sections on product pages (all page types will be supported in the near future).
- Add, remove, and configure sections on product pages through the new online store editor.
- Explore our new online store editor to customize pages and sections within the Shopify Admin.
You can learn more about the online store design experience partner beta by reading our forum announcement.
If you have any questions or feedback about supporting this new online store design experience in your apps or themes, feel free to reach out to us in our dedicated discussion thread or through your partner dashboard.
January 21, 2020
Inventory Quantity available on Storefront GraphQL API API
With the release of the 2020-04 version of the Storefront GraphQL API, you can now access your inventory quantity if needed to build your shopping experience.
This information is hidden by default, but if you want to enable it, simply navigate to the private app and select the new checkbox for “inventory quantity” under the Storefront API section.
January 14, 2020
Collections added to the predictive search API API
Searchable resources for our predictive search API now include collections.
Read more about the predictive search API in the Shopify Help Center.
January 14, 2020
Debug your Liquid render performance using Shopify Theme Inspector for Chrome Tools
The Shopify Theme Inspector for Chrome is a Chrome DevTool plugin that lets you benchmark your Online Store’s Liquid performance, pinpoint Liquid performance issues in your theme, and test improvements for faster server response times.
- This tool helps you visualize results as a flame graph which is readable and easy to understand.
- You can examine the flame graph nodes to localize performance issues down to the exact file and line.
- A code snippet link will open up to the exact line of Liquid in your admin code editor so you can view and edit the code in context.
If you'd like to learn more, contribute a feature, open an issue, or make a feature request, check out the Shopify Theme Inspector Github repository.
January 01, 2020
API version 2020-01 is now stable and ready for general usage API
The 2020-01 release contains many of the features we previewed at Unite 2019. The product media, order editing, and fulfillment orders features are now stable and available on merchant stores. You’ll also find new additions to how you can manage smart collections and discount codes.
Explore all the API changes included in this release in the 2020-01 release notes.
You can also read more about API versioning in the versioning guide and on the partner blog.
December 20, 2019
New Collection REST Admin API API
With the release of the 2020-01 version of the REST Admin API, a new Collection API is available with the following features: * Get the products in a collection * Get a collection by its ID
Learn more about the Collection REST Admin API in the Shopify Help Center.
December 20, 2019
Action required
Collects API now returns only collects associated with custom collections. API
With the release of the 2020-01 version of the REST Admin API, the Collects API will no longer return products associated with Smart Collections. A new API for returning products inside a collection was released along with a new API for returning a collection by its ID.
Learn more about the changes and how to migrate to the new API in the Shopify Help Center.
December 18, 2019
Additional image details added to predictive search API API
The Predictive Search response has been updated to include additional image details. These are all grouped under featured_image
and include the following fields:
featured_image[:alt]
: the image alt tagfeatured_image[:width]
: the image widthfeatured_image[:height]
: the image heightfeatured_image[:aspect_ratio]
: the image aspect ratiofeatured_image[:url]
: the image url
Read more about the predictive search API in our Help Center.
December 13, 2019
Action required
GraphQL input objects limited to 250 items API
As of API version 2020-01, Storefront and Admin GraphQL requests return errors if any input array is supplied with more than 250 objects. We’re bringing input limits in-line with connection limits to protect Shopify and your app against timeouts.
For example, the following query would need to reduce the number of input objects.
{
nodes(ids: [“id1”, “id2”, “id3”, ... , “id251”, “id252”]) {
… on Order {
id
}
}
December 11, 2019
New order/edited webhook and order editing API capabilities API
Order editing is now available to select Shopify merchants. To help you extend this feature, we’ve published a set of order editing APIs to the release candidate of version 2020-01.
What’s included?
- GraphQL mutations that allow you to add and remove line items, as well as adjust line item quantities.
- An
order/edited
webhook that describes what's changed during an order edit.
Learn more about how to edit orders using GraphQL in the Shopify Help Center.
December 09, 2019
Update to public apps and introducing custom apps Tools
We’re putting safeguards in place for future Shopify public apps and introducing a new type of custom app.
No existing apps will be affected by this release.
Read more on the Shopify Web Design and Development blog.
December 06, 2019
Unit pricing information now available through Storefront API API
Unit prices and the measurement information related to their generation is now available through the Storefront API as part of the release candidate (2020-01). The unit price feature associated with these fields is currently available to select Shopify merchants.
The following new fields were added to the product variant object:
- presentmentUnitPrices
- unitPrice
- unitPriceMeasurement
Learn more about these fields in the Shopify Help Center.
December 02, 2019
New Liquid global object and property Themes
We’ve added a new global object and some new properties to Liquid, which are currently in production for all stores.
request.page_type
The request.page_type
property returns the type of the current page, for example, product
, article
, and index
.
Learn more about the request.page_type
property in the Help Center.
routes
Generates URLs to your storefront. By using routes
instead of hardcoded links, you can make sure your theme supports any changes to the URL format.
Learn more about the routes
global object in the Help Center.
product.options_by_name
Gives direct access to a product' option values by using the option name.
Learn more about product.options_by_name
property in the Help Center.
allow_false
The default
filter now accepts an allow_false
argument. You can use allow_false
to set a default value for any variable with no assigned value. This can be used with strings, arrays, and hashes.
Learn more about this filter in the Help Center.
November 19, 2019
Buy Button JS now defers checkout creation until a variant is added to cart Tools
The Buy Button cart component’s model is no longer initiated to an empty checkout. Instead, the model is null until a variant is added to cart. This is expected to have a positive impact on the performance on your Buy Buttons!
If you have leveraged the cart’s model in any custom code written using Buy Button JS, it is recommended that you verify your Buy Button still functions as expected.
Learn more about these changes by reviewing the pull request on Github.
November 13, 2019
Action required
Deprecating the include liquid tag and introducing the render tag Themes
We are deprecating the include
liquid tag in favor of using the new render
tag to output code from the snippets folder. The render
tag isolates the variables that are used in the snippet that is being rendered. Using the render
tag increases the performance of the storefront on themes and makes theme code easier to understand and maintain. While include
will be deprecated, it will not be removed from the platform and its behavior remains unchanged.
October 31, 2019
Improved GraphQL errors API
Errors in GraphQL responses now contain extra metadata under the extensions
key. The error format follows the GraphQL specification.
The most notable metadata is the code
property which returns the error code. This feature allows you to more easily match on the types of errors without having to match on the full error message
.
For example:
{
"errors": [
{
"message": "Internal error. Looks like something went wrong on our end.",
"extensions": {
"code": "INTERNAL_SERVER_ERROR",
"requestId": "d2f47302-8559-4961-9a5b-3de60172aa29"
}
}
]
}
October 22, 2019
New searchable resources added to the predictive search API API
Searchable resources for predictive search APIs now include pages and articles. Author, body, tag, variant SKU & barcode attributes have also been added to searchable fields for products.
Parameters are getting an update (the old parameters remain valid):
- - the
s
query parameter is renamed toq
- - the
bury
option of theunavailable_products
parameter is renamed tolast
- -
types
is renamed totype
and accepts a comma-separated list instead of an array - - a
fields
parameter was added
By default, unavailable_products
is set to last
. This means that out of stock products will now be shown last in the results list. There are options to hide out of stock products completely, or show them together with available products.
Learn more about the predictive search API in the Shopify Help Center.
October 06, 2019
Discounts API - New Buy X Get Y option API
Buy X Get Y discounts now support setting a minimum purchase amount to qualify for the discount. This option can be used instead of requiring a specific quantity of items a customer must buy. Use this new option to create promotions such as “Spend $100, get a free gift,” or “Spend $200 on skincare, get 50% off a water bottle.”
This option is available as both an automatic discount or a discount code using the Discounts GraphQL API.
You can learn more about this new option in our Discounts API Guide in the Shopify Help Center.
October 01, 2019
API version 2019-10 is now available API
Version 2019-10 is stable and ready for general usage.
October 01, 2019
Bulk operations added to the Admin GraphQL API API
You can now retrieve large amounts of data from our Admin GraphQL API using bulk operations. Provide a standard GraphQL query to the bulk mutation and you receive a link to a file that contains all of your data after the operation has finished running.
Find out more in the bulk operation guide.
September 26, 2019
Performance improvements for the Storefront API product collections API
Querying a product's collections is now faster because we've optimized how we build the connection between a product and its collections.
Since this is a new way of building out connections and their associated cursors, you won't be able to use a cursor from a previous version of the API. Use the same workflow as today with the 2020-01
API version to unlock these performance gains.
September 12, 2019
The Checkout API and Storefront API have been updated to support the Revised Payment Service Directive (PSD2) API
As of September 14, 2019, the Revised Payment Service Directive, also known as PSD2, will be implemented in all countries in the European Economic Area (EEA). PSD2 requires most online transactions within the EEA to have customer authentication. To be compliant, Shopify will process credit card transactions in the EEA by using 3D Secure, which is a payment authentication method.
If your app or sales channel implements either the Checkout API or the Storefront API, consider updating it to the 2019-10 release candidate API version of the Checkout API or Storefront API so that it can fully support payment authentication using 3D Secure.
To learn more about changes that you can make to support 3D Secure, refer to Authenticating payments with 3D Secure.
September 09, 2019
Buy Button carts now support automatic discounts Tools
We’ve added support for automatic discounts to Buy Button carts, which has been enabled by default in the latest version of Buy Button JS.
September 06, 2019
Selecting a primary language for your listings Shopify App Store
You can now create a listing in any language that your app supports, and you can also select any language to be your primary.
August 19, 2019
Action required
Privacy policy required Shopify App Store
The privacy policy is now a required field in the app submission form for newly submitted or updated listings of apps in the Shopify App Store.
August 14, 2019
Action required
Page-based pagination replaced by cursor-based pagination across multiple REST endpoints API
Being able to communicate quickly and reliably with the Shopify APIs is of the utmost importance to our development community. To aid in these areas we've added cursor-based pagination and removed page-based pagination on many REST API resources.
July 22, 2019
Notifications in the Partner Dashboard - Keep track of relevant news and updates Tools
We understand the importance of staying up to date with the many changes to Shopify and the Partner Program. To make sure updates are visible while not getting in the way, we’ve added a notification section to the Partner Dashboard. Over the next while, we’ll start transitioning relevant notifications from emails and banners to this section of the dashboard.
July 19, 2019
Category sorting updates Shopify App Store
The default sorting for category pages have been updated to be ‘Most relevant’ for merchants, similar to search.
July 12, 2019
Shopify App Store is now available in 8 additional languages Shopify App Store
The Shopify App Store is now available in Malay Hindi, Danish, Finnish, Swedish, Thai, Korean. You can now create a listing in these languages that will be shown to merchants. Learn more about translated listings
July 08, 2019
Additional cart item properties available in Shopify's AJAX API response API
We've added new properties on cart items listed in the JSON response of Shopify's AJAX API. Each cart item listed in the items
array has the following additional properties.
-
featured_image
: an object with the varaint image'salt text
,aspect_ratio
andurl
. options_with_values
: an array of objects with each product option'sname
andvalue
.product_has_only_default_variant
: a boolean describing if the product only has a default variant.
This gives theme developers more information about cart items when working with the AJAX API to build storefront designs.
To learn more about interacting with the cart through AJAX calls, read about the Shopify's AJAX API in the Shopify Help Center.
You can also read about these new properties' Liquid equivalent in the line_item
object in the Shopify Help Center.
July 01, 2019
Version 2019-07 is now generally available for our Admin and Storefront APIs API
In April 2019, we introduced versioning to the GraphQL and REST Admin APIs. Today, stable version 2019-07 is now generally available. The Storefront API has also been added to our versioning scheme.
July 01, 2019
Action required
GraphQL Admin ID added to webhooks API
We've added the admin_graphql_api_id
property to webhook payloads for many resources to improve the interoperability between our Admin GraphQL API and the Admin REST API.
In addition to webhook payloads returning the id
property, they'll also return the admin_graphql_api_id
.
This is a breaking change for apps that use a version of the shopify_app gem before than 10.0.0 and Rails versions before 5.2.1.1. If you don't use Rails, then this breaking change is not applicable to your application.
For more information, see the shopify_app gem changelog on GitHub.
July 01, 2019
Removed "featured" from Collects API
We have removed the featured
field from Collects. This field will no longer be available in Admin REST API queries returning collects.
See the collects API for a list of affected endpoints.
June 20, 2019
Liquid cheat sheet update Tools
The Liquid cheat sheet is updated to reflect the content of the Liquid reference.
The major update has been to the filters and objects, with 38 and 133 items being added respectively.
- 176 items have been added in total.
- 22 items have been edited or updated.
- 9 deprecated items have been removed.
This represents a 43% increase in content; with the filters, objects, and tags increasing from 485 items to 695.
Check out the Liquid cheat sheet in the Help Center.
June 19, 2019
Customer resource now includes tax exemptions API
The new tax exemptions property is available on the customer resource in the 2019-07
release candidate. This allows app developers to specify which taxes a customer is exempt from paying on their orders. Tax exemption related UI changes to the admin are also exposed in the Unite developer preview on development stores.
June 19, 2019
Multi-currency for Shopify Payments is coming to all plans API
We are excited to announce that after its success for Plus merchants, Multi-Currency for Shopify Payments is coming to all plans.
June 19, 2019
Manage fulfillments with greater control using our new Fulfillment Orders API API
The Fulfillment Orders API is now available. Fulfillment applications can opt into using this new API to gain new capabilities in managing fulfillments via the API. Fulfillment Orders related UI changes to the admin are also now available in the Unite developer preview on development stores.
June 19, 2019
Create automatic and code discounts in GraphQL with our new Discounts API API
We’re releasing a new Discounts API that has the ability to create and manage automatic and code discounts in the Shopify GraphQL Admin API.
June 19, 2019
Create per product shipping rules with our new Delivery Profiles API Tools
Per product shipping has come to Shopify. Through Shipping Profiles, merchants can group products together to specify custom shipping rates for them. Apps can leverage the Delivery Profiles API to read and modify these profiles.
June 19, 2019
Our Billing API is now supported in GraphQL API
You can now leverage the GraphQL Admin API to implement billing for your app.
June 19, 2019
Action required
The new online store design experience is now available in developer preview and here’s what you need to know Tools
The new online store design experience will equip merchants with better tools to build and edit their online stores. This update is expected to launch to both new and existing merchants later this year but we’re sharing it early with you now so you can prepare for any updates to your apps, themes and services to support this new experience.