Storefront API now returns errors when adding a gift card to a cart with missing or invalid recipient details
As of API version 2026-01 , the Storefront API returns a GIFT_CARD_RECIPIENT_INVALID error when adding a gift card to a cart with missing or invalid recipient details, such as in this example .
Also shipped Dec 19, 2025Shopify in December 2025 →
Sync Stripe Data to Your Supabase Database in One Click
Supabase now provides an official integration to sync Stripe data directly into a Supabase database with a single click.
The little things, week ending December 19, 2025
A collection of updates to Replicate for the week ending December 19, 2025.
Modal 1.3.0
Modal now supports Python 3.14. Python 3.14t (the free-threading build) support is currently a work in progress, because we are waiting for dependencies to be updated with free-threaded support. Additionally, Modal no longer supports Python 3.9, which has reached end-of-life.
Qdrant 1.16.3
Change log Improvements #7755 , #7588 - Respect search and point retrieve timeout when trying to access segments #7685 - Respect telemetry timeout when fetching shard statistics #7715 - Log snapshot download duration and speed Bug fixes #7787 , #7791 - Fix WAL delta transfer corrupting replica after a previous full transfer was aborted #7801 , #7805 - Fix...
Project recovery, 100 Free plan projects, and MCP quick setup release - Dec 19, 2025
Project recovery. Accidentally deleted a project? You can now recover it within 7 days of deletion. This feature restores your entire project infrastructure, in...
What's new in Sigma
Admin Account type permissions for reports The following account type permissions are now available to enable access to reports: View reports : Enables users to view reports shared with them. Create, edit, and publish reports : Enables users to create new reports, manage existing ones, and share published versions.
More from Shopify developer platformEvery Shopify developer platform release →
Removing `permitsSkuSharing` field from fulfillment service
As of API version 2026-04, we've removed the permitsSkuSharing field from the FulfillmentService object and from the fulfillmentServiceCreate and fulfillmentServiceUpdate mutations. SKU sharing will be enabled by default for all fulfillment services.
Conversion tracking fields added to MarketingEngagementCreate
To improve the integration of marketing platforms that track conversions beyond traditional sales metrics, we have added new fields to the MarketingEngagementCreateInput and MarketingEngagement objects on the MarketingEngagementCreate mutation. These enhancements enable more comprehensive data integration into Shopify's marketing reports.
Customer marketing URL fields now require write access
Effective immediately : The following customer-related fields now require the write_customers scope and the create_and_edit_customers permission: Customer.emailOpenTrackingUrl (deprecated) Customer.unsubscribeUrl (deprecated) CustomerEmailAddress.openTrackingUrl CustomerEmailAddress.marketingUnsubscribeUrl CustomerPhoneNumber.marketingUnsubscribeUrl Reason...
Discount Function support for rejecting discount codes
The Discount Function API now supports discount code rejection, allowing apps to conditionally reject discount codes with a custom message. With discount rejection for the Discount Function API, merchants can: Prevent double discounting on sale prices Manage fine-grained combinations of discount codes Disqualify certain products from discounts For more...
Deprecation of `Shop.billingAddress` in favor of `Shop.shopAddress`
As of API version 2026-01, the shopAddress field will be introduced to the Shop object in the GraphQL Admin API. This new field replaces the now-deprecated billingAddress field, which will be removed in a future version. shopAddress will have identical structure and values as billingAddress .
Set and retrieve `processedAt` in the `refundCreate` mutation
We have introduced a new processedAt input field to the refundCreate mutation . With this field, you can manage refund timestamps in your records more effectively. If you don't provide a processedAt value, then the current timestamp is used by default. This ensures that existing integrations continue to function without modification.
Venmo and PayPal are now treated as separate payment methods
Starting in API version 2026-01 , Venmo and PayPal are treated as separate payment methods when using payment customization functions. Previously, hiding PayPal's express checkout placement would automatically hide Venmo as well. With this change, you can now hide or show Venmo independently from PayPal in your payment customization logic.
Faster bulk operations
We've updated bulk operations in the GraphQL Admin API to process large datasets faster. What's new: Here's what we've done: Support for all mutations : Previously bulk mutations only supported a limited set of actions. Now, you can execute any mutation using bulk operations across all API versions.