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.
November 18, 2024
New dynamic source attributes available in the online store editor Themes
You can now use more dynamic source attributes in the online store editor. The following new attributes have been added:
- Product:
url
,featured_image
,description
- Collection:
url
,description
- Article:
author
,comments_count
,content
,excerpt
- Blog:
content
Learn more about dynamic sources on Shopify.dev.
November 18, 2024
Strongly-matched apps will be highlighted in Shopify app store search results Shopify App Store
Apps that are strongly-matched to brand term searches will now be highlighted in search results.
- When a merchant searches for a specific app (e.g. Shopify Inbox), we use organic search results and behavioral data to find the matching app. The high-match app is now prominently featured at the top of search results, above ads.
- This treatment is automatically applied when your app listing is optimized and shows strong branded search match.
- Make sure your app has a specific brand name and follow our best practices around improving organic search.
In addition, we’ve removed the list of restricted keywords previously implemented for search ads.
- More keywords are now available for bidding, including previously restricted brand terms.
- We are ensuring a more equitable advertising environment and to align Shopify's ad products with industry standards and the familiar patterns of other search ad platforms.
November 15, 2024
Edit customer account menu including adding full-page extensions API
As a part of the Customer Account Extensibility Developer Preview, you can now add, remove, or edit menu items in your customer account header menu. This update helps you better understand how merchants will be able to add any type of link to their customer accounts main menu.
Included in this update:
All full-page extensions are now linkable - Before this update, full-page extensions had to be explicitly declared as linkable. Now, all full-page extensions will be linkable by default and merchants will be prompted in the checkout & accounts editor to add a link to your full-page extension in the header menu. To take advantage of this change, deploy a new version of your extension.
To prevent merchants from linking to your page, declare your extension as not linkable.
Add any type of link - Including links to default online store pages (products, collections, pages), customer account pages (order, profile and settings), customer account apps (full-page extensions), as well as any URL. By default, the menu will link to online store (Home), and Orders.
Use the same menu across online store & customer accounts - Merchants will be able to use the same menu in their online store and customer accounts.
Navigation has moved - You can now find the navigation tool in Admin > Content > Menus. It has been moved from its original location of Online Store > Navigation.
You can learn more about full-page extensions here.
November 15, 2024
manualPaymentGateway
field added to orderTransaction
object
API
As of GraphQL Admin API version 2025-01, the manualPaymentGateway
field will be added to orderTransaction
object. This field indicates if the transaction is processed by a manual payment gateway.
November 14, 2024
Built for Shopify category-specific criteria are now available Shopify App Store
Category-specific criteria are now available. This feature gives developers more clarity on the category-specific criteria that apply to certain Built for Shopify apps. To view or update your app's category, check its distribution page in your Partner Dashboard.
Your app's pre-selected category is based on its categorization in the Shopify App Store. You can update your category based on your app's functionality. Built for Shopify reviewers have final approval on all categorizations.
Starting in January 2025, all Built for Shopify reviews will require accurate categorization. This applies to existing Built for Shopify apps, as well as new applications.
November 12, 2024
Marketing Activity Extensions can be migrated to CLI Tools
As of Shopify CLI 3.70, existing Marketing Activity Extensions can be migrated from the Partner Dashboard to CLI. Learn more about how to import and migrate your Marketing Activity Extensions to CLI here
November 12, 2024
Action required
Conditionally disable gift cards in checkout using custom logic with the Payment Customization API API
As of Nov 12, 2024, you can use the HideOperation in the Payment Customization Function API to disable native gift card functionality and Shopify-integrated third-party gift card systems. Disabling gift cards hides the gift card field, removes any applied gift cards, and prevents any gift cards from being applied by UI extensions.
The ability to disable the gift card field is available in the unstable API version and will be released to the stable 2025-01 API version.
Learn more about payment customizations.
November 12, 2024
Action required
Changes to our Font Library Themes
As part of a move towards open-source fonts, and in an effort to refine our font offerings, we have deprecated some fonts in our library. We’re also expanding the library of open-source fonts, with 32 new high quality typefaces available today.
Action Required: For theme developers with published themes in the Shopify theme store using any of the deprecated fonts, please replace your default font for each preset by January 3, 2025. We have provided recommended replacements in the developer documentation that maintain a similar style to the deprecated font, or you can choose any other available font from our library.
Merchants who are currently using deprecated fonts will be prompted to make updates at a later date.
November 12, 2024
Create extension-only discount apps with Admin UI extensions API
As of today discount apps can use Admin UI extensions to embed discount configuration UI directly into the discount details page.
Admin UI extensions are hosted by Shopify, which means you no longer need to build and maintain your own web infrastructure to host the UI that configures your discount function's metafields.
Learn more by following this tutorial on building a discount UI with UI extensions and browse the available Admin UI components here.
November 07, 2024
Built for Shopify Fulfillment services assessments category specific criteria Shopify App Store
The Built for Shopify category-specific criteria assessments are now available for Fulfillment service apps. You can review whether these requirements apply to your Built for Shopify app by checking its distribution page through your Partner Dashboard.
These assessments apply to existing Built for Shopify apps, as well as new applications.
November 06, 2024
Action required
POS Legacy Extensions Will Be Deprecated in February 2025 API
On February 28, 2025, POS Links, POS cart app extensions, and POS product recommendations will be deprecated. Developers and merchants will no longer be able to view or access these extensions in Shopify POS.
We recommend you rebuild legacy extensions with POS UI Extensions. Not only do POS UI Extensions have extensive capabilities today, but we’ll continue to grow these capabilities into the future.
POS Links: * Recommendation: Rebuild using POS UI Extensions * Alternative: Embed your app within Shopify POS via the Partner Dashboard, Please note that merchants can manually add and access these from the smart grid.
Cart App Extensions and Product Recommendation Extensions: * Recommendation: Rebuild using POS UI Extensions. POS UI extensions provide necessary components and APIs to develop extensions that run natively on Shopify POS.
If you have any questions, please contact partner support for assistance.
November 05, 2024
Action required
Remove metafieldDelete
in favor of metafieldsDelete
API
As of 2025-01
the metafieldDelete
Admin API method is being removed. The metafieldsDelete
method should be used instead. The former relies on the Metafield GID, while the latter takes an array of Metafield Identifiers composed of ownerId
, namspace
, and key
. Note that the Metafield GID is not an option in metafieldsDelete
.
November 04, 2024
Updates to Shopify’s Standard Product Taxonomy - October 2024 API
As of the latest Shopify’s Standard Product Taxonomy version 2024-10
, you can now find additional categories, attributes and values across product areas such as Apparel & Accessories, Home & Garden, Sporting Goods, and more. The taxonomy is an evolving library that’s informed by user feedback and market insights, with each release aiming to help you more accurately classify your products.
More details about this update can be found in the release notes.
November 01, 2024
GraphQL Over HTTP API
The handling of GraphQL requests via HTTP will evolve slightly as of 2025-01
API versions in accordance with the GraphQL over HTTP spec. These changes refine how a request's Content-Type
and Accept
headers work, and offer additional granularity in response status codes.
New response format
A new application/graphql-response+json
response format is available. Requests may select this format using the Accept
header, for example:
Accept: application/graphql-response+json, application/json
The above favors receiving a application/graphql-response+json
response by listing it first. This new format is the same as JSON aside from its status codes:
200 OK
- For
application/graphql-response+json
, this status indicates that the JSON payload was valid and that the submitted GraphQL document attempted execution on the server. Note that the response payload may still contain errors encountered during execution along with partial data. - For
application/json
, this status only indicates that the JSON payload was valid.
400 Bad Request
- For
application/graphql-response+json
, this status indicates that the JSON payload was invalid, or that the submitted GraphQL parameters failed static validation and were not executed. - For
application/json
, this status only indicates that the JSON payload was invalid.
Usage summary
For requests to 2025-01
versions and after:
- Use the
/graphql
endpoint. Using/graphql.json
will automatically respond withapplication/json
as it does now. - The request body must contain a spec JSON encoding.
- The
Content-Type
header must specifyapplication/json
. The legacyapplication/graphql
request format is no longer supported. Requests with no supported content type will receive a415 Unsupported Media Type
response. - The
Accept
header now supportsapplication/graphql-response+json
and/orapplication/json
response formats. Requests with no supported accept types will receive a406 Not Acceptable
response. - Accepting
*/*
will default to aapplication/graphql-response+json
response.
These changes do NOT affect unstable
versions at this time, or Storefront API. A breaking change announcement with migration timeline will be announced prior to any unstable transition.
November 01, 2024
Action required
Content type application/graphql
is deprecated
API
The Content-Type: application/graphql
request format is deprecated and will no longer be accepted as of 2025-01 schema versions. As of 2025-01
schemas, all requests must specify Content-Type: application/json
and post a spec encoded body. See GraphQL Over HTTP update for more details.
November 01, 2024
Action required
Removing multiLocation
field from ShopFeatures
API
As of the 2025-01 release of the Admin GraphQL API, the deprecated multiLocation
field on ShopFeatures will be removed.
Use the locationsCount query to determine how many locations a shop has.
October 31, 2024
Merchants can now view your app extension collections Tools
As of Oct 31, 2024, merchants can now manage their apps using the new Apps tab, which includes app extension collections.
Note: If your app contains customer account UI extensions, these extensions won't be shown to merchants until customer account UI extensions is released in December.
Learn more about the Apps tab in the Shopify Help Center.
October 30, 2024
Metaobject and metaobject_list theme settings now available Themes
We've added two new theme setting types: metaobject
and metaobject_list
so theme and app developers can write sections and blocks that consume metaobjects of a specified type.
For theme store themes, developers must only use standard metaobject definitions since custom metaobject definitions are unique to a store.
Learn more about the new metaobject
and metaobject_list
theme settings on Shopify.dev.
October 30, 2024
Hydrogen October 2024 release Platform
Hydrogen v2024.10.0 is out today. The October 2024 Hydrogen release supports the 2024-10 Storefront API and contains several optimizations and bug fixes, including:
- Cart
warnings
support (#2572) - Product option updates (#2538)
- Hydrogen supports worker compatibility date (#2380)
- Shopify cookie banner no longer is the default set up in skeleton (#2588)
- Update
createWithCache
(#2546) - Release stable sitemaps utility functions (#2589)
- Decode product variant encoding functions (#2425)
- Route warnings (#2613)
- Analytics fixes (#2538)
- Optimistic cart banner (#2502)
- Aside improvements (#2503)
- Use datalist for query suggestions (#2506)
- Remove unstable re-exports from remix-oxygen package (#2551)
- Update MiniOxygen to latest workerd version (#2567)
<Image/>
local asset fix (#2573)- Update
<ProductPrice>
to remove deprecated code usage forpriceV2
andcompareAtPriceV2
. Remove export forgetCustomerprivacy
(#2601) - Remove deprecated
--worker
Shopify CLI flag (#2603) - Allow generated codegen files to be placed anywhere in the directory (#2600)
- Add optional headers param for customer logout redirect (#2602)
Check out our full Hydrogen October 2024 release blog post for more details. And please drop your comments, feedback, and suggestions in GitHub Discussions!
October 28, 2024
Action required
Change to metafield type handling in liquid Themes
Effectively immediately, metafields without a type
value will return "string" instead of blank
. For example, this check will no longer be true
{% if metafield.type == blank %}
This will no longer render.
{% endif %}
Instead, a value of string
will be returned:
{% if metafield.type == 'string' %}
This metafield is of type `string`.
{% endif %}
October 28, 2024
Action required
Updates to Theme Information Access in Shopify Themes
Action Required:
Developers currently using the BOOMR variables for theme identification and customization should begin transitioning to window.Shopify.theme
properties. The BOOMR variables will be removed on 31/01/2025, after which window.Shopify.theme.schema_name
and window.Shopify.theme.schema_version
should be used exclusively.
Deprecation of BOOMR Script:
The BOOMR (Boomerang) JavaScript library was used for collecting Web Performance data on storefronts and it’s now been replaced with a leaner and more conformant library.
Some theme and app developers had been relying on a few variables set by BOOMR. These variables include:
- BOOMR.themeName
- BOOMR.themeVersion
These variables will continue to be available until 31st Janurary 2025, allowing developers to transition to the new method of accessing theme information.
Introduction of Enhanced Theme Information on window.Shopify.theme:
In response to developer feedback, we are enhancing the window.Shopify.theme
object. Starting today, it will include two new properties:
- schema_name
: Reflects the name
attribute from the theme's settings_schema.json
.
- schema_version
: Reflects the version
attribute from the theme's settings_schema.json
.
These additions aim to provide a standardized and reliable method for accessing theme information directly from the Shopify global object.
October 28, 2024
Web pixels now support checkout error events API
We’re rolling out new standard events to web pixels that enable you to better understand the issues that buyers encounter in checkout. Merchants can now capture specific alerts seen by buyers, such as inline field validations and page-level alerts, and errors from Checkout UI Extensions. Any pixels subscribing to all standard events will automatically receive these new types.
Learn more about the new events here.
October 28, 2024
Action required
Breaking Changes to CAPTCHA protection on Storefront forms Platform
From the week commencing 28th October 2024, the following changes to CAPTCHA protection will occur:
Classic Customer Accounts: Removal of the /challenge
page for Login, Create Account and Reset Password flows
If hCaptcha is enabled in Admin for these forms, they will now require a valid hCaptcha token as part of the form submission, otherwise a 400 error response will be returned.
Form submissions that fail the hCaptcha assessment will also return a 400 error response.
The vast majority of form submissions already comply with this requirement, due to hCaptcha being automatically wired up to forms with the correct markup. More information is available in the dev docs
Full deprecation of reCAPTCHA on Storefront forms
The recent migration to hCaptcha on all Storefront forms is now complete. Applications or themes that have bespoke code that submits a reCAPTCHA v3 token (site key 6LeHG2ApAAAAAO4rPaDW-qVpPKPOBfjbCpzJB9ey
) will need to update to use hCaptcha. All form submissions containing a recaptcha-v3-token
field will result in a 400 error response.
Again, the vast majority of form submissions already comply with this requirement. If you application or theme invokes the reCAPTCHA api directly, ie via methods on window.grecaptcha
then you will need to make changes. More information on wiring forms with hCaptcha using methods supported by Shopify is available in the dev docs
October 24, 2024
Action required
Update to fulfillmentHold.heldByApp
field from fulfillmentHold.heldBy
field
API
As of the 2025-01
API version, the heldBy
string field on the fulfillmentHold
GraphQL object will be replaced by the newly introduced heldByApp
object field.
This new field provides access to all attributes of the App object, unlike the deprecated heldBy
field, which only indicated the app's title.
If you currently query fulfillmentHold.heldBy
, you should transition to querying fulfillmentHold.heldByApp.title
.
October 21, 2024
Limit for full-page extensions in customer accounts API
A full-page extension target (customer-account.page.render
or customer-account.order.page.render
) can no longer coexist with any other targets in the same extension. This change improves performance and provides a better merchant experience in the checkout and accounts editor. If your full-page extension is best used with other extensions in your app, create an editor extension collection to encourage merchants to add all the extensions in the collection.
This change will only impact the deployment of new extensions or new versions of existing extensions. Existing extensions will not be affected until a new version is deployed.
October 17, 2024
Built for Shopify update to grace period for programmatically assessed criteria Shopify App Store
The grace period for the following criteria have been extended to 60 days from the current 30:
- Minimizes impact on store speed
- Minimizes impact on checkout speed
- Admin performance: meets 75th percentile Web Vitals targets
- Minimum number of installs
- Minimum number of reviews
- Minimum app rating
The grace period for Fulfillment services and Carrier services criteria will also be set to 60 days when enforcement begins.
October 16, 2024
Storefront API Cart now supports removing Gift Cards API
As of version 2025-01 of the GraphQL Storefront API, Cart now supports removing Gift Cards by Id.
After a cart has been created and a Gift Card applied - perform the cartGiftCardCodesRemove
mutation to remove one or more gift cards.
October 15, 2024
Action required
Shopify App Store apps require the latest App Bridge Shopify App Store
Starting October 15th, 2025, all Shopify App Store apps that appear in the Shopify admin must use the latest Shopify App Bridge by adding the app-bridge.js
script tag to the <head>
of each document of your app.
October 14, 2024
API StringConnection
includes nodes
field
API
As of API version 2025-01
, you can access StringConnection.nodes
field shorthand to retrieve an array of strings directly instead of via edges
. This connection type is now consistent with other connection types in the schema.
Learn more about StringConnection
on GraphQL Admin API and Storefront API.
October 11, 2024
Deep link to editor extension collections Platform
You can now deep link to editor extension collections in the checkout and accounts editor. This is only available on development stores.
When editor extension collections are released to merchants, you can start deep linking to editor extension collections from your app onboarding to streamline the merchant experience.
Learn more on Shopify.dev
October 11, 2024
Checkout UI extensions - Extensions in the reductions render before/after targets will now render in the header order summary on 1 page mobile checkouts API
As of October 11, 2024, checkout UI extensions targeting the purchase.checkout.reductions.render-before
and purchase.checkout.reductions.render-after
extension targets will now render in the order summary at the top of the page for one page mobile checkouts. Previously, extensions in these targets would only appear in the order summary at the bottom of the page. This will apply to checkout UI extensions on all API versions.
For more details, please follow up in the github issue in our public repo
October 10, 2024
Shopify Payments Payout Summary GraphQL surfaces advance fees and advance gross fields API
As of GraphQL Admin API version 2024-10, ShopifyPaymentsPayoutSummary now surfaces ADVANCE_FEES
and ADVANCE_GROSS
fields.
Learn more about ShopifyPaymentsPayoutSummary
on Shopify.dev.
October 10, 2024
Shopify Function resource limits now scale with cart size Platform
Certain Shopify Function resource limits now scale proportionally to the number of line items in the cart. Starting at 200 line items, your Shopify Function runs will be able to use more resources than before.
This change applies to all Shopify Function runs that include cart lines in their input query.
Learn more about dynamic resource limits and how they're calculated for Shopify Functions on Shopify.dev.
October 09, 2024
Install Attributions in Partners Merchant Export Shopify App Store
The merchant export in Partners now provides an "Attribution" column that specifies installs that are attributable to Shopify App Store ad clicks. For more information on the Partners merchant export, see here
October 07, 2024
Built for Shopify 2025 Admin performance and Carrier services criteria Shopify App Store
The 2025 versions of the admin performance and carrier services criteria are now displayed in the Partner Dashboard distribution page along with the rest of the Built for Shopify automated criteria. Carrier services criteria will only be visible to those using the related API.
October 07, 2024
lineItem
connection is no longer deprecated on FulfillmentOrderLineItem
resource
API
As of today, you can use the lineItem
on FulfillmentOrderLineItem
without planning for deprecation. This applies to all API versions.
Learn more about FulfillmentOrderLineItem.lineItem
on Shopify.dev.
October 07, 2024
Updated CalculateExchangeLineItemInput and CalculatedExchangeLineItem Variant nullability API
As of Admin GraphQL API 2025-01
version, CalculateExchangeLineItemInput.variantId
and CalculatedExchangeLineItem.variant
fields are nullable at schema level.
This is in preparation of future feature changes. In the current state CalculateExchangeLineItemInput.variantId
will still be validated via a returned error if not present.
Learn more about CalculateExchangeLineItemInput and CalculatedExchangeLineItem.
October 04, 2024
Add accountOpenerName
to shopifyPaymentsAccount
API
As of GraphQL Admin API version 2025-01, the accountOpenerName
field will be added to shopifyPaymentsAccount
October 02, 2024
Bulk query operation userErrors now includes code field API
As of version 2025-01, the Admin API bulk query operation userErrors
GraphQL type will change to BulkOperationUserError
. The new type includes the same fields as the old type, with the addition of a code
field.
October 01, 2024
Shopify Payments Balance Transaction GraphQL type supports advance and advance funding type API
As of GraphQL Admin API version 2024-10, ShopifyPaymentsTransactionType now includes ADVANCE
and ADVANCE_FUNDING
type.
Learn more about ShopifyPaymentsTransactionType
on Shopify.dev.
October 01, 2024
Exposing Business Entity fields on Admin API API
As of GraphQL Admin API version 2024-10, Business Entity attributes will be available for use as a GraphQL object and across relevant types.
You will now be able to query for properties related to the Business Entities that are enabled on your shop and request for these fields on objects that can be associated to a Business Entity.
Business Entity identifiers will also be available on the Order REST Admin API version 2024-10 as well as on webhook payloads.
October 01, 2024
Shopify Payments GraphQL Admin API supports querying a list of disputes API
As of GraphQL Admin API version 2024-10, querying for all disputes for a given shop will be available for use as a GraphQL connection.
Learn more about ShopifyPaymentsDispute
on Shopify.dev
October 01, 2024
Added variant_strategy
for productOptionsCreate
API
In the version 2024-10 release of the Admin GraphQL API, the productOptionsCreate
mutation will include a variantStrategy
parameter, enhancing control over variant management when adding new product options. This new parameter allows for two strategies:
LEAVE_AS_IS
: Maintains existing variants, updating them to include new option values without creating new variants as necessary.CREATE
: Generates new variants for all possible combinations of option values. This enhancement allows for more precise control over product variant configuration and inventory management.
For more detailed information and examples, visit our productOptionsCreate documentation on Shopify.dev.
October 01, 2024
Adding requiresComponents
field to ProductVariantsBulkInput
API
As of the 2024-10 version of the GraphQL Admin API, the requiresComponents
field available in ProductVariantInput
has been added to ProductVariantsBulkInput
.
This field allows variants to be marked as bundles that require components in order to be sold.
Learn more about requiresComponents
and ProductVariantsBulkInput
on Shopify.dev.
October 01, 2024
New CollectionsCount
query in the GraphQL Admin API
API
As of 2024-10
version, we are adding CollectionsCount
query to the Admin GraphQL API.
Learn more about CollectionsCount on Shopify.dev.
October 01, 2024
Metafield Definition Webhooks API
As of GraphQL Admin API Version 2024-10, you can subscribe to MetafieldDefinition changes under the webhook topics metafield_definitions/create
, metafield_definitions/update
, and metafield_definitions/delete
October 01, 2024
Action required
Starting April 2025, new public apps submitted to Shopify app store must use GraphQL Tools
GraphQL is now the primary API to interact with the Shopify admin. REST Admin API will be marked as legacy, and new feature development and improvements will be focused on GraphQL.
April 1 2025: All new apps will default to GraphQL
- Organizations created after this date will only be permitted to use GraphQL for their custom apps
- All new public apps submitted to the App Store after this date must only use GraphQL
Migration timelines for existing apps (outside of the required migration to the new GraphQL product APIs that have already been announced), will be announced in 2025. We will make sure ample time is provided for a smooth transition.
Learn more about Shopify’s API strategy and direction into GraphQL.
October 01, 2024
Theme Store ranking update Themes
As of October 1st, 2024 we have update the Theme Store algorithm. This new ranking system will refine how themes are discovered, prioritizing factors like recency, quality, and trust signals to help merchants find themes more effectively.
October 01, 2024
ShopifyPaymentsBankAccount GraphQL Admin API unused fields removed API
As of GraphQL Admin API version 2025-01, we're cleaning up the shopifyPaymentsBankAccount
endpoint and removing several unused fields.
October 01, 2024
Storefront API support for Combined Listings API
Merchants using the Storefront API can now offer Combined Listings with Shopify. The Shopify Combined Listings app is available to merchants on Plus plans, helping merchants better merchandise products that come in multiple variations such as colors, materials or lengths, all from the same product listing.
Learn more about the Shopify Combined Listings app in the Shopify Help Center.