Shopify Developers Release Notes

Last updated: Nov 5, 2025

  • Nov 5, 2025
    • Parsed from source:
      Nov 5, 2025
    • Detected by Releasebot:
      Nov 5, 2025

    Shopify Developers by Shopify

    tax_summaries/create webhook and taxSummaryCreate mutation now available

    Shopify API 2026-01 adds tax_summaries/create webhook and taxSummaryCreate mutation for Tax Partner Apps. Enables generation of tax summaries by order or bulk, triggered by fulfillments and refunds, with rich tax data. Includes access scope write_taxes and onboarding details.

    What's New

    The taxSummaryCreate mutation enables apps to request the generation of tax summaries for orders. The tax_summaries/create webhook is triggered by events that may affect tax liability, such as fulfillments and refunds.

    Using the Mutation

    The mutation accepts either a specific order ID or a time range for bulk processing:

    mutation {
      taxSummaryCreate(orderId: "gid://shopify/Order/123456789") {
        enqueuedOrders {
          id
        }
        userErrors {
          field
          message
        }
      }
    }
    

    Webhook Payload

    The tax_summaries/create webhook provides comprehensive tax data, including:

    • Sales agreements and associated sales details
    • Delivery groups with fulfillment information
    • Tax exemption details
    • Return sales types for refund workflows
    • Order context and financial status

    Requirements

    • Access Scope: write_taxes
    • Tax Platform Access: Tax Platform features

    Learn More

    For information about the Tax Platform and partnership opportunities, see Building tax apps.

    Original source Report a problem
  • Nov 1, 2025
    • Parsed from source:
      Nov 1, 2025
    • Detected by Releasebot:
      Nov 1, 2025

    Shopify Developers by Shopify

    Order Update Phone Field Public

    Admin API 2026-01 Update

    As of Admin API 2026-01, the phone field is now publicly available in the orderUpdate mutation's OrderInput. This field allows developers to update the customer phone number for an order, overwriting the existing phone number.

    This change brings parity with the REST API, which already supports updating the phone field through the Order resource. The phone field is particularly useful for maintaining accurate customer contact information, especially for SMS notifications and order-related communications.

    Implementation details

    For implementation details, refer to the orderUpdate mutation documentation.

    Original source Report a problem
  • Oct 31, 2025
    • Parsed from source:
      Oct 31, 2025
    • Detected by Releasebot:
      Oct 31, 2025

    Shopify Developers by Shopify

    New Queries for Bulk Operations

    New Admin API GraphQL queries unlock bulk operations at scale with bulkOperations and bulkOperation. Enhanced filtering, sorting, and pagination give full visibility and easier debugging for all bulk tasks, while older bulk workflows are deprecated.

    What's Changed

    Here's an overview of the updates:

    New Bulk Operations Retrieval Queries

    We have added two new queries for accessing your bulk operations:

    • bulkOperations: A connection-based query that returns a paginated list of all your bulk operations, complete with filtering and sorting options.
    • bulkOperation: A single-object query that retrieves a specific bulk operation by its ID.

    Enhanced Filtering and Search Capabilities

    The bulkOperations connection now supports flexible querying with the following features:

    • Status Filtering: Locate operations by status (e.g., canceled, completed, running).
    • Type Filtering: Filter operations by type (query or mutation).
    • Date Filtering: Search for operations created before or after a specific date.
    • Sorting Options: Sort operations by created_at, completed_at, or status in ascending or descending order.
    • Search Syntax: Use field:value patterns for precise filtering.

    What You Need to Do

    Depending on your requirements, follow these steps:

    To List and Filter Bulk Operations

    Utilize the bulkOperations connection query with search syntax:

    query {
      bulkOperations(
        first: 10
        query: "status:completed operation_type:query created_at:>2025-10-10"
        sortKey: CREATED_AT
        reverse: true
      ) {
        edges {
          node {
            id
            status
            query
            createdAt
            completedAt
            url
          }
        }
        pageInfo {
          hasNextPage
          hasPreviousPage
        }
      }
    }
    

    To Retrieve a Specific Bulk Operation

    Use the bulkOperation query:

    query {
      bulkOperation(id: "gid://shopify/BulkOperation/123456789") {
        id
        status
        query
        createdAt
        completedAt
        url
        errorCode
      }
    }
    

    If You're Using Existing Bulk Operation Workflows

    No changes are necessary. The current Bulk Operation can still be used but is being deprecated.

    Why We Made This Change

    Previously, you could only access the most recent bulk operation through current Bulk Operation. These new queries offer:

    • Complete visibility into all your bulk operations, not just the current one.
    • Enhanced debugging capabilities by filtering operations by status or date.
    • Efficient pagination for managing large numbers of operations.
    • Simplified monitoring, debugging, and management of bulk operations at scale.

    Learn More

    • Bulk Operations Queries Guide
    Original source Report a problem
  • Oct 31, 2025
    • Parsed from source:
      Oct 31, 2025
    • Detected by Releasebot:
      Oct 31, 2025

    Shopify Developers by Shopify

    Support metafield and metaobject standards in Declarative Custom Data Definitions

    We now support enabling and referencing standard metafield and metaobject definitions through an app’s TOML file. Key benefits include:

    • Standard metafield and metaobject definitions can be enabled through TOML, and managed through the app dev or app deploy command.
    • Shopify automatically distributes these definitions to multiple shops simultaneously, significantly speeding up migration processes.
    • Updates are atomic, ensuring that all stores consistently maintain the same version of your definitions.

    For more information, see the custom data documentation on shopify.dev.

    Original source Report a problem
  • Oct 30, 2025
    • Parsed from source:
      Oct 30, 2025
    • Detected by Releasebot:
      Oct 31, 2025

    Shopify Developers by Shopify

    The cartDiscountCodeUpdate mutation now requires the discountCodes field

    The cartDiscountCodeUpdate mutation now requires the discountCodes field

    As part of the GraphQL Storefront API 2026-01 release, the cartDiscountCodesUpdate mutation now requires the discountCodes agrument to be included. Previously, the cartDiscountCodesUpdate mutation would accept a mutation with no discountCodes argument, which would not actually modify the cart in any way.

    For more information about the Cart object and its related mutations, visit Shopify.dev.

    Original source Report a problem
  • Oct 30, 2025
    • Parsed from source:
      Oct 30, 2025
    • Detected by Releasebot:
      Oct 31, 2025

    Shopify Developers by Shopify

    Built for Shopify apps get priority visibility across the Shopify App Store

    Built for Shopify apps get a visibility upgrade in the App Store with a homepage spotlight, priority placement on category pages, and clickable BFS badges for merchant education. The changes boost discovery while complementing existing BFS benefits.

    What's new

    • Homepage spotlight: BFS now appears in the featured header section of the App Store homepage, giving certified apps maximum exposure to browsing merchants.
    • Priority recommendations: BFS apps receive preferential positioning on some category pages.
    • Interactive BFS badge: All BFS badges across the App Store are now clickable to provide merchant education on BFS standards.

    These enhancements work alongside existing Built for Shopify benefits including ranking boosts and the BFS search filter, making Built for Shopify the most effective way to maximize your app’s visibility and discovery potential in the App Store.

    Original source Report a problem
  • Oct 29, 2025
    • Parsed from source:
      Oct 29, 2025
    • Detected by Releasebot:
      Oct 30, 2025

    Shopify Developers by Shopify

    Bulk operations group objects default changed to false

    GraphQL Admin API bulk ops get faster with groupObjects now defaulting to false for queries and deprecated for mutations. Clear guidance helps apps scale with more reliable, faster outputs while letting you opt into grouped output only if needed.

    We have optimized the output of bulk operations in the GraphQL Admin API to enhance speed and reliability.

    What's Changed

    Bulk Queries (bulkOperationRunQuery)

    The groupObjects argument now defaults to false. Grouping objects can slow down operations and increase failure rates, especially with large datasets.

    Bulk Mutations (bulkOperationRunMutation)

    The groupObjects argument is now deprecated. It does not affect the order of output files because mutation outputs do not have parent objects.

    What You Need to Do

    If You're Running Bulk Queries

    • To maintain grouped output: Set groupObjects: true.

    If You're Running Bulk Mutations

    • Remove the groupObjects argument from your queries. This will not impact the output files.

    Why We Made This Change

    Most applications do not require grouped output and the associated overhead negatively impacts performance. These changes deliver faster, more predictable results that are easier to process at scale. Enable groupObjects only if your application specifically depends on the grouped output format. As this was the default behavior previously, you can verify on any version after 2025-07 by setting groupObjects to false and testing your application.

    For optimal performance, omit groupObjects on or after 2026-01, and disable this option if you are on 2025-07 or 2025-10.

    Learn More

    • Bulk Operations Queries Guide
    • Bulk Operations Imports Guide
    • Working with JSONL Output
    Original source Report a problem
  • Oct 27, 2025
    • Parsed from source:
      Oct 27, 2025
    • Detected by Releasebot:
      Oct 28, 2025

    Shopify Developers by Shopify

    Optional location inputs for inventory transfers

    Inventory transfers can be created without specifying origin or destination locations, allowing unknown origins at creation. The change is non breaking and optional inputs improve workflows; apps can adapt by treating origin or destination as optional. No action required for existing apps.

    Change

    You can now create inventory transfers without specifying an origin or destination location.
    Previously, the Inventory Transfer Create As Ready To Ship mutation required both origin and destination location IDs.
    Now, these inputs are optional. This change supports workflows where the transfer's origin or destination is unknown at creation time.

    Note

    You must provide at least one of origin or location as input to validate the mutation.

    Example

    mutation OmitOriginExample {
      inventoryTransferCreateAsReadyToShip(
        input: {
          lineItems: [
            { inventoryItemId: "gid://shopify/InventoryItem/...", quantity: 5 }
          ]
          originLocationId: null,
          destinationLocationId: "gid://shopify/Location/...",
        }
      ) {
        inventoryTransfer {
          id
          status
          origin { name }
          destination { name }
        }
      }
    }
    

    What you need to do

    Nothing.
    This isn't a breaking change. No action is required. Existing apps that provide IDs for inventory transfer origins or destinations will continue to function correctly. If your app previously required these fields, then you can update your validation logic to treat them as optional.

    Original source Report a problem
  • Oct 24, 2025
    • Parsed from source:
      Oct 24, 2025
    • Detected by Releasebot:
      Oct 27, 2025

    Shopify Developers by Shopify

    Increased limits in metafield and metaobject definitions

    Shopify raises metafield and metaobject limits to empower richer data structures and larger catalogs. Apps gain dedicated allocation for up to 128 definitions per resource type; merchants see up to 256 definitions per type, and metaobject entries soar to 1,000,000 per definition.

    We've increased the limits for metafield and metaobject definitions, providing you with more flexibility when building custom data structures for your apps and stores.

    • For app developers: Each app has its own allocation, so apps aren't competing with each other for definition space.
    • For merchants: Higher limits support complex workflows across multiple apps and meet custom data needs.
    • For metaobject entries: The 1,000,000 entry limit per definition removes previous plan-based restrictions of 64,000 (non-Plus) and 128,000 (Plus).

    With these new limits, you can:

    • Create more granular data structures in your apps.
    • Support larger catalogs and content libraries.
    • Build apps with richer metadata without worrying about hitting limits.

    Changes to metaobject definitions

    App definitions

    • Each app installed on a shop can create up to 128 metaobject definitions

    Merchant definitions

    • 128 definitions for Basic, Shopify, and Advanced plans
    • 256 definitions for Plus and Enterprise plans

    Metaobject entries

    • Up to 1,000,000 entries per definition

    Changes to metafield definitions

    App definitions

    • Each app can create up to 128 definitions per resource type

    Merchant definitions

    • 256 definitions per resource type

    Note

    Standard metaobject and metafield definitions do not count towards these limits.

    Learn more

    • Metaobject limits
    • Metafield limits
    • Metaobjects overview
    • Metafields overview
    Original source Report a problem
  • Oct 24, 2025
    • Parsed from source:
      Oct 24, 2025
    • Detected by Releasebot:
      Oct 27, 2025

    Shopify Developers by Shopify

    New ACH support for deferred payments

    Shopify Admin GraphQL API adds ACH bank account payments, enabling merchants to accept and manage bank-based payments. New Bank Account instrument type and updated unions unlock B2B terms and draft orders—upgrade to access the new methods.

    The 2026-01 Admin GraphQL API introduces support for ACH payment methods, enabling merchants to accept and manage bank account-based payments through Shopify Payments. This means new types of PaymentInstrument and CustomerPaymentInstrument are now available for B2B company locations, supporting payment terms and draft orders. If your integration manages the payment lifecycle of those ways to sell, consider upgrading. If you are not on the latest version of the API, you will not find these available payment methods.

    New Objects

    • Bank Account - Represents a bank account payment instrument

    Updated Types

    • Payment Instrument union - Now includes Bank Account
    • Customer Payment Instrument union - Now includes Bank Account
    Original source Report a problem

Related products