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.
Also shipped Dec 16, 2025Shopify in December 2025 →
Own Your Observability: Supabase Metrics API
The Metrics API allows users to stream database telemetry into Prometheus-compatible observability stacks for monitoring and alerting.
AI Gateway now Generally Available
AI Gateway is now generally available (GA) for all Netlify users. Build AI-powered apps with confidence using our fully managed gateway that handles AI model keys, setup, and monitoring automatically. For a deeper dive into AI Gateway capabilities, check out our latest blog post.
New Prerender extension
The Prerender extension is now generally available (GA) for all Netlify users. The legacy prerendering feature is now deprecated with limited support. Once set up, this extension automatically serves pre-rendered HTML to crawlers, agents, and preview services, while regular site visitors continue to receive your standard JavaScript application.
Release of Mistral Small Creative
Mistral Small Creative (labs-mistral-small-creative) has been released as a Labs model.
- DuckDB 1.4.3: MotherDuck supports DuckDB 1.4.3, a bugfix release
- DuckDB 1.4.3: MotherDuck supports DuckDB 1.4.3, a bugfix release. Learn more in the official DuckDB Labs 1.4.3 announcement and changelog . PlanetScale Postgres integration: Users of PlanetScale Postgres can now use pg_duckdb to push analytical queries to MotherDuck.
Modal 1.2.6
- Fixed bug where iterating on a modal.Sandbox.exec output stream could raise unauthenticated errors.
More from Shopify developer platformEvery Shopify developer platform release →
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...
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.
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...
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.
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 .
Removal of payment method requirement on API created Subscription contracts
We've made it possible create subscription contracts without an attached payment method using the GraphQL Admin API. Contracts created through checkout will continue to require a payment method.