--- title: 2019-10 release notes description: Update your app from API version 2019-07 to 2019-10. api_name: release-notes source_url: html: https://shopify.dev/docs/api/release-notes/previous-versions/2019-10 md: https://shopify.dev/docs/api/release-notes/previous-versions/2019-10.md --- ExpandOn this page * [Breaking changes](https://shopify.dev/docs/api/release-notes/previous-versions/2019-10#breaking-changes) * [Developer preview](https://shopify.dev/docs/api/release-notes/previous-versions/2019-10#developer-preview) * [REST Admin API changes](https://shopify.dev/docs/api/release-notes/previous-versions/2019-10#rest-admin-api-changes) * [Graph​QL Admin API changes](https://shopify.dev/docs/api/release-notes/previous-versions/2019-10#graphql-admin-api-changes) * [Storefront API changes](https://shopify.dev/docs/api/release-notes/previous-versions/2019-10#storefront-api-changes) # 2019-10 release notes Note We're no longer publishing API release notes. Instead, you can find the latest updates on Shopify APIs in our [developer changelog](https://shopify.dev/changelog). You can filter updates by area. For example, you can filter API updates by the API name and version, such as GraphQL Admin API changes in version 2025-04. | Release date | Date version is no longer supported | | - | - | | October 1, 2019 | October 1, 2020 | The 2019-10 release continues to focus on improving performance by completing the transition to cursor-based pagination. You can now use cursor-based pagination across the remaining endpoints. With the GraphQL Admin API, you can now perform bulk operations to fetch large amounts of data in a single request, letting Shopify handle pagination for you. This release also solidifies many features we showcased at Unite 2019. Private metafields and translations are available for general use with the GraphQL Admin API, and delivery profiles have received a few updates. We've also added support for 3D Secure transactions to the REST Admin API and Storefront API. **What's new in 2019-10** Below are some of the highlights of new features in version 2019-10 of Shopify's APIs: * [Page-based pagination has been replaced](#rest-admin-api-changes) by cursor-based pagination across the remaining REST endpoints * [Perform bulk operations](#graphql-admin-api-changes) by using the GraphQL Admin API * [Manage translated content for resources](#graphql-admin-api-changes) by using the GraphQL Admin API * [Store private data about Shopify resources in private metafields](#graphql-admin-api-changes) using the GraphQL Admin API * Create checkouts that include 3D secure by using the [REST Admin API](#rest-admin-api-changes) or the [Storefront API](#storefront-api-changes) *** ## Breaking changes These changes require special attention. If your app uses these API resources, and you don’t adjust your usage of the resources according to the following instructions, then your app might break when you update to this API version. ### Pagination Page-based pagination has been removed on all remaining REST endpoints, and has been replaced with [cursor-based pagination](https://shopify.dev/docs/api/usage/pagination-rest). To migrate, see our tutorial on [cursor-based pagination](https://shopify.dev/docs/api/usage/pagination-rest#make-a-request-for-paginated-data). For operations that need to fetch large amounts of data, use the GraphQL Admin API to [perform bulk operations](https://shopify.dev/docs/api/usage/bulk-operations/queries) rather than paginating through resources. ### Delivery Profiles The `activatedCarrierServices` field isn't compatible with multiple origin shipping, and has been removed. Use the availableCarrierServices field instead. It includes both the carrier service and applicable countries. ### Inventory Deprecation for legacy inventory behavior is now extended to all apps. To learn more, refer to [Migrating to support multiple locations](https://shopify.dev/docs/api/admin-rest/latest/resources/location#deprecation-schedule). *** ## Developer preview There are no new Shopify admin features for the API changes in version 2019-10, and no developer preview. [Use a development store](https://shopify.dev/docs/api/development-stores) for your development environments. To use the new API features, [call the 2019-10 version of the API](https://shopify.dev/docs/api/usage/versioning#making-requests-to-an-api-version). *** ## REST Admin API changes Below are all the changes introduced in the 2019-10 release candidate of the REST Admin API. ### Cursor-based pagination #### Breaking Page-based pagination has been replaced by [cursor-based pagination](https://shopify.dev/docs/api/usage/pagination-rest) across the remaining REST endpoints. ### All REST API endpoints * You can't use both `order` and `since_id`. Using `since_id` requires ordering by `id asc` and the ordering is done automatically. ### Abandoned​Checkouts * Removed the `page` filter, and replaced page-based pagination with [cursor-based pagination](https://shopify.dev/docs/api/usage/pagination-rest) for `GET /admin/api/2019-10/checkouts.json`. ### Articles * Removed the `page` filter, and replaced page-based pagination with [cursor-based pagination](https://shopify.dev/docs/api/usage/pagination-rest) for `GET /admin/api/2019-10/blogs/#{blog_id}/articles.json`. * If `blog_id` is used and the blog doesn’t have any articles, then no result are returned. In previous version, `blog_id` tried to match the filters against all articles in a shop, if the blog with `blog_id` didn't have any articles. * The default sort order has changed. Now blog posts are sorted by `id desc`. Previously they were sorted by unpublished first and then published blog post sorted by the date they were published. ### Blogs * Removed the `page` filter, and replaced page-based pagination with [cursor-based pagination](https://shopify.dev/docs/api/usage/pagination-rest) for `GET /admin/api/2019-10/blogs.json`. ### Comments * Removed the `page` filter, and replaced page-based pagination with [cursor-based pagination](https://shopify.dev/docs/api/usage/pagination-rest) for `GET /admin/api/2019-10/comments.json`. ### Custom​Collections * Removed the `page` filter, and replaced page-based pagination with [cursor-based pagination](https://shopify.dev/docs/api/usage/pagination-rest) for `GET /admin/api/2019-10/custom_collections.json`. Requests that pass a value for title will match only if the value is the same as the complete title. Partial matches aren't supported. ### Customer​Addresses * Removed the `page` filter, and replaced page-based pagination with [cursor-based pagination](https://shopify.dev/docs/api/usage/pagination-rest) for `GET /admin/api/2019-10/customers/#{customer_id}/addresses.json`. ### Customers * Removed the `page` filter, and replaced page-based pagination with [cursor-based pagination](https://shopify.dev/docs/api/usage/pagination-rest) for `GET /admin/api/2019-10/customers.json` and `GET /admin/api/2019-10/customers/search.json`. ### Discount​Codes (Price Rules) * Removed the `page` filter, and replaced page-based pagination with [cursor-based pagination](https://shopify.dev/docs/api/usage/pagination-rest) for `GET /admin/api/2019-10/price_rules/#{price_rule_id}/discount_codes.json`. ### Disputes (Shopify Payments) * Removed the `page` filter, and replaced page-based pagination with [cursor-based pagination](https://shopify.dev/docs/api/usage/pagination-rest) for `GET /admin/api/2019-10/shopify_payments/disputes.json`. * No longer accept limits over 250. Limits over 250 return an error. ### Draft​Orders * Removed the `page` filter, and replaced page-based pagination with [cursor-based pagination](https://shopify.dev/docs/api/usage/pagination-rest) for `GET /admin/api/2019-10/draft_orders.json`. ### Fulfillments * Removed the `page` filter, and replaced page-based pagination with [cursor-based pagination](https://shopify.dev/docs/api/usage/pagination-rest) for `GET /admin/api/2019-10/orders/#{order_id}/fulfillments.json`. ### Gift​Cards * Removed the `page` filter, and replaced page-based pagination with [cursor-based pagination](https://shopify.dev/docs/api/usage/pagination-rest) for `GET /admin/api/2019-10/gift_cards.json` and `GET /admin/api/2019-10/gift_cards/search.json`. ### Inventory​Items * Removed the `page` filter, and replaced page-based pagination with [cursor-based pagination](https://shopify.dev/docs/api/usage/pagination-rest) for `GET /admin/api/2019-10/inventory_items.json`. ### Inventory​Levels * Removed the `page` filter, and replaced page-based pagination with [cursor-based pagination](https://shopify.dev/docs/api/usage/pagination-rest) for `GET /admin/api/2019-10/inventory_levels.json`. ### Location​Levels * Removed the `page` filter, and replaced page-based pagination with [cursor-based pagination](https://shopify.dev/docs/api/usage/pagination-rest) for `GET /admin/api/2019-10/locations/#{location_id}/inventory_levels.json`. ### Marketing​Events * Removed the `page` filter, and replaced page-based pagination with [cursor-based pagination](https://shopify.dev/docs/api/usage/pagination-rest) for `GET /admin/api/2019-10/marketing_events.json`. * `offset` is deprecated, it returns an error if a value is passed. You can use `since_id` instead. ### Orders * Removed the `page` filter, and replaced page-based pagination with [cursor-based pagination](https://shopify.dev/docs/api/usage/pagination-rest) for `GET /admin/api/2019-10/orders.json`. ### Order​Risks * Removed the `page` filter, and replaced page-based pagination with [cursor-based pagination](https://shopify.dev/docs/api/usage/pagination-rest) for `GET /admin/api/2019-10/orders/#{order_id}/risks.json`. ### Pages * Removed the `page` filter, and replaced page-based pagination with [cursor-based pagination](https://shopify.dev/docs/api/usage/pagination-rest) for `GET /admin/api/2019-10/pages.json`. ### Payouts (Shopify Payments) * Removed the `page` filter, and replaced page-based pagination with [cursor-based pagination](https://shopify.dev/docs/api/usage/pagination-rest) for `GET /admin/api/2019-10/shopify_payments/payouts.json`. * No longer accept limits over 250. Limits over 250 return an error. ### Price​Rules * Removed the `page` filter, and replaced page-based pagination with [cursor-based pagination](https://shopify.dev/docs/api/usage/pagination-rest) for `GET /admin/api/2019-10/product_listings/product_ids.json`. ### Product​Ids * Removed the `page` filter, and replaced page-based pagination with [cursor-based pagination](https://shopify.dev/docs/api/usage/pagination-rest) for `GET /admin/api/2019-10/product_listings/product_ids.json`. ### Product​Variants * Removed the `page` filter, and replaced page-based pagination with [cursor-based pagination](https://shopify.dev/docs/api/usage/pagination-rest) for `GET /admin/api/2019-10/products/#{product_id}/variants.json`. ### Redirects * Removed the `page` filter, and replaced page-based pagination with [cursor-based pagination](https://shopify.dev/docs/api/usage/pagination-rest) for `GET /admin/api/2019-10/redirects/#{redirect_id}.json`. * Requests that pass a value for `path` and `target` will match only if the value is the same as the complete value. Partial matches aren't supported. ### Refunds * Removed the `page` filter, and replaced page-based pagination with [cursor-based pagination](https://shopify.dev/docs/api/usage/pagination-rest) for `GET /admin/api/2019-10/orders/#{order_id}/refunds.json`. ### Reports * Removed the `page` filter, and replaced page-based pagination with [cursor-based pagination](https://shopify.dev/docs/api/usage/pagination-rest) for `GET /admin/api/2019-10/reports.json`. ### Script​Tags * Removed the `page` filter, and replaced page-based pagination with [cursor-based pagination](https://shopify.dev/docs/api/usage/pagination-rest) for `GET /admin/api/2019-10/script_tags.json`. ### Smart​Collections * Removed the `page` filter, and replaced page-based pagination with [cursor-based pagination](https://shopify.dev/docs/api/usage/pagination-rest) for `GET /admin/api/2019-10/smart_collections.json`. * Requests that pass a value for title will match only if the value is the same as the complete title. Partial matches aren't supported. ### Tender​Transactions * Removed the `page` filter, and replaced page-based pagination with [cursor-based pagination](https://shopify.dev/docs/api/usage/pagination-rest) for `GET /admin/api/2019-10/tender_transactions.json`. ### Transactions (Shopify Payments) * Removed the `page` filter, and replaced page-based pagination with [cursor-based pagination](https://shopify.dev/docs/api/usage/pagination-rest) for `GET /admin/api/2019-10/shopify_payments/balance/transactions.json`. * No longer accept limits over 250. Limits over 250 return an error. ### Webhooks * Removed the `page` filter, and replaced page-based pagination with [cursor-based pagination](https://shopify.dev/docs/api/usage/pagination-rest) for `GET /admin/api/2019-10/webhooks.json`. ### Inventory #### Breaking Deprecation for legacy inventory behavior is extended to all apps. To learn more, refer to [Migrating to support multiple locations](https://shopify.dev/docs/api/admin-rest/latest/resources/location#deprecation-schedule). **Removed fields** * `inventory_quantity_adjustment` field was removed from `Product Variant` * `inventory_quantity` field was removed from `Product Variant` * `restock` field was removed from `Refund` **Required fields** * `location_id` is required when creating fulfillments * `location_id` and `restock_type` are required when creating refunds ### 3D Secure support The checkout payment flow now supports customer authentication with 3D Secure. To learn more, refer to [Authenticating payments with 3D Secure](https://shopify.dev/docs/apps/build/payments). ### Checkout * Added the `next_action` property for authenticating payments with 3D Secure. ### Payment * Added the `next_action` property for authenticating payments with 3D Secure. ### Changes to webhooks The following changes have been made to the [Webhook](https://shopify.dev/docs/api/admin-rest/latest/resources/webhook) resource: **New properties** * `private_metafield_namespaces` was added. It accepts an optional array of namespaces for any private metafields that should be included with each webhook. Payloads include only the private metafields that were created through the app itself. **New topics** * `locales/create` was added as part of the new [translation feature for the GraphQL Admin API](#graphql-admin-api-changes). * `locales/update` was added as part of the new [translation feature for the GraphQL Admin API](#graphql-admin-api-changes). *** ## Graph​QL Admin API changes Below are all the changes introduced in the 2019-10 version of the GraphQL Admin API. ### Delivery profiles #### Breaking Delivery profiles store the advanced shipping information about the delivery methods and rates that apply to specific products. To learn more, refer to [Manage delivery profiles](https://shopify.dev/docs/apps/build/purchase-options/deferred/delivery-and-deferment/build-delivery-profiles). **Removed fields and types** * `activatedCarrierServices` field was removed from QueryRoot * `DeliveryCarrierServiceConnection` type was removed **New types** * [MethodDefinitionSortKeys](https://shopify.dev/docs/api/admin-graphql/latest/enums/methoddefinitionsortkeys) enum was added * [DeliveryLegacyModeBlockedReason](https://shopify.dev/docs/api/admin-graphql/latest/objects/deliverylegacymodeblockedreason) enum was added * [DeliveryLegacyModeBlocked](https://shopify.dev/docs/api/admin-graphql/latest/objects/deliverylegacymodeblocked) object was added **Updated types** * `leaveLegacyModeProfiles` input argument was added to [`deliveryProfileUpdate`](https://shopify.dev/docs/api/admin-graphql/latest/objects/deliveryprofileupdate) * `sortKey` argument was added to [`DeliveryLocationGroupZone.methodDefinitions`](https://shopify.dev/docs/api/admin-graphql/latest/objects/deliverylocationgroupzone) * `eligible` argument was added to [`DeliveryLocationGroupZone.methodDefinitions`](https://shopify.dev/docs/api/admin-graphql/latest/objects/deliverylocationgroupzone) **New fields** * `locationsAvailableForDeliveryProfilesConnection` was added to [`QueryRoot`](https://shopify.dev/docs/api/admin-graphql/latest/objects/queryroot) * `legacyModeBlocked` was added to [`DeliverySetting`](https://shopify.dev/docs/api/admin-graphql/latest/objects/deliverysetting) * `includeAllProvinces` was added to [`DeliveryCountryInput`](https://shopify.dev/docs/api/admin-graphql/latest/objects/deliverycountryinput) **New mutations** * [deliveryShippingOriginAssign](https://shopify.dev/docs/api/admin-graphql/latest/objects/deliveryshippingoriginassign) mutation was added ### Inventory #### Breaking Deprecation for legacy inventory behavior is extended to all apps. To learn more, refer to [Migrating to support multiple locations](https://shopify.dev/docs/api/admin-rest/latest/resources/location#deprecation-schedule). **Removed fields** * `restock` field was removed from `RefundInput` * `inventoryQuantityAdjustment` field was removed from `ProductVariantInput` * `inventoryQuantity` field was removed from `ProductVariantInput` ### Bulk operations With bulk operations, you can fetch data asynchronously in bulk. To learn more, refer to [Performing bulk operations with GraphQL](https://shopify.dev/docs/api/usage/bulk-operations/queries). **New types** * [BulkOperation](https://shopify.dev/docs/api/admin-graphql/latest/objects/bulkoperation) object was added * [BulkOperationStatus](https://shopify.dev/docs/api/admin-graphql/latest/enums/bulkoperationstatus) object was added * [BulkOperationErrorCode](https://shopify.dev/docs/api/admin-graphql/latest/enums/BulkOperationErrorCode) enum was added **New fields** * `currentBulkOperation` field was added to [QueryRoot](https://shopify.dev/docs/api/admin-graphql/latest/objects/queryroot) **New mutations** * [bulkOperationCancel](https://shopify.dev/docs/api/admin-graphql/latest/mutations/bulkoperationcancel) mutation was added * [bulkOperationRunQuery](https://shopify.dev/docs/api/admin-graphql/latest/mutations/bulkoperationrunquery) mutation was added ### Translated content for resources You can manage translated content for multiple languages for Shopify resources. To learn more, refer to [examples for retrieving translated content](https://shopify.dev/docs/api/admin-graphql/latest/queries/translatableResource#section-examples). **New types** * [HasPublishedTranslations](https://shopify.dev/docs/api/admin-graphql/latest/interfaces/HasPublishedTranslations) interface was added * [TranslationInput](https://shopify.dev/docs/api/admin-graphql/latest/input-objects/translationinput) input object was added * [TranslationErrorCode](https://shopify.dev/docs/api/admin-graphql/latest/objects/translationerrorcode) enum was added * [TranslationUserError](https://shopify.dev/docs/api/admin-graphql/latest/objects/translationusererror) enum was added * [ShopLocaleInput](https://shopify.dev/docs/api/admin-graphql/latest/input-objects/shoplocaleinput) input object was added * [TranslatableResourceType](https://shopify.dev/docs/api/admin-graphql/latest/enums/translatableresourcetype) enum was added * [Translation](https://shopify.dev/docs/api/admin-graphql/latest/objects/translation) object was added * [TranslatableContent](https://shopify.dev/docs/api/admin-graphql/latest/objects/translatablecontent) object was added * [TranslatableResource](https://shopify.dev/docs/api/admin-graphql/latest/objects/translatableresource) object was added * [ShopLocale](https://shopify.dev/docs/api/admin-graphql/latest/objects/shoplocale) object was added * [PublishedTranslation](https://shopify.dev/docs/api/admin-graphql/latest/objects/publishedtranslation) object was added **Updated types** * [Link](https://shopify.dev/docs/api/admin-graphql/latest/objects/link) object implements [HasPublishedTranslations](https://shopify.dev/docs/api/admin-graphql/latest/interfaces/haspublishedtranslations) interface * [OnlineStoreBlog](https://shopify.dev/docs/api/admin-graphql/latest/objects/onlinestoreblog) object implements [HasPublishedTranslations](https://shopify.dev/docs/api/admin-graphql/latest/interfaces/haspublishedtranslations) interface * [ProductVariant](https://shopify.dev/docs/api/admin-graphql/latest/objects/productvariant) object implements [HasPublishedTranslations](https://shopify.dev/docs/api/admin-graphql/latest/interfaces/haspublishedtranslations) interface * [OnlineStorePage](https://shopify.dev/docs/api/admin-graphql/latest/objects/onlinestorepage) object implements [HasPublishedTranslations](https://shopify.dev/docs/api/admin-graphql/latest/interfaces/haspublishedtranslations) interface * [ProductOption](https://shopify.dev/docs/api/admin-graphql/latest/objects/ProductOption) object implements [HasPublishedTranslations](https://shopify.dev/docs/api/admin-graphql/latest/interfaces/haspublishedtranslations) interface * [LOCALES\_UPDATE](https://shopify.dev/docs/api/admin-graphql/latest/enums/webhooksubscriptiontopic) was added to enum WebhookSubscriptionTopic * [Product](https://shopify.dev/docs/api/admin-graphql/latest/objects/product) object implements [HasPublishedTranslations](https://shopify.dev/docs/api/admin-graphql/latest/interfaces/haspublishedtranslations) interface * [LOCALES\_CREATE](https://shopify.dev/docs/api/admin-graphql/latest/enums/webhooksubscriptiontopic) was added to enum WebhookSubscriptionTopic * [Collection](https://shopify.dev/docs/api/admin-graphql/latest/objects/collection) object implements [HasPublishedTranslations](https://shopify.dev/docs/api/admin-graphql/latest/interfaces/haspublishedtranslations) interface * [OnlineStoreArticle](https://shopify.dev/docs/api/admin-graphql/latest/objects/onlinestorearticle) object implements [HasPublishedTranslations](https://shopify.dev/docs/api/admin-graphql/latest/interfaces/haspublishedtranslations) interface * [Shop](https://shopify.dev/docs/api/admin-graphql/latest/objects/shop) object implements [HasPublishedTranslations](https://shopify.dev/docs/api/admin-graphql/latest/interfaces/haspublishedtranslations) interface **New fields** * `translatableResources` was added to [`QueryRoot`](https://shopify.dev/docs/api/admin-graphql/latest/objects/queryroot) * `translatableResource` was added to [`QueryRoot`](https://shopify.dev/docs/api/admin-graphql/latest/objects/queryroot) * `shopLocales` was added to [`QueryRoot`](https://shopify.dev/docs/api/admin-graphql/latest/objects/queryroot) * `translations` was added to [`Shop`](https://shopify.dev/docs/api/admin-graphql/latest/objects/shop) * `translations` was added to [`ProductVariant`](https://shopify.dev/docs/api/admin-graphql/latest/objects/productvariant) * `translations` was added to [`ProductOption`](https://shopify.dev/docs/api/admin-graphql/latest/objects/ProductOption) * `translations` was added to [`Product`](https://shopify.dev/docs/api/admin-graphql/latest/objects/product) * `translations` was added to [`Collection`](https://shopify.dev/docs/api/admin-graphql/latest/objects/collection) * `translations` was added to [`Link`](https://shopify.dev/docs/api/admin-graphql/latest/objects/link) * `translations` was added to [`OnlineStorePage`](https://shopify.dev/docs/api/admin-graphql/latest/objects/onlinestorepage) * `translations` was added to [`OnlineStoreBlog`](https://shopify.dev/docs/api/admin-graphql/latest/objects/onlinestoreblog) * `translations` was added to [`OnlineStoreArticle`](https://shopify.dev/docs/api/admin-graphql/latest/objects/onlinestorearticle) **New mutations** * [translationsRemove](https://shopify.dev/docs/api/admin-graphql/latest/mutations/translationsremove) was added * [translationsRegister](https://shopify.dev/docs/api/admin-graphql/latest/mutations/translationsregister) mutation was added * [shopLocaleUpdate](https://shopify.dev/docs/api/admin-graphql/latest/mutations/shoplocaleupdate) mutation was added * [shopLocaleEnable](https://shopify.dev/docs/api/admin-graphql/latest/mutations/shoplocaleenable) mutation was added * [shopLocaleDisable](https://shopify.dev/docs/api/admin-graphql/latest/mutations/shoplocaledisable) mutation was added ### Private metafields Private metafields are additional fields for Shopify resources. Unlike standard metafields, private metafields are visible only to the app that created them. To learn more, refer to [Working with metafields using the GraphQL Admin API](https://shopify.dev/docs/apps/build/custom-data/metafields). **New types** * [PrivateMetafield](https://shopify.dev/docs/api/admin-graphql/latest/objects/privatemetafield) was added * [PrivateMetafieldDeleteInput](https://shopify.dev/docs/api/admin-graphql/latest/input-objects/privatemetafielddeleteinput) was added * [PrivateMetafieldValueInput](https://shopify.dev/docs/api/admin-graphql/latest/input-objects/privatemetafieldvalueinput) was added * [PrivateMetafieldInput](https://shopify.dev/docs/api/admin-graphql/latest/input-objects/privatemetafieldinput) was added * [PrivateMetafieldValueType](https://shopify.dev/docs/api/admin-graphql/latest/enums/privatemetafieldvaluetype) was added **New fields** * `privateMetafields` was added to [`QueryRoot`](https://shopify.dev/docs/api/admin-graphql/latest/objects/queryroot) * `privateMetafield` was added to [`QueryRoot`](https://shopify.dev/docs/api/admin-graphql/latest/objects/queryroot) * `privateMetafields` was added to [`ProductInput`](https://shopify.dev/docs/api/admin-graphql/latest/input-objects/productinput) * `privateMetafields` was added to [`DraftOrderInput`](https://shopify.dev/docs/api/admin-graphql/latest/input-objects/DraftOrderInput) * `privateMetafields` was added to [`CustomerInput`](https://shopify.dev/docs/api/admin-graphql/latest/input-objects/CustomerInput) * `privateMetafields` was added to [`CollectionInput`](https://shopify.dev/docs/api/admin-graphql/latest/input-objects/CollectionInput) * `privateMetafields` was added to [`ProductVariantInput`](https://shopify.dev/docs/api/admin-graphql/latest/input-objects/ProductVariantInput) * `privateMetafields` was added to [`Shop`](https://shopify.dev/docs/api/admin-graphql/latest/objects/shop) * `privateMetafield` was added to [`Shop`](https://shopify.dev/docs/api/admin-graphql/latest/objects/shop) * `privateMetafields` was added to [`DraftOrder`](https://shopify.dev/docs/api/admin-graphql/latest/objects/draftorder) * `privateMetafield` was added to [`DraftOrder`](https://shopify.dev/docs/api/admin-graphql/latest/objects/draftorder) * `privateMetafields` was added to [`Order`](https://shopify.dev/docs/api/admin-graphql/latest/objects/order) * `privateMetafield` was added to [`Order`](https://shopify.dev/docs/api/admin-graphql/latest/objects/order) * `privateMetafields` was added to [`Customer`](https://shopify.dev/docs/api/admin-graphql/latest/objects/customer) * `privateMetafield` was added to [`Customer`](https://shopify.dev/docs/api/admin-graphql/latest/objects/customer) * `privateMetafields` was added to [`ProductVariant`](https://shopify.dev/docs/api/admin-graphql/latest/objects/productvariant) * `privateMetafield` was added to [`ProductVariant`](https://shopify.dev/docs/api/admin-graphql/latest/objects/productvariant) * `privateMetafields` was added to [`Product`](https://shopify.dev/docs/api/admin-graphql/latest/objects/product) * `privateMetafield` was added to [`Product`](https://shopify.dev/docs/api/admin-graphql/latest/objects/product) * `privateMetafields` was added to [`Collection`](https://shopify.dev/docs/api/admin-graphql/latest/objects/collection) * `privateMetafield` was added to [`Collection`](https://shopify.dev/docs/api/admin-graphql/latest/objects/collection) * `privateMetafields` was added to [`HasMetafields`](https://shopify.dev/docs/api/admin-graphql/latest/interfaces/hasmetafields) * `privateMetafield` was added to [`HasMetafields`](https://shopify.dev/docs/api/admin-graphql/latest/interfaces/hasmetafields) * `privateMetafields` was added to [`Image`](https://shopify.dev/docs/api/admin-graphql/latest/objects/image) * `privateMetafield` was added to [`Image`](https://shopify.dev/docs/api/admin-graphql/latest/objects/image) **New mutations** * [privateMetafieldUpsert](https://shopify.dev/docs/api/admin-graphql/latest/mutations/privatemetafieldupsert) mutation was added * [privateMetafieldDelete](https://shopify.dev/docs/api/admin-graphql/latest/mutations/privatemetafielddelete) mutation was added ### Shipping lines The following missing fields that were available in the REST Admin API were added to the ShippingLine object type. **New fields** * `carrierIdentifier` was added to [`ShippingLine`](https://shopify.dev/docs/api/admin-graphql/latest/objects/ShippingLine) * `source` was added to [`ShippingLine`](https://shopify.dev/docs/api/admin-graphql/latest/objects/ShippingLine) * `requestedFulfillmentService` was added to [`ShippingLine`](https://shopify.dev/docs/api/admin-graphql/latest/objects/ShippingLine) * `phone` was added to [`ShippingLine`](https://shopify.dev/docs/api/admin-graphql/latest/objects/ShippingLine) * `id` was added to [`ShippingLine`](https://shopify.dev/docs/api/admin-graphql/latest/objects/ShippingLine) * `deliveryCategory` was added to [`ShippingLine`](https://shopify.dev/docs/api/admin-graphql/latest/objects/ShippingLine) * `code` was added to [`ShippingLine`](https://shopify.dev/docs/api/admin-graphql/latest/objects/ShippingLine) * `taxLines` was added to [`ShippingLine`](https://shopify.dev/docs/api/admin-graphql/latest/objects/ShippingLine) ### Minor non-breaking changes **Updated types** * `SLL` was added to [`CurrencyCode`](https://shopify.dev/docs/api/admin-graphql/latest/enums/currencycode) * `TOP` was added to [`CurrencyCode`](https://shopify.dev/docs/api/admin-graphql/latest/enums/currencycode) * `TJS` was added to [`CurrencyCode`](https://shopify.dev/docs/api/admin-graphql/latest/enums/currencycode) * `DJF` was added to [`CurrencyCode`](https://shopify.dev/docs/api/admin-graphql/latest/enums/currencycode) * `LYD` was added to [`CurrencyCode`](https://shopify.dev/docs/api/admin-graphql/latest/enums/currencycode) * `IRR` was added to [`CurrencyCode`](https://shopify.dev/docs/api/admin-graphql/latest/enums/currencycode) **New fields** * `statusTransitionedAt` was added to object type [`MarketingActivity`](https://shopify.dev/docs/api/admin-graphql/latest/objects/marketingactivity) * `taxCode` was added to object type [`ProductVariant`](https://shopify.dev/docs/api/admin-graphql/latest/objects/productvariant) *** ## Storefront API changes Below are all the changes introduced in the 2019-10 version of the [Storefront API](https://shopify.dev/docs/api/storefront/reference). ### 3D Secure support The checkout payment flow now supports customer authentication with 3D Secure. To learn more, refer to [Authenticating payments with 3D Secure](https://shopify.dev/docs/apps/build/payments). **New fields** * `nextActionUrl` was added to [Payment](https://shopify.dev/docs/api/storefront/reference/checkouts/payment#nextactionurl-2019-10) ### Minor non-breaking changes * `SLL` was added to [CurrencyCode](https://shopify.dev/docs/api/storefront/latest/enums/currencycode) * `TOP` was added to [CurrencyCode](https://shopify.dev/docs/api/storefront/latest/enums/currencycode) * `TJS` was added to [CurrencyCode](https://shopify.dev/docs/api/storefront/latest/enums/currencycode) * `DJF` was added to [CurrencyCode](https://shopify.dev/docs/api/storefront/latest/enums/currencycode) * `LYD` was added to [CurrencyCode](https://shopify.dev/docs/api/storefront/latest/enums/currencycode) * `IRR` was added to [CurrencyCode](https://shopify.dev/docs/api/storefront/latest/enums/currencycode) * `GNF` was added to [CurrencyCode](https://shopify.dev/docs/api/storefront/latest/enums/currencycode) ### Corresponding Buy SDK versions | SDK | Supported Versions | | - | - | | Mobile Buy SDK Android | 3.6.0 | | Mobile Buy SDK iOS | 3.6.1 | | Unity Buy SDK | 1.2.0 | | JS Buy SDK | 2.8.0, 2.8.1 | | Buy Button JS | N/A | *** * [Breaking changes](https://shopify.dev/docs/api/release-notes/previous-versions/2019-10#breaking-changes) * [Developer preview](https://shopify.dev/docs/api/release-notes/previous-versions/2019-10#developer-preview) * [REST Admin API changes](https://shopify.dev/docs/api/release-notes/previous-versions/2019-10#rest-admin-api-changes) * [Graph​QL Admin API changes](https://shopify.dev/docs/api/release-notes/previous-versions/2019-10#graphql-admin-api-changes) * [Storefront API changes](https://shopify.dev/docs/api/release-notes/previous-versions/2019-10#storefront-api-changes)