Stay up to date
Developer changelog
Stay up to date with the recent changes to Shopify’s APIs and other developer products.
There are no entries for your filter criteria.
Tools
April 06, 2021
New
Store access controls adds enhanced workflows that let you work more securely on development stores, managed stores, and Plus Sandbox stores with your team and contractors.
Owners and staff members with the Manage members permission can now:
- Specify a level of access, for each type of store, for a staff member. You can select between no access, access to all stores, or access to specific stores. A staff member can log in to a store only when they’ve been allowed access.
- Allow select staff members to add, archive, or transfer ownership of stores.
- Provide access to a specific store for a staff member from the Team or Stores section of the Partner Dashboard.
To get started, head over to the Team section of the Partner Dashboard, and open up any team member’s profile. Learn more about the features in our Help documentation.
API
April 01, 2021
Action required
Deprecation
The Embedded App SDK (EASDK) and backwards compatibility layer are being removed from Shopify on January 1, 2022.
All embedded apps using EASDK or the backward compatibility layer are requested to move to App Bridge 2.0 as soon as possible in order to provide a more consistent and performant app loading experience for merchants.
Additionally, starting May 1, new embedded public apps submitted for review to the Shopify App Store will be required to be on App Bridge 2.0 with session tokens implemented.
To learn how to update your apps, refer to the migration guide on Shopify.dev.
Shopify App Store
April 01, 2021
Update
To help maintain app quality and marketplace trust on the Shopify App Store, we’re increasing app quality checks to ensure that published apps:
- Meet the most up-to-date version of requirements for public apps
- Meet our new app performance requirement to ensure apps don’t negatively impact store speeds
- Have clear and trustworthy app listings, that are without incentivized reviews.
If something is found during the quality check of your listed app that does not meet our criteria, then the app store team will email you with the required changes and next steps.
API
March 31, 2021
Update
This is a possibly breaking call, where there's no way for Shopify to know if your app is using the 'one' value. As a result, we will not delist any app that continues to get this warning.
As of API version 2020-07, we're updating the allocation method for discounts that have set the target_selection as explicit. Currently, Shopify applies these discounts to a single line item, which corresponds to an allocation method of one. With this change, the allocation methods will instead include "each" and "across".
We're making this change to add "each" functionality, and simplify the discount syntax, as "one" and "across" functionally both discount the final price by a set amount.
This change also affects discount_applications on the following webhook payloads :
- orders/cancelled
- orders/create
- orders/fulfilled
- orders/paid
- orders/partially_fulfilled
- orders/updated
For more information, please visit the community forum post.
API
March 30, 2021
Update
We’ve just released a change to predictive search that fixes the issue where predictive search API returns results in multiple languages. This helps customers searching for products on translated storefronts.
API
March 25, 2021
Update
Recent changes requiring two-factor authentication on payments in Europe have required 3D Secure 2.0 (3DS) coverage for subscriptions particularly in a recurring billing scenario.
This update includes the full buyer end-to-end experience for a 3DS challenge when attempting recurring billing.
If a European buyer’s bank requires authentication, then Shopify notifies the buyer in an email of the 3DS challenge requirement. If the buyer authentication fails, then it's the partner’s responsibility to retry the payment.
For information on 3DS support for subscriptions and more detail on Shopify and partner responsibilities in this process, click here.
API
March 24, 2021
New
Introducing price lists, a new API resource that allows you to configure international pricing.
Price lists can be used to create percentage price adjustments and fixed variant prices that are applied in the online store and checkout.
Learn more about the price list API in Shopify Developers.
Platform
March 22, 2021
New
We’ve introduced a new app charge overview page in the Partner Dashboard, so app developers can view all one-time charges, app subscriptions, and usage charges made to merchants. This helps developers access key details to investigate app charges for answering merchants’ billing inquiries and better understand payouts.
Learn more about the app charge overview page on Shopify.dev
API
March 19, 2021
New
As of API version 2021-04, GiftCard GraphQL APIs are available for custom and private apps installed on Shopify Plus stores. App developers can now use the APIs to query all gift cards within a shop, as well as create, update, and disable gift cards. To get started, check out our tutorial on managing gift cards using the GraphQL Admin API.
GiftCard REST API availability has also been extended to custom apps installed on Shopify Plus stores. Partners developing custom apps can now use Gift Card functionality when creating custom apps for Plus merchants. Learn more about the GiftCard REST resource in our developer documentation.
API
March 18, 2021
Update
As of GraphQL API version 2019-04, the list of valid country codes will retroactively include TA (Tristan da Cunha) and AC (Ascension Island). These British Overseas Territories were formerly included under the GB country code, but they are now distinct in order to comply with post-Brexit mailing address formats. Our APIs already support other British Territories, including AI, BM, FK, GG, GI, GS, IM, IO, JE, MS, PN, SH, TC, and VG. This change affects the shipping locations for all merchants who ship to the “rest of world” shipping zone.
The impacted enums are CountryCode in the GraphQL Storefront API and CountryCode in the GraphQL Admin API.
This change will go live on March 22, 2021.
Shopify App Store
March 16, 2021
New
Over the next week, we’ll be rolling-out new metrics in the ads reporting dashboard for Shopify App Store ads. The new metrics will help developers to measure their return on ad spend, the number of customers gained through ads, and customer acquisition costs.
New metrics include: * Customers * Revenue * Customer Acquisition Cost * Return on Ad Spend * Conversion Rate
The new metrics will be available on impressions served on or after May 5, 2020.
These additional metrics and soon-to-be added personalized keyword optimization suggestions will help make sure that your advertising efforts trend towards a positive return on investment.
You can learn more about these new metrics on Shopify.dev and in frequently asked questions.
API
March 15, 2021
Update
As of 2021-04, you can use the SUBSCRIPTION_POLICY value in the existing ShopPolicyType enum. This lets you retrieve and modify a shop's subscription policy.
Lean more about the ShopPolicy object and the shopPolicyUpdate mutation.
API
March 11, 2021
Update
As of API version 2021-04, a new field called delivery_method
is present on the FulfillmentOrder
object in the REST Admin. This field can contain an id
and a method_type
. The method_type
can be one of the following values: local
, none
, pick_up
, retail
, or shipping
.
delivery_method
represents the type of method that is used to transfer a product or service to a customer. The field was previously released in GraphQL API 2020-10 version.
For more information about FulfillmentOrder, visit our developer documentation.
API
March 09, 2021
Update
Products that require a subscription for purchase, but have no selling plans associated with the product variants, are no longer available for purchase in the Online Store sales channel. Previously, a product would become available as a one-time purchase if no selling plans were attached.
The Liquid property requires_selling_plan
on Product and ProductVariants has been updated to reflect this change. The Liquid property still states whether a selling plan is required to purchase the product variant. Previously, the property would return false
if the product was set as subscription-only in the admin, but had no selling plans associated with the product variants.
Learn more about setting products as subscription only.
Themes
March 09, 2021
Update
With the launch of automatic international tax-inclusive pricing, whether or not prices have taxes included can vary based on the customer's country.
This change introduces a new liquid method on the cart
drop, cart.taxes_included
.
Learn more about automatic international tax-inclusive pricing in the Shopify Developer Docs.
API
March 09, 2021
New
Shopify now supports adding embedded Vimeo videos to products, leveraging the ExternalVideo
object.
Many ExternalVideo
API implementations assume that all external video objects represent YouTube videos. To help determine where the video is hosted, we're introducing the new field host
to ExternalVideo
that will return a MediaHost
enum value (currently VIMEO
or YOUTUBE
).
Additionally, we're introducing two new MediaError
values EXTERNAL_VIDEO_EMBED_NOT_FOUND_OR_TRANSCODING
and EXTERNAL_VIDEO_EMBED_DISABLED
for Vimeo error handling.
Tools
March 08, 2021
Action required
Update
Session token-based authentication is now required for all embedded apps submitted for app reviews. This update helps mitigate the risk of embedded apps failing due to third-party cookie browser restrictions. With session token-based authentication, embedded apps no longer rely on cookies to verify identity.
Learn more about how to authenticate your app using session tokens on Shopify.dev.
API
March 08, 2021
Update
If a merchant has used price adjustments by region, or set specific pricing by region, then those prices are now reflected in the presentment_prices property of Shopify's Product API. Prices for the Eurozone are still reflected as one price across all countries or regions that use the Euro.
Learn more about international pricing in the Shopify Help Centre.
API
March 01, 2021
Deprecation
Kit, a Shopify app that automates some marketing tasks, and the Kit Skills API will be deprecated on April 1, 2021. The API will be removed on August 31, 2021, and won't work after that date.
To Kit Skills developers, we are grateful for your partnership and the amazing things that you do for Shopify merchants.
For more information, refer to the frequently asked questions in the Shopify developer documentation for Kit.
API
February 25, 2021
New
We’ve released a new Shopify Admin API library for Node. This library makes interacting with the Admin API easier, to help accelerate app development for developers who use Node frameworks.
The following resources have been updated to use this new library:
- The koa-shopify-auth package
- Our Node + React app tutorial
- The Shopify App CLI
For more information on how to use this new library, refer to our Getting started guide. You can also submit issues and feature requests to the shopify-node-api repo.
API
February 25, 2021
Update
The DiscountCode lookup API now includes requested the API version in the location URL that it returns, instead of falling back to the earliest supported version.
Example:
/admin/api/<API_VERSION>/price_rules/<PRICE_RULE_ID>/discount_codes/<DISCOUNT_ID>.json
Learn more about the DiscountCode lookup API on Shopify.dev.
Themes
February 24, 2021
Update
Shopify now supports adding embedded Vimeo videos to products, leveraging the external_video
object.
Many ExternalVideo
API implementations assume that all external video objects represent YouTube videos. To avoid any complications arising from this change, version 2021-01 and earlier of our APIs don't return ExternalVideo
objects that represent Vimeo videos.
You can access Vimeo videos using the unstable version of our APIs. We will also be introducing the ability to detect the video host in 2021-04.
Learn more about Liquid media filters and the external_video
object on Shopify.dev.
API
February 24, 2021
Update
The Shopify Subscription APIs now support Shopify Scripts.
For information on how to use Shopify Scripts with subscriptions, refer to Scripts for subscriptions in the Shopify Help Center.
For more information on the Subscription APIs and upcoming roadmap, including the timeline for upcoming features, visit the Subscriptions FAQ on Shopify.dev.
Tools
February 23, 2021
New
Over the next few weeks, we're rolling out a new webhook metrics report in the Partner Dashboard. This report lets you track failed webhook deliveries, monitor response times, and find removed webhook subscriptions for your public and custom apps in real time.
You can access the report from the Apps page of your Partner Dashboard. Click on the percentage in the Webhook deliveries column to view the webhook metrics report for your app.
You can search your detailed delivery logs by subscription ID, webhook ID, or shop ID to troubleshoot any failures, and keep your app reliably consuming webhooks and providing merchants with a great app experience.
Learn more about using the webhook metrics report on Shopify.dev.
Themes
February 03, 2021
New
You can now detect the theme editor programmatically using Liquid and JavaScript. In Liquid, you can use request.design_mode
. In JavaScript, you can use Shopify.designMode
.
Workaround methods, such as content_for_header contains
in Liquid, or searching the page URL in JavaScript, aren't supported and won't continue to work in the new theme editor. To make your app or theme compatible with the new theme editor, you need to update your code to use a supported method.
Learn more about detecting the theme editor on Shopify.dev.
API
January 27, 2021
Update
In our 2020-04 API version, we added validation requiring the compare_at_price
field to always be greater than the price
field on variants.
After further review of use cases around the current use of the compare_at_price
field, we're reverting the addition of validation between the price
and compare_at_price
fields on variants, and notifications about this change as we will be removed from all versions.
If you're currently seeing notifications about this change in your API Health dashboard, you can safely ignore them. If you've already updated your app to handle this breaking change, there's no need for action. Your app will continue to function throughout the revert.
Platform
January 25, 2021
Update
Shops with checkout.liquid enabled can now upgrade to a new version of Shopify Checkout, unlocking powerful new checkout features—like subscription apps and local pickup—while keeping checkout.liquid customizations in-tact.
All checkout upgrades need to be completed by February 26, 2021. Shops that don’t complete the upgrade within the checkout upgrade window (January 25, 2021 to February 26, 2021) will be upgraded automatically, which may cause some checkout.liquid customizations to break.
Find instructions for the checkout upgrade process in the Shopify help center.
Note: Only shops with checkout.liquid enabled need to perform the upgrade.
API
January 19, 2021
Update
If a merchant uninstalls a subscriptions app, then 48 hours later selling plans and associated records (selling plan groups, policies, and their associations to products and variants) are deleted. Subscription contracts and the product and variant records themselves won't be affected.
Learn more about selling plans in the Shopify Help Center.
Tools
January 18, 2021
New
Two new staff permissions have been added to the Partner Dashboard, giving you more granular control over what your organization’s staff members can access.
- View referrals grants access to the Referrals page.
- Manage affiliate campaigns grants access to the Affiliate tools page, and affiliate tools on the Referrals page. Staff members with this permission can also manage affiliate campaigns. This permission is available only to organizations that are part of the Shopify Affiliate Program.
Access to these features was previously controlled by the Manage shops permission. Staff members in your organization who have the Manage shops permission are granted View referrals as part of this update. If you are part of the Shopify Affiliate Program, then staff members who have the Manage shops permission are also granted the Manage affiliate campaigns permission as part of this update.
To learn more about staff permissions, visit the Shopify Help Center.
API
January 15, 2021
New
All developers can now request access to the Subscription APIs and Product Subscription App Extension. Using these tools, developers can build flexible apps that support new selling methods for merchants, and are compatible with all of Shopify’s platform features (including discounts, shipping, reporting, and payments).
To learn more about building with the new Subscription APIs and tooling, refer to our developer documentation.
API
January 12, 2021
Deprecation
The Checkout API no longer returns the amount of inventory remaining when a checkout is created or updated and there are not enough products in stock. This change was made to protect the privacy of our merchants.
To support older themes, the option remaining: 1
is returned from the API. However, this number doesn't change, or represent the actual amount of inventory remaining. This option will be removed in a future version of the API.
Learn more about the updated error response by reading our Checkout API documentation on Shopify.dev.
API
January 11, 2021
New
API access to App event, Earning, and Experts Marketplace Job data is now available to all Shopify Partners through the new Partner GraphQL API. This API allows programmatic access to data that was previously available only on the Partner Dashboard.
To get started with this API, visit Shopify.dev.
Platform
January 06, 2021
Update
On the Shopify Plus plan, brands get exclusive access to the checkout.liquid file, enabling them to make flexible customizations to Shopify Checkout. However, they need to upgrade Shopify Checkout periodically in order to unlock new checkout features while ensuring any checkout.liquid customizations remain in-tact.
The next checkout upgrade will take place between January 25, 2021 to February 26, 2021. Only shops with checkout.liquid enabled need to perform the upgrade.
Learn more about the checkout upgrade process and view a full list of the new Shopify Checkout features in the Shopify Help Center.
API
January 01, 2021
Update
As of the 2021-01 API version, product media information in the GraphQL Storefront API is returned in order of its position.
API
January 01, 2021
Action required
Update
Previously, the Users endpoint returned the full list of all staff accounts on a shop.
For shops with a large number of users, this could lead to response timeouts, as the list was simply too large to return within a reasonable timeframe.
To make this data more manageable, we've enabled the same cursor-based-pagination found in other areas of the Admin API on the Users endpoint.
To learn more about pagination support in REST Admin APIs, please check out this tutorial.
API
January 01, 2021
New
As of the 2021-01 API version, a new field translated_name
will be available in DeliveryCountry
and DeliveryProvince
types. The translated name of the country or province is based on the user locale.
API
January 01, 2021
Deprecation
When billing for your app, your charges and subscriptions will transition between a few different states.
One of these transitions is the accepted
to active
state.
When a merchant accepts a new one-time charge or subscription, the charge transitions from pending
to accepted
. However, the merchant is not charged until you manually activate that charge, transitioning the status from accepted
to active
.
To simplify the billing flow for apps and make it easier to use, we're removing the need for that request.
Starting in the 2021-01
release: when a charge is approved by a merchant, the charge will immediately transition from pending
to active
.
Check out our updated REST Admin API billing guide for more information.
API
January 01, 2021
New
Platform
January 01, 2021
Update
We've made some updates to our API License and Terms of Use and our Partner Program Agreement to protect the integrity of our platform and clarify how apps should be built and distributed on the Shopify platform.
These changes come into effect as of today, January 1, 2021.
We encourage all developers on our platform to review and be familiar with the API License and Terms and the Partner Program Agreement, so that you understand how to build, run, and grow your app and development business on our platform.
For more information and frequently asked questions, please visit the Shopify Help Center.
API
December 15, 2020
Update
In April 2020, we released a breaking change that added additional validation requiring the compare_at_price
to be strictly greater than the price
on variants, in order to provide a more consistent experience for apps consuming these values.
Due to an internal oversight, apps affected by this breaking change were not notified of that fact until very recently. In order to provide apps with enough time to do this migration, we are extending the migration window for this change by 1 full versioning cycle. Effectively, this change will move from 2020-04
to 2020-07
.
We encourage you to stay on top of changes by regularly viewing your API Health report, checking for the presence of a deprecation header, and by reading through our quarterly release notes.
Learn more about this breaking change in the 2020-07
release notes.
Shopify App Store
December 15, 2020
Action required
New
You can now create customizable team permissions for Shopify App Store ads. Owners of partner accounts can now set permissions for which team members can and can’t view or manage ads, or financials.
Owners can customize ad permissions in the Team section of the Partner Dashboard. The ad permissions that you can assign to team members are View ads, Manage ads, and View financials.
- View ads allows the team member to view the ads reporting dashboard.
- Manage ads allows the team member to create and edit ads.
- View financials allows the team member to access the Ad billing page.
To learn more about ad permissions, please visit the Shopify Help Centre.
API
December 11, 2020
Update
Earlier this year, Localization Extensions were launched to allow additional information to be collected upon checkout. This feature can be used to collect information for stores to meet various countries' regulatory requirements (e.g. Brazillian CPF numbers).
Version 2021-01 of the GraphQL Admin API adds functionality to update those values using an order mutation.
For more information, refer to the GraphQL Admin API reference docs for the OrderInput
object and the DraftOrderInput
object.
API
December 11, 2020
New
As of the 2021-01 version, we've made it easier to determine the original width and height of storefront images before attempting to download and render it. This will help with optimizing performance of client-side rendering logic, such as preventing content reflow from lazy-loaded images.
Learn more about the image width
and height
properties in the Shopify Storefront API documentation.
API
December 09, 2020
Update
As of the 2021-01 API version, you can now proxy script tags added to Storefront's via the ScriptTags API through Shopify infrastructure, allowing Shopify's globally distributed CDN to cache and serve your script tags.
Learn more about the new cache
property in the ScriptTags API documentation.
API
November 26, 2020
Update
The following Subscription API resources received updates:
- Descriptions updated for
SellingPlanAnchor.day
. - Added the
pricingPolicy
field toSubscriptionLine
andSubscriptionLineInput
. - Added
createdAt
andcompletedAt
DateTime
fields toSubscriptionBillingAttempt
. - Added
nextBillingDate
toSubscriptionDraftInput
allowing thenextBillingDate
to be batched with other changes. - Added the
expiresSoon
field toCustomerCreditCard
. - Removed
DELIVERY
fromSellingPlanRecurringDeliveryPolicyIntent
. - The
subscriptionDraftLineUpdate
mutation now accepts partial input. Unspecified fields retain their previous value. - Added the
customer_payment_methods/revoke
webhook. - Added the
admin_graphql_api_id
attribute tocustomer_payment_methods/*
. Manually building the resource ID is no longer required.
API
November 26, 2020
New
Private apps can now check their deprecated calls through the Deprecated endpoint using the REST API.
Details can be found in the REST API reference doc
API
November 24, 2020
New
As of 2021-01, you can query transaction fees on the OrderTransaction resource. The TransactionFee provides you with a breakdown of the fees associated with an order transaction, such as processing fees or foreign exchange fees.
Learn more by visiting the OrderTransaction and TransactionFee reference docs.
API
November 20, 2020
New
Update March 11 2021: The version was delayed to 2021-04 from the originally posted 2021-01.
Duties are now available on the 2021-04 version of the Storefront API. You can query duties on the Checkout and Order resources.
Learn more by visiting the Checkout and Order resource reference docs.
Details of resources affected:
API Version 2021-04 or later (includes duties)
Checkout
lineItemsSubtotalPrice: The sum of all the prices of all the items in the checkout. Duties, taxes, shipping and discounts excluded.
paymentDueV2: The amount left to be paid. This is equal to the cost of the line items, duties, taxes and shipping minus discounts and gift cards.
subtotalPriceV2: Price of the checkout before duties, shipping and taxes.
totalPriceV2: The sum of all the prices of all the items in the checkout, duties, taxes and discounts included.
Order
currentSubtotalPrice: The subtotal of line items and their discounts, excluding line items that have been removed. Does not contain order-level discounts, duties, shipping costs, or shipping discounts. Taxes are not included unless the order is a taxes-included order.
currentTotalPrice: The total amount of the order, including duties, taxes and discounts, minus amounts for line items that have been removed.
subtotalPriceV2: Price of the order before duties, shipping and taxes.
totalPriceV2: The sum of all the prices of all the items in the order, duties, taxes and discounts included (must be positive).
API Version 2020-10 or earlier (does not include duties)
Checkout
lineItemsSubtotalPrice: The sum of all the prices of all the items in the checkout. Taxes, shipping and discounts excluded.
paymentDueV2: The amount left to be paid. This is equal to the cost of the line items, taxes and shipping minus discounts and gift cards.
subtotalPriceV2: Price of the checkout before shipping and taxes.
totalPriceV2: The sum of all the prices of all the items in the checkout, taxes and discounts included.
Order
currentSubtotalPrice: The subtotal of line items and their discounts, excluding line items that have been removed. Does not contain order-level discounts, shipping costs, or shipping discounts. Taxes are not included unless the order is a taxes-included order.
currentTotalPrice: The total amount of the order, including taxes and discounts, minus amounts for line items that have been removed.
subtotalPriceV2: Price of the order before shipping and taxes.
totalPriceV2: The sum of all the prices of all the items in the order, taxes and discounts included (must be positive).
API
November 04, 2020
Update
TL;DR - In high-volume situations, the timeout for responding to rate requests from Shopify will be dynamically adjusted based on the number of requests per minute.
The timeout for CarrierService API rate requests will be changed to a dynamic value depending on how many requests per minute (RPM) are being made by the client. This change is to optimize the performance of checkout, while still giving apps the appropriate amount of time to calculate shipping rates. These limits are applied to each app-shop pair. The new timeout values are as follows:
- RPM under 1500: read timeout will be 10 seconds
- RPM between 1500 and 3000: read timeout will be 5 seconds
- RPM over 3000: read timeout will be 3 seconds
These values are upper limits and should not be interpreted as a goal to develop towards. The requests are also treated as tiers, so only those requests above a given threshold will be given a lower timeout.
Shopify is constantly evaluating the performance of the platform and working towards improving resilience as well as app capabilities. As such, these numbers may be adjusted outside of our normal versioning timelines. The data and statistics have shown the impact to our partner community with these thresholds are minimal.
For more information on the CarrierService API, read our documentation here: https://shopify.dev/docs/admin-api/rest/reference/shipping-and-fulfillment/carrierservice
Themes
November 04, 2020
Action required
Deprecation
The use of .scss
files within compiled Shopify themes is being officially deprecated. We'll be transitioning to only using .css
files within all free and paid themes available on the Shopify Theme Store.
Support for Sass won't be removed in the short term and themes using .scss
files will continue to function. However, we strongly recommend that developers compile their .scss
files to .css
locally, or use only .css
files. New themes might be blocked from using .scss
files in the future.
To learn more about this change and the alternatives available for developers who want to continue using Sass in their development workflow, refer to the Shopify Partners Blog.
API
November 03, 2020
New
As of 2021-01, apps can access Shopify Payments extended authorization fields by querying the GraphQL Admin or REST Admin APIs.
Shopify App Store
November 02, 2020
New
On November 2nd, we will be introducing a new collection of apps for both subscriptions and post-purchase upsells in the Shopify App Store. These are the first apps built directly within Shopify Checkout using the new Subscriptions APIs and post purchase app extensions, creating a more smooth and integrated experience.
With this release, the previous subscription apps and post-purchase upsell apps that bypass the Shopify Checkout will no longer be available for download. Merchants currently using these apps will continue being able to use them, but any new clients will need to select from one of the publicly available options that are properly integrated into the Shopify Checkout. All the most popular apps in these categories have replatformed their apps to leverage these new APIs and extensions and can be found in our new collection.
View the new collection of apps on the Shopify App Store, and learn more about the Subscriptions APIs in our Shopify developer documentation.
Themes
October 29, 2020
New
We've released a new version of Debut that contains the new pickup availability feature. This feature lets merchants show customers whether a product in the online store is available for local pickup. On each product page, the pickup availability section shows whether the product is available, and the estimated time frame for pickup.
Learn more about how merchants can show pickup availability from the Shopify Help Center.
Want to implement this feature in your own themes? Checkout the Add pickup availability to product pages tutorial.
Platform
October 27, 2020
New
To maintain a safe and secure working relationship between merchants and partners, we've added an additional layer of security when requesting access to a store through a collaborator account. Merchants can choose to set a 4-digit collaborator request code to only receive collaborator requests from those who have the exact code. If this feature is enabled, then you'll need to get the code from merchants to request access to their store.
For more information on the collaborator request code and where to enter the code in your partner dashboard, visit our documentation.
Shopify App Store
October 16, 2020
Update
We've released a new reporting column for App store ads - relevance. The relevance column provides advertisers with a more explicit signal for how relevant their app is for any given search term or keyword.
To learn more about creating ads in the Shopify App Store, refer to our documentation.
Platform
October 14, 2020
New
On October 14th, we’re introducing a new ‘Charge_ID’ field in the Partner Payout CSV, so app developers can link app charges with a particular payout item. This new field will help app developers reconcile app charges with their payouts.
Note that the new Charge_ID
field is only available for data generated in new Partner Payouts CSV file downloads.
For more information on the Partner Payout CSV, visit the Shopify Help Center.
API
October 08, 2020
New
We’re excited to introduce APIs and tooling that will enable you to build support for subscriptions into the cart and product pages on the storefront.
You can use the Subscription APIs and Product Subscription Extension to develop flexible apps that support new selling methods for merchants, and are compatible with all of Shopify’s platform features (including discounts, shipping, reporting, and payments).
Start developing new subscription apps today! Request access to the new APIs using our early access sign up form.
To learn more about building with the new Subscription APIs and tooling, refer to our developer documentation.
To learn how we’re making Shopify checkout more extensible for you, check out our Web Design and Development blog.
API
October 01, 2020
New
As of 2020-10, legal settings can now be modified using the new Legal Policies API. Legal policy apps will be able to update the text content of policies by specified policy type (e.g. refund policy or privacy policy).
Learn more about the all new Legal Policy API in our developer docs.
API
October 01, 2020
New
In the 2020-10 version release, the status field was added to the product resource in both the REST Admin API and GraphQL Admin API. Merchants can use the field to identify, filter, and manage products based on their current status: draft, active, or archived.
Merchants can save new products as a draft and work on them iteratively until they’re complete and ready to be made available to selected sales channels with an active status. Merchants can also archive products they’re no longer selling to keep their product list organized, free of clutter, while retaining all product information.
To learn more about product status changes, refer to our product status API guide and 2020-10 release notes.
API
October 01, 2020
Deprecation
The following fields were previously deprecated, and have now been fully removed as of 2020-10
.
Refund.restocked
RefundLineItem.refundType
These fields were deprecated by RefundLineItem.restockType
.
For more information, see the RefundLineItem object in our documentation.
API
October 01, 2020
New
As of the 2020-10 API version, you can query a shop's shipping policy using the shippingPolicy
field on the Shop object.
To learn more about the shippingPolicy
field, refer to our developer reference documentation.
Shopify App Store
October 01, 2020
Update
We've updated bid suggestions to give advertisers a more accurate view into what bid is required for their app to be competitive for any given keyword. Bid suggestions take into account your current relevance score when surfacing a suggested bid range.
- For exact match keywords, the likelihood that your ad will show up on the first page of search results increases.
- For broad match keywords, the competitiveness against other advertisers who bid on that keyword is measured.
To learn more about creating ads in the Shopify App Store, refer to our documentation.
Shopify App Store
October 01, 2020
Deprecation
Due to low usage, as of September 30th we no longer support AdRoll on Shopify App Store listings. For remarketing, we offer alternatives such as Google and Facebook Pixel support.
Learn more about setting up app listing tracking and retargeting from the Shopify Developer documentation.
API
September 30, 2020
New
The customer privacy API is a browser-based, Javascript API that enables developers to read and write cookies related to a buyer's privacy preferences. As of 2020-10, the API is available to all Shopify online stores as a property on the global window.Shopify
object.
For more information on the new Customer Privacy API, visit our developer documentation.
Themes
September 30, 2020
Update
We've made improvements to the rich text editor for Blogs posts, Pages, Products and Collections. You can now manually add RGB/HEX codes into the rich text editor with the new color picker, making it easier to precisely match text and background color to your brand and style.
Learn more about using the rich text editor from the Shopify Help Center.
API
September 23, 2020
Update
As of 2020-10, apps can now add manual or percentage-based discounts to any item that is added while editing an order with the GraphQL Admin API.
For more information about using discounts with order edits, including the specific mutations to add discounts, visit the tutorial on editing an existing order with the Admin API.
Themes
September 22, 2020
New
The theme editor has been rebuilt in React and includes an updated mobile theme editing experience and many UI enhancements. The rebuild also decreases load times for large themes, making it easier and faster for merchants to set up and customize their online store, while also laying a new foundation for future improvements to the theme editing experience.
Update 9/25/2020: If you provide an app that detects usage in the Theme Editor, then please ensure that you’re using the official JavaScript API, Shopify.designMode, to detect the Theme Editor. Other implementations involving detection of the URL could cause broken experiences for merchants. For more information please review the community forum or the partner discussion area.
To learn more about the new theme editor, please visit the Shopify Help Center.
API
September 20, 2020
New
As of the 2020-10 API version, apps can add an array of media objects to product variants. Currently the array is limited to only one media object of type image.
For more information on how to work with product variants and media using the GraphQL API, refer to our variant media tutorial.
Additionally, we've added a new mime type field to the MediaImage object in the GraphQL API.
API
September 16, 2020
New
As of the 2020-10 REST API, checksums will be provided on assets that were recently updated.
If you use a client that supports checksums (ie Theme Kit 1.1 or newer), then the time it will take to sync your local files and the bandwidth used will be drastically reduced.
For more information, please see the checksum field in the REST API.
Please also see the blog post: How We Improved Theme Development Tooling Using Checksums
Tools
September 14, 2020
Update
Beginning today, partners who want to test orders in development stores can only process payments using the following methods: * Shopify's test payment provider (Bogus Gateway). * A payment provider set to test mode.
If you want to test your development store using real transactions, then you can select and purchase a Shopify plan in the account settings of your development store.
This change was applied to all newly created development stores on March 30, 2020, as mentioned in our changelog update here. Beginning September 14, 2020, this change will be applicable across all development stores.
Learn more about test orders in the Shopify Help Center.
API
September 11, 2020
New
You can now subscribe to Shopify Payments dispute events with webhooks. The disputes/create
and disputes/update
topics are now available in all supported API versions.
For more information, visit the webhooks topic documentation.
API
September 10, 2020
Update
Version 2020-10 of the GraphQL API will now allow you to directly query an order that is associated with a given refund.
For more information about the Refund object, visit our developer documentation
API
September 10, 2020
New
Earlier in the year we released the ability to refund duties using the GraphQL API. Now, as of version 2020-10, we are releasing the same functionality on the REST API.
For more information, please see the refund_duties property in the REST API.
API
September 10, 2020
Action required
New
With the release of international domains, shops can now assign a country and language to individual domains. As of 2020-10, a shops eligibility for international domains can be determined via the internationalDomains field.
For more information, please see the GraphQL API documentation.
Please note that before you redirect a shop to an enabled language you should first check internationalDomains and domain localization to confirm which languages are available on which domains.
Failing to do so and redirecting to a domain which doesn't support the language would result in a 404.
API
September 09, 2020
Action required
Update
We've added some new features to Discounts on the GraphQL Admin API, including:
- Usage counts for automatic discounts.
- New ways to search through discounts.
- Speed up the management of discounts with bulk mutations!
We've also deprecated the type filter parameter on CodeDiscountQuery. Use discount_type instead.
For the full list of changes, see the 2020-10 release notes.
API
September 09, 2020
Update
Apps can now get additional context about batch discount code creation errors by looking into the new logs field. This field will return any error the system reported when trying to create the discount codes based on the price rule definition.
To learn more about this new field, visit the reference documentation.
API
September 09, 2020
Update
Apps can now create BXGY discounts with a minimum purchase amount prerequisite via the REST Admin API.
A new prerequisite_to_entitlement_purchase
field was added that defines the minimum purchase amount required to qualify for the discount.
For more information, visit the Price Rules API reference.
Tools
September 03, 2020
Update
You can now access the online store speed report data from the Stores page in the partner dashboard, so you can quickly identify which clients might need your help making their online store faster. You can view store performance data for all of your managed stores and sort stores by speed score.
Learn more about the online store speed report in the Shopify Help Center.
API
September 01, 2020
New
Available today through the Partner Dashboard, the POS product recommendations app extension allows app developers who build product recommendations, and cross-sell and up-sell apps, to extend their app functionality to Shopify POS.
Product recommendations are a valuable feature for merchants with both online and physical store locations, who are looking to surface just-in-time product recommendations that are consistent across all storefronts, and make it easier for store staff to make more data-driven and informed purchase recommendations to buyers. This app extension allows app developers to provide this surface, while in turn making their app available to a whole new customer base.
To learn more about the POS product recommendations app extension, please visit the Shopify Help Centre.
API
September 01, 2020
Update
As of API version 2020-10, we are removing the ability to change any tax field data using the Country and Province resources.
Please see the 2020-10 release notes for more information.
API
September 01, 2020
New
You can now subscribe to events related to delivery profiles with webhooks.
In the past, changes to a shop’s shipping zones triggered the shop/update webhook, but didn’t include any information about the new zone configuration. To stay current, apps would then have to send a follow up request to the shipping_zones
endpoint and compare the results with their local copies of the data.
With the release of delivery profiles, we wanted to provide a proper webhook topic for apps that would allow them to avoid these frequent callbacks. As of today, you can now subscribe to the profile_create
, profile_update
, and profile_delete
webhooks.
For more information, see the webhooks topic documentation, our updated delivery profiles guide, and the 2020-10 release notes.
API
August 27, 2020
Update
As of the 2020-10 version, we have added information to fulfillment orders that allow API clients to understand the delivery method of any fulfillment order.
A fulfillment order delivery method can help you figure out how the line items represented by the fulfillment order should be delivered, or if they need to be picked up in-store.
Learn more about Fulfillment Orders and their associated delivery methods in our documentation.
Platform
August 26, 2020
Update
Starting in the next few weeks, private app permissions will be set to Off by default in all non-Plus stores. This ensures that merchants opt in to all private apps and understand the permissions they’re giving to developers. All current private apps will continue to function, but cannot be modified until merchants re-enable private apps in the Shopify admin.
If you are looking for an alternative to private apps when building bespoke apps for merchants, consider using custom apps.
To learn more about private app permissions, please visit the Shopify Help Center.
API
August 12, 2020
New
Previously apps could only edit orders created through a Shopify channel (for example, POS, online store, or draft orders). Going forward, apps can now edit orders they created. To determine if your app can edit an order on Shopify, you can query the merchantEditable field on the Order object. If the return value of this field is true, your app can edit the order.
Shopify App Store
August 11, 2020
New
A new feature has been added to make it easier to manage and optimize your ads on the Shopify App Store - Recommended Keywords.
Recommended keywords - Keyword recommendations are now provided when partners add keywords. These recommendations are generated based on organic search performance, app category and other factors.
Learn more about Shopify App Store Ads in the Help Centre
Tools
August 04, 2020
Action required
Update
We're closing our first online store design experience beta period to address feedback and add functionality. While we prepare for the next phase, we'll be removing the Online store design experience developer preview, effective August 4, 2020.
Development stores using this developer preview will be removed. If you're currently using this developer preview to build a sections-compatible app or theme, then you need to back up your work before the developer preview ends.
We'll continue to update our developer documentation so you can stay up to date while we build our next iteration. We’ll also share an updated developer preview closer to the release of this feature. All updates we make will be compatible with what you have built so far.
To learn more or to ask questions about the online store design experience developer preview, visit our Shopify Community discussion board.
Platform
August 04, 2020
Update
On August 4, 2020, we resumed the activity requirement to continue receiving recurring commission payments for referrals and Plus upgrades. If you are a Partner that receives recurring commission payments for referrals or Plus upgrades, please check the Referrals page in your Partner Dashboard to understand how much time you have until you need to complete another activity. The activity requirement does not apply to ongoing earnings from app sales, theme sales, or any Partner activity other than referrals and Plus upgrades.
Platform
August 04, 2020
New
Shopify will now limit the amount of checkouts that can be created on the Storefront per minute. If an API client exceeds this throttle, then a 200 Throttled error response is returned.
For more information, see API rate limits.
Tools
July 29, 2020
New
Our new App Bridge authentication beta introduces session tokens to empower developers to create faster apps that are compatible with all modern browsers. Session token-based authentication does not depend on cookies, but instead relies on a Shopify-generated token that your app needs to send with every request.
To learn how you can participate in the beta and get started with App Bridge authentication and session tokens, refer to our developer documentation.
Themes
July 28, 2020
New
We've added a new report to the Shopify admin that will help merchants and Partners gauge and measure online store speed.
The new Online store speed report runs speed tests for merchants' home page and highest-traffic collection and product pages, and then combines each page’s Google Lighthouse speed score into an overall score. It also provides a comparison of how a merchants store’s speed compares to similar online stores.
The Online store speed report will roll out to all merchants over the coming weeks. You can learn about how the speed score and ranking are calculated and how you can help merchants improve their speed in the Shopify Help Center.
Themes
July 17, 2020
New
Google’s reCAPTCHA v3 has been added to online store contact forms and blog comments to reduce incoming spam. reCAPTCHA v3 analyzes visitor behavior to block spam from bots, and reduces friction for real users by eliminating CAPTCHA challenges. This feature is enabled by on all stores by default, but can be disabled in the online store preferences.
Learn more about reCAPTCHA v3 and how it interacts with themes on Shopify.dev.
Shopify App Store
July 07, 2020
New
To support more business models on the Shopify App Store, we’re introducing annual subscriptions through the Billing API. Merchants can choose a yearly subscription for your app, and you can track annual revenue from the Partner Dashboard.
We’ve also made it simple for merchants to upgrade an existing app subscription from a monthly to a yearly plan. Price differences will be prorated when merchants change plan intervals.
Learn more about enabling annual subscriptions for apps on Shopify Developers.
API
July 02, 2020
Action required
Deprecation
Last April, we released API versioning to improve the stability and predictability of Shopify's APIs.
2019-04 was scheduled for deprecation on April 1st, 2020. Support was extended for three months to reduce pressure on our developer community during COVID-19. This extension means that on July 2nd, our first and second supported versions, 2019-04 and 2019-07, will both become unsupported.
On July 2nd, 2020, the following API changes come into effect:
- The 2019-04 and 2019-07 versions become unsupported.
- Requests with no API version specified serve the 2019-10 API version.
- Requests for the 2019-04 or 2019-07 versions will no longer receive them. Instead, these requests receive version 2019-10.
- Webhooks set to 2019-04 or 2019-07 receive version 2019-10.
- The 2020-07 version becomes stable and ready for general usage.
For a full list of breaking changes, please visit our Breaking Changes sections in the 2019-07 release notes and the 2019-10 release notes
API
July 02, 2020
New
With the release of the 2020-07 version of the Admin GraphQL API, you can now access additional data on domains associated with a given shop using the new shop.domains
field and webhook events.
Along with this new field you will be able to use the Domain
object to determine if a shop has SSL enabled and surface cross border domain data including the country, default and alternate locales for each given domain.
API
July 02, 2020
New
The 2020-07 release adds Amazon EventBridge support, enabling you to receive Shopify webhooks using an event bus. Version 2020-07 also adds annual billing support to the Shopify Billing API, Tax ID support for Brazilian merchants using localization extensions, and additional data on domains associated with a given shop.
This release also improves access errors in GraphQL by adding an error code and a message that includes the name of the restricted resource.
Explore all the API changes included in this release in the 2020-07 release notes.
You can also read more about API versioning in the versioning guide and on the partner blog.
Shopify App Store
June 30, 2020
New
You can now add a Facebook pixel to your app listing. A Facebook pixel can help you to track your app listing traffic and increase your reach through Facebook. Learn more about tracking.
Themes
June 26, 2020
New
You can now use the page_image
global object to output a store's social sharing image preview. This is the image that is displayed when Shopify store URLs are shared on social channels.
Learn more about the global page_image
object in our developer documentation.
API
June 25, 2020
Update
The currency API rate_updated_at
field now returns the date the manual currency exchange rate was updated, if applicable. If no manual rate was set, the date the automatic rate was updated is returned. This change was made to support the new manual exchange rates feature.
Previously, the currency API returned the date the automatic rate was last updated in this field.
Learn more about the currency API Learn more about manual exchange rates Learn more about automatic exchange rates
API
June 15, 2020
Action required
Update
As of 2020-07, we are refining the error messages for GraphQL documents if the app does not have the required access scope(s). Currently, if an app does not have the required access scope, the error message returned is “access denied”
. From 2020-07, the message returned will be “Access denied for <field-name>. Required access: <access scope required> access scope”.
Responses will now also include Extensions, which consist of an error code, link to necessary documentation, and the name of the required access scope. Learn more about access scopes here
Shopify App Store
June 04, 2020
New
The Shopify App Store is now available in Czech, Polish, Portuguese (Portugal), and Turkish. You can now create a listing in these languages that will be shown to merchants. Learn more about translated listings.
API
June 03, 2020
Action required
Deprecation
This is a possibly breaking call, where there's no way for Shopify to know if your app is using the 'one' value. As a result, we will not delist any app that continues to get this warning.
As of API version 2020-07, we're updating the allocation method for discounts that have set the target_selection
as explicit
. Currently, Shopify applies these discounts to a single line item, which corresponds to an allocation method of one
. With this change, the allocation methods will instead include "each" and "across".
We're making this change to add "each" functionality, and simplify the discount syntax, as "one" and "across" functionally both discount the final price by a set amount.
This change also affects discount_applications
on the following webhook payloads :
orders/cancelled
orders/create
orders/fulfilled
orders/paid
orders/partially_fulfilled
orders/updated
For more information, please visit the community forum post.
Platform
June 01, 2020
Update
The Shopify Partner Program Agreement (PPA) updates previously announced on March 3, 2020, go into effect today.
These updates clarify our role as a billing agent, which means we’re the party responsible for facilitating payment transactions between partners and merchants of apps, themes, and services. Product changes that reflect these billing and tax updates will be live in the coming weeks.
API
June 01, 2020
Update
A customer's multipass identifier is now available in the GraphQL Admin API 2020-07 release candidate using Customer.multipassIdentifer
.
See the 2020-07 release candidate reference docs for details.
Tools
May 28, 2020
Update
You can now use the Shopify theme inspector for Chrome to debug Liquid render performance on shops you have collaborator account access to.
If you'd like to learn more, contribute a feature, open an issue, or make a feature request, then check out the Shopify theme inspector Github repository.
API
May 28, 2020
New
The Localization Extensions developer preview is currently available. Localization extensions allow partners and app developers to access the tax id that is collected during checkout and use this information to augment shipping apps (expedite customs clearance) and invoicing apps (issue goverment invoices).
Starting in the 2020-07 release candidate, orders made through checkout in countries that require a tax id for customs clearance or government invoicing will have this information available through the GraphQL API.
You can try these APIs by using a development store with the 'Localization Extensions' developer preview enabled.
For more information on how to apply tax IDs on checkout and view them through the GraphQL API, read to our localization extenson tutorial.
For any questions and discussion regarding the Localization Extensions developer preview, visit our forum post.
Themes
May 26, 2020
Update
Navigating to individual pages on the Online Store Editor is now supported for the Online Store Design Experience developer preview with a new page picker feature on the Online Store Editor.
The page picker option in the top bar of the Online Store Editor allows users to search for specific pages, or navigate to a page using a drop-down selector filtered by page types. This will enable merchants and developers to quickly access a specific page when customizing the storefront using the Online Store Editor.
API
May 25, 2020
Update
The total tip amount received on an order is now available in the GraphQL Admin API 2020-07 release candidate via Order.totalTipReceived
.
See the 2020-07 release candidate reference docs for details.
Tools
May 14, 2020
New
You can now integrate your app with Amazon EventBridge to receive Shopify webhooks using an event bus. EventBridge's serverless, event-driven architecture can help you reduce infrastructure costs while providing a scalable system.
Visit our developer documentation to learn how to set up an event source and manage events with EventBridge.
Themes
May 14, 2020
New
We’ve added two new Liquid theme tags.
liquid
The liquid
theme tag simplifies theme code. Developers can now write multi-line tags and output expressions within one set of delimiters. This reduces the requirement to open and close multiple sets of delimiters when creating variables and conditions, or executing blocks of code. Learn more about the liquid
tag in our developer documentation.
echo
The echo
theme tag works inside the new liquid
tag to output an expression, or Liquid object, in the rendered HTML. Filters can also be applied to expressions using the echo
tag. Learn more about the echo
tag in our developer documentation.
Platform
May 12, 2020
Update
We’re adding more flexibility to merchant billing, making it easier for your users to keep running their businesses during COVID-19 and avoid store shutdowns. The change means that you might see delayed payouts from some of your referred stores.
Learn more about how merchant payments impact your payouts in the Shopify Help Center.
Shopify App Store
May 04, 2020
New
We’ve improved the reporting for ads so that advertisers can more accurately tell where their ads are showing up. Specifically, we are adding the following two new reporting columns:
- Average position will report on the position that their ad displays as. Learn more here.
- Visibility will report (as a percentage of first page auctions you participate in) what percentage of your impressions are served on the first page. Visibility will only apply to impressions served March 11, 2020 onward. Learn more here.
Platform
May 04, 2020
New
Shopify POS 6.0 has been rebuilt and redesigned. Omnichannel features and essential upgrades to Shopify’s point of sale, including a new smart grid interface, global search, analytics, curbside pickup, and more, have been added.
Apps built to integrate with Shopify POS using the POS SDK or App Bridge will continue to function in POS 6.0 (all-new POS), and the app interface will automatically adjust to work within the new smart-grid design.
Discover new opportunities to build integrations and features for brick and mortar merchants today.
Lean more about building apps for POS
Platform
April 22, 2020
New
Shopify has introduced a new Pause plan for stores. The new Pause plan allows merchants to pause their store for up to three months.
While merchants take a pause from running their store on Shopify, all apps will remain installed on the paused store, but app billings will be frozen and merchants will not abe able to access or use the apps. This means that merchants do not need to reinstall and reconfigure their apps when they resume running their business.
This update helps app developers to retain users in the long term by allowing a simple and seamless pause in the short term. No action is required from app developers.
Stores in this state have a plan display name of Full Pause
in the shop/update
webhook. Recurring charges for these stores appear as as Recurring charge frozen in the Partner Dashboard.
API
April 17, 2020
Update
The amount
field is no longer a required field on DraftOrderAppliedDiscountInput
. If omitted, then the amount
is automatically calculated based on the value
and valueType
. This avoids unnecessary calculations by API clients that can otherwise be done by Shopify.
For more information, refer to DraftOrderAppliedDiscountInput in our GraphQL reference.
Themes
April 14, 2020
New
This month we have released new features for developers participating in the Online Store Design Experience partner beta. The following features are now available for testing for new and existing development stores using the "online store design experience" developer preview. You can find info on how to create a developer preview store in our Help Center.
The Sections theme architecture is now supported on the Cart, Password, and 404 pages. Sections can be enabled on these pages using the Online Store Editor with a sections-compatible theme. More info on how to enable sections on a page can be found in our Developer Documentation.
The Section Rendering API can be used to request the HTML markup of frame, page, content, and app sections through an AJAX request. This improves storefront performance by allowing you to update page content by fetching only partial elements of a page, instead of reloading it entirely. More info on this new API can be found in our Developer Documentation.
HTML tags can be inserted around theme frame sections using the wrapper
property. This allows developers to optionally use containers and other tags around the three segments of a page. More info on the wrapper
property can be found in our Developer Documentation.
Sections can now contain a text input and a URL picker on a single setting with the link
setting type. The link
setting type can only be used in sections (including the additional settings of content sections).
For any questions regarding the online store design experience developer preview visit our dedicated forum.
Tools
February 10, 2020
Deprecation
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.