New fields are now available on cash management resources in the GraphQL Admin API, providing more detail about cash drawer balances and cash count activities. What's new Cash Drawer balance The CashDrawer object now exposes the current drawer balance directly: | Field | Description | |
AI Pulse
Your level is built by what you ship — not by what you read. Anthropic · Gemini · Vercel · OpenAI · your stack are listed below as a feed; the real progress is in the hero above.
- 01Publish a plugin to a marketplace+4 XP
- 02Write a public post about the persona crew framework+1 XP
- 03Open-source crew-monitor as a generic agent dashboard+3 XP
News & ecosystem updates
Auto-fetched every 6h. Mark items read / tried for personal organization — no XP attached.
Collaborator access is built on trust. When a merchant approves a request, they're giving a partner access to a live store — and merchants need enough context to make that decision with confidence. Building on identity verification for partners , merchants now see details about your partner organization on every new collaborator request. Here's what partners need to know. What changed When you send a collaborator request, merchants will see details about your partner organization directly in the
In February 2026, we introduced the shopify-account component , which lets customers sign in and manage their account directly on the storefront. It supports passwordless sign-in, automatic Sign in with Shop recognition, and social sign-in providers. Once signed in, customers can reach their account pages from the account menu. As of today, all new themes and updates to existing themes submitted to the Shopify Theme Store must include the component in their header, visible on both desktop and mo
As of August 31, 2026, changing the shipping address on an unfulfilled order through the orderUpdate GraphQL mutation recalculates the order's taxes against the new destination. Previously, orderUpdate saved the new address but left the original tax lines unchanged, so the order's totals no longer matched the destination it was shipping to. Why it matters The order's financial data is now corrected as part of the update, now totals stay accurate to the shipping destination. After updating a ship
Shopify Functions API version 2026-10 adds a createdAt field to the Customer object. You can now use the date and time a customer account was created in Function logic. This is an additive change; no action is required for existing Functions. What changed The Customer object now exposes createdAt , which returns the date and time when the customer account was created. This lets you build customizations based on when a customer joined. To use createdAt , request it from the customer on Cart.buyer
<h2>What's Changed</h2> <h3>Reliability</h3> <ul> <li> <p><strong>Edge-proxy blocks are now a diagnosable error</strong> (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4973274245" data-permission-text="Title is private" data-url="https://github.com/makenotion/notion-sdk-js/issues/751" data-hovercard-type="pull_request" data-hovercard-url="/makenotion/notion-sdk-js/pull/751/hovercard" href="https://github.com/makenotion/notion-sdk-js/pull/751">#751</a>)</p> <
<p>v21.4.0</p> <h3>🎉 New features</h3> <ul> <li>[eas-cli] Add experimental <code>eas simulator:events</code> command. (<a href="https://github.com/expo/eas-cli/pull/4001" data-hovercard-type="pull_request" data-hovercard-url="/expo/eas-cli/pull/4001/hovercard">#4001</a> by <a href="https://github.com/szdziedzic">@szdziedzic</a>)</li> <li>[build-tools] Collect and upload Argent tool-server session events during remote simulator sessions, mirroring agent-device event collection. (<a href="https:/
POS UI Extensions 2026-07 introduces the Printing API ( shopify.printing ), which enables extensions to discover hardware printers with getPrinters() and send documents directly to a connected receipt printer with print() . The Printing API supersedes shopify.print , which is now deprecated. No immediate action is required; plan to migrate when you adopt 2026-07 . What changed shopify.printing.getPrinters() returns the hardware printers available to the device. Each printer includes an id , name
<p>v21.3.0</p> <h3>🎉 New features</h3> <ul> <li>[eas-cli] Handle new server-side errors thrown when observe features are blocked. (<a href="https://github.com/expo/eas-cli/pull/4042" data-hovercard-type="pull_request" data-hovercard-url="/expo/eas-cli/pull/4042/hovercard">#4042</a> by <a href="https://github.com/douglowder">@douglowder</a>)</li> <li>[eas-cli] Add <code>eas project:icon:set</code> to upload a project icon from the command line. (<a href="https://github.com/expo/eas-cli/pull/4068
Starting in API version 2026-10, the GraphQL Admin API returns an error when a query filters by a metafield that isn't set up for filtering, instead of silently returning incorrect results. This is a breaking change. It affects apps that filter resources by metafield on version 2026-10 or later, and you'll need to update affected queries before you upgrade. What changed In API version 2026-10 and later, the GraphQL Admin API checks metafield filters before it runs a query. If a query filters by
<p>v21.2.0</p> <h3>🎉 New features</h3> <ul> <li>[eas-cli] Add <code>eas simulator:availability</code> to check whether EAS Simulator is enabled for the current project account. (<a href="https://github.com/expo/eas-cli/pull/4045" data-hovercard-type="pull_request" data-hovercard-url="/expo/eas-cli/pull/4045/hovercard">#4045</a> by <a href="https://github.com/gwdp">@gwdp</a>)</li> </ul> <h3>🧹 Chores</h3> <ul> <li>[eas-cli] Calibrate the experimental AI code reviewer's agent prompts and noise co
<p>v21.1.0</p> <h3>🎉 New features</h3> <ul> <li>[eas-cli] Prompt to select a platform in <code>eas simulator:start</code> when <code>--platform</code> is omitted, instead of erroring out. (<a href="https://github.com/expo/eas-cli/pull/4043" data-hovercard-type="pull_request" data-hovercard-url="/expo/eas-cli/pull/4043/hovercard">#4043</a> by <a href="https://github.com/szdziedzic">@szdziedzic</a>)</li> <li>[eas-build-job] Extend <code>app_store_connect.build_upload</code> workflow interpolation
<p>v21.0.3</p> <h3>🎉 New features</h3> <ul> <li>[eas-cli] Support drill-down from event lists in observe:session. (<a href="https://github.com/expo/eas-cli/pull/3987" data-hovercard-type="pull_request" data-hovercard-url="/expo/eas-cli/pull/3987/hovercard">#3987</a> by <a href="https://github.com/douglowder">@douglowder</a>)</li> </ul>
Apps can now subscribe to events for Order , Collection , InventoryItem , InventoryShipment , Location , and can subscribe to metafield changes on Product , Order , Customer , Collection and Location . ProductVariant metafields are supported through the Product topic. This gives apps a precise way to react to more objects and custom data changes. Apps can target the fields that matter in triggers , query the resource that changed, and avoid subscribing to every resource update just to diff paylo
The Liquid July ’26 developer preview introduces a simpler way to build theme pages. Page structure can live directly in a Liquid template, where developers and coding agents can read and edit everything in one place. The peview adds two Liquid tags: {% block %} renders a reusable theme block directly from a template. Name the block, pass its inputs, and provide body content much like you would with {% render %} . {% partial %} defines a named region of server-rendered HTML that JavaScript can r
For app developers, building merchant-facing analytics has always meant standing up your own stack: a charting library, a data warehouse to sync merchant data into, handling currencies and locales, and a UI that never quite matched the Shopify admin. With these updates, Shopify Analytics becomes a full-stack analytics platform that apps can build on directly, offloading the infrastructure to Shopify and putting your app's data where merchants already make decisions. Here's what shipped, and how
The physical inventory feature preview gives you early access to a new set of inventory APIs in the unstable version of the GraphQL Admin API. Enable it on a development store to build and test against the core primitives merchants use to organize a stockroom: bins, counts, and purchase orders. Because these APIs are under active development, they're available behind a feature preview. This lets you start building early and provide feedback on the schema and behavior before the APIs become stabl
<p>v21.0.2</p> <h3>🐛 Bug fixes</h3> <ul> <li>[eas-cli] Remove temporary working directories after <code>eas build:inspect</code> copies inspect output, avoiding leftover disk usage after failed builds. (<a href="https://github.com/expo/eas-cli/pull/3981" data-hovercard-type="pull_request" data-hovercard-url="/expo/eas-cli/pull/3981/hovercard">#3981</a> by <a href="https://github.com/szdziedzic">@szdziedzic</a>)</li> </ul> <h3>🧹 Chores</h3> <ul> <li>[eas-cli] Bump <code>tmp</code> to <code>0.2.
Shopify's card-deposit endpoint now requires a Shopify-issued mTLS client certificate. Apps that store cardholder data with the customerPaymentMethodCreditCardCreate and customerPaymentMethodCreditCardUpdate GraphQL Admin API mutations must first deposit that data at Shopify's /sessions card-deposit endpoint to receive a session identifier. That deposit call must present a Shopify-issued certificate by October 15, 2026 . This is a required change: after enforcement begins, deposit requests will
<h2>What's Changed</h2> <h3>New capabilities</h3> <ul> <li> <p><strong><code>filter.in_trash</code> on search</strong> (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4886260392" data-permission-text="Title is private" data-url="https://github.com/makenotion/notion-sdk-js/issues/748" data-hovercard-type="pull_request" data-hovercard-url="/makenotion/notion-sdk-js/pull/748/hovercard" href="https://github.com/makenotion/notion-sdk-js/pull/748">#748</a>)</p> <ul
As of Storefront API version 2026-10 , the @inContext directive accepts an optional channelId argument. Use channelId to apply a specific sales channel’s context to an entire query, including channel-specific product availability and pricing. Example: query Product($handle: String!, $channelId: ID!) @inContext(channelId: $channelId) { product(handle: $handle) { id title availableForSale priceRange { minVariantPrice { amount currencyCode } } } } Why it's changing The existing @inContext directive
Your app's name is what merchants use to discover, identify, and remember your app. We've added requirement 4.1.2, "Use a unique name for your app," to reduce merchant confusion over identical and copycat app names in Shopify’s App Store. We know that changing an app name isn't easy — it affects your brand, your discoverability, and your existing merchants. That's why this requirement establishes the standard now, while enforcement will roll out gradually. Affected apps will be audited in waves
<p>v21.0.1</p> <h3>🎉 New features</h3> <ul> <li>[eas-cli] Add <code>eas project:delete</code> command to delete a project — the current directory's project by default, or any project passed as an argument (<code>@account/slug</code> or ID). Confirmation requires the project's full name, typed at the interactive prompt or passed via <code>--dangerously-confirm-deletion</code> (required in non-interactive mode). Deletion requires sudo mode: the command prompts for your password (and OTP) to upgra
Starting with POS UI Extensions API version 2026-07, product bundle components in cart line item data include discount allocation details. Apps can access component-level discount allocations from bundle components on a cart line item, for example: shopify.cartLineItem.components?.[0]?.discountAllocations The same LineItem shape is also used in Cart API cart state, so apps that read line items from shopify.cart.current.value.lineItems can access component discount allocations on bundle component
<p>v21.0.0</p> <h3>🛠 Breaking changes</h3> <ul> <li>[eas-cli] Remove <code>eas onboarding</code> command (aliases <code>init:onboarding</code>, <code>project:onboarding</code>). (<a href="https://github.com/expo/eas-cli/pull/3993" data-hovercard-type="pull_request" data-hovercard-url="/expo/eas-cli/pull/3993/hovercard">#3993</a> by <a href="https://github.com/byronkarlen">@byronkarlen</a>)</li> </ul> <h3>🎉 New features</h3> <ul> <li>[eas-cli] Improve <code>eas workflow:create</code>: add a <co
<p>Here's everything that happened with Supabase in the last month:</p> <h2>OpenCode integrates with Supabase</h2> <a target="_blank" rel="noopener noreferrer" href="https://private-user-images.githubusercontent.com/30495040/619706965-4649228d-56e6-4d1b-a9bf-c84cbd2b95f2.png?jwt=eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3ODM4NTc5MTgsIm5iZiI6MTc4Mzg1NzYxOCwicGF0aCI6Ii8zMDQ5NTA0MC82MTk3MDY5NjUtNDY0OTIyOGQ
The pos.app.ready.data target runs for the entire POS session, letting your extension observe POS events and run background logic without rendering any UI surface. Use it for event observation, data storage, and calling non-visual background APIs. What you need to do Subscribe to Shopify POS events with shopify.addEventListener() : shopify.addEventListener('transactioncomplete', (event) => { console.log('Transaction complete', event); }); Supported events Supported events include: transactioncom
Trust is foundational to the Shopify Partner ecosystem. Partners take actions across Shopify that can directly affect merchants, and merchants need confidence when granting access to their stores. We’re introducing identity verification for partners to help protect merchants, reduce abuse, and make it harder for bad actors to operate, while creating a better experience for legitimate partners. What changed Starting today, Shopify Partners can complete identity verification before requesting coll
Hydrogen's July 8 developer preview adds new capabilities to the toolkit and extends the ways developers can build Shopify storefronts: Storefront API caching for catalog data WebMCP tools for in-browser AI agents Customer Account API support Same-origin predictive search Typed routes and redirects ShopifyScripts for the Shopify browser runtime and unified cart route handling To get started, visit the Hydrogen developer preview documentation . For a detailed breakdown of this release, read the f
We’ve made several updates to App Pricing: Increased plan limits: You can now create up to 8 public plans (previously 4) and 15 private plans (previously 10) per app. No-charge plan testing: Test app billing flows without generating real charges: During app review, reviewers can now select any of your existing plans, so you no longer need to create a dedicated test plan. In development stores, you can install your own apps and subscribe to any plan at no cost. Mark a plan as free to let other pa
<h2>What's Changed</h2> <h3>New capabilities</h3> <ul> <li> <p><strong>Webhook signature verification helpers</strong> (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4479435040" data-permission-text="Title is private" data-url="https://github.com/makenotion/notion-sdk-js/issues/722" data-hovercard-type="pull_request" data-hovercard-url="/makenotion/notion-sdk-js/pull/722/hovercard" href="https://github.com/makenotion/notion-sdk-js/pull/722">#722</a>)</p> <ul
Starting with POS UI extensions API version 2026-07, FixedAmount line item discounts passed to setLineItemDiscount and bulkSetLineItemDiscounts from the Cart API must represent a per-unit discount. Why it's changing In API version 2026-04 and earlier, apps could pass a total fixed discount for the entire line item, and Shopify POS automatically converted it to a per-unit value. In API version 2026-07, this conversion no longer occurs. The value you pass is interpreted directly as the discount ap
Developers using the Billing API can now begin preparing their apps to move to Shopify App Pricing. The first part of our migration tool lets you generate, review, edit, and test Shopify App Pricing plans before moving any existing merchant subscriptions. This gives you time to confirm that your pricing configuration is ready while your app continues using its current billing setup. Shopify App Pricing provides a standardized pricing experience across the Shopify App Store, plan selection, subsc
Shopify Flow now resolves an action’s runtime_url on every execution. When the runtime_url is changed and the app is redeployed, the new URL is automatically used by existing workflows the next time they run. Merchants no longer need to edit or re-save their workflows to use the updated URL. During local development, when you use shopify app dev , the runtime_url is also updated automatically in any development shops that have workflows using the action. This mirrors the behavior in production.
Your server-side code now has more control over how breaking changes to an action’s configuration fields are handled. Instead of failing validation when there’s a field mismatch, workflows that use older versions of an action will continue to execute, and Shopify will still send the request to the configured endpoint URL. Your server can then decide how to handle schema differences: for example, it can set default values for new required fields, ignore fields that were removed, or reject the req
<ul> <li>Data API OpenAPI spec at /rest/v1/ no longer accessible via anon/publishable key</li> <li>API_EXTERNAL_URL now includes /auth/v1 (SAML SSO moves to /auth/v1/sso/saml/*)</li> <li>PGRST_DB_SCHEMAS default drops the protected storage schema</li> </ul>
All apps published to Shopify’s App Store are subject to policy 1.3 “Always use honest and transparent review practices”. What’s changing: The Shopify App Store requirements policy 1.3 further clarifies our enforcement on the existing Partner Program Agreement Section C.2.1 on fake and incentivized reviews in Shopify’s App Store. Incentivizing reviews: While incentivizing reviews has always been against policy, we’re further clarifying how we enforce it. Developers found to be incentivizing revi
Reviews on the Shopify App Store are foundational to a fair marketplace. They're how merchants find the right apps, and how developers earn trust for the products they build. Reviews are one of the most important ways merchants decide which apps to trust. To keep that signal honest, we're making two changes to how we handle review incentivization and untrusted reviews. We're announcing both together. Here's what Partners need to know. 1. A dedicated policy on review incentivization What it is: O
As of Customer Account API version 2026-10, the deprecated Customer.lastIncompleteCheckout field is removed. This also removes the now-unreachable Customer Account API Checkout type subtree, including: Checkout Checkout.appliedGiftCards AppliedGiftCard AvailableShippingRates CheckoutLineItem CheckoutLineItemConnection CheckoutLineItemEdge ShippingRate The Customer.lastIncompleteCheckout field was previously deprecated and returned null . This change removes stale Checkout Classic schema from the
As of API version 2026-10, the OrderDisplayFulfillmentStatus enum can return a new value: FULFILLMENT_NOT_REQUIRED . It is returned for orders that are not fulfilled but have no items remaining to fulfill — for example, an order that was fully cancelled or fully refunded before any items were fulfilled. Previously, these orders returned UNFULFILLED . This is a backward-compatible, additive change: integrations that already handle unrecognized enum values gracefully don't need to do anything. As
Sub-region Markets are available in the Admin GraphQL API 2026-07 Apps using Admin GraphQL 2026-07 can encounter Markets configured with country-subdivision regions, such as states and provinces as merchants upgrade to market-driven shipping. Apps can get more informtion about market-drive shipping feature preview shipping upgrade guide Use MarketRegionSubdivision as the stable country-subdivision region type, and read sub-region membership through market.conditions.regionsCondition.regions . Do
Starting in version 2026-07 , the useBuyerJourneyIntercept hook on checkout UI extensions, and the block_progress capability it depends on, are deprecated. Existing extensions will continue to work on current and prior API versions, but this API will be removed in a future version , so you should plan to migrate. The following are deprecated: useBuyerJourneyIntercept (Preact hook) in checkout UI extensions The block_progress capability in the extension’s shopify.extension.toml configuration file
New Features Product variant intents The React SDK added typed product variant intent hooks for selecting variants, adding variants to cart, and sending buyers to express checkout: useSelectVariant wraps select:shopify/ProductVariant . useAddToCart wraps add_to_cart:shopify/ProductVariant . useBuyNow wraps buy_now:shopify/ProductVariant . These hooks can open the native Shop variant selector sheet over the Mini WebView when a Mini has a product ID but needs the buyer to pick a variant or quantit
Market-driven shipping moves merchant-owned shipping configuration out of delivery profiles and into Markets. Merchants will attach shipping options directly to each market, and then vary rates by product and location conditions within a single option. This makes checkout rate behavior more predictable and easier to understand. What this means for your app: Merchant shipping configuration (today’s merchant delivery profiles) moves from the delivery profile API to the Markets API. App delivery pr
<p>v20.5.1</p> <h3>🐛 Bug fixes</h3> <ul> <li>[eas-cli] Fix Free plan users being warned they had reached their build limit while still well below it. Overage warnings are now shown only for paid plans with an actual billable overage cost. (<a href="https://github.com/expo/eas-cli/pull/3882" data-hovercard-type="pull_request" data-hovercard-url="/expo/eas-cli/pull/3882/hovercard">#3882</a> by <a href="https://github.com/sarahlane8">@sarahlane8</a>)</li> <li>[eas-cli] Select correct tvOS build ta
As of API version 2026-07 , the BusinessEntity type in the GraphQL Admin API includes a new legalEntityId field. This field returns the stable Central Legal Entity ID from Shopify's Organizations Platform, giving Partners a consistent identifier for the same legal entity across multiple shops, markets, and sales channels. What's new The BusinessEntity type now includes: legalEntityId ( BigInt , nullable): The stable organization-level legal entity identifier. This ID is consistent across all sho
The discountedUnitPrice field on the DraftOrderLineItem object in the Customer Account API is now deprecated. Use approximateDiscountedUnitPrice instead. This new field calculates the discounted total divided by the quantity, resulting in an approximate per-unit price reduction. Update your queries to use approximateDiscountedUnitPrice .
As of GraphQL Customer Account API version 2026-07, draft orders now expose discount applications. You can use the new discountApplications field on DraftOrder to query discounts applied to a draft order, and the new discountAllocations field on DraftOrderLineItem to query how discounts are allocated across line items. For example: query DraftOrderDiscounts($id: ID!) { draftOrder(id: $id) { discountApplications(first: 10) { nodes { __typename ... on DiscountCodeApplication { code } ... on Manual
The GraphQL Admin API's GiftCard object now includes a lineItem field, representing the LineItem from the order that initiated the gift card's creation. The field returns null for gift cards that were issued manually instead of through an order.
The isCumulative argument to the marketingEngagementCreate mutation is being deprecated, defaulting to false . Please update your integration to send non-cumulative engagements, as needed. Existing activities that have been sending cumulative metrics can migrate to non-cumulative at any time.
As of the 2026-07 API version, draft order deposit fields are available in the GraphQL Admin API and Customer Account API. Apps can now set a deposit when creating or updating a draft order with DraftOrderInput.deposit in the GraphQL Admin API. This supports draft order flows where part of the payment is due at checkout and the remaining balance is due later, such as due-on-fulfillment payment terms. The Customer Account API also exposes read-only deposit information on draft orders, including t
What's changing We’re moving merchant-owned shipping configuration from legacy delivery profiles to Markets as part of market-driven shipping, a new model where shipping is configured per Market. When a shop uses market-driven shipping, the legacy delivery profile fields and mutations in the Admin GraphQL API no longer represent the shop’s live merchant-owned shipping configuration. Reads may return a stale snapshot of the legacy configuration, and writes may succeed without errors but will not
Starting in API version 2026-07, the GraphQL Admin API supports market-driven shipping configuration. You can now configure shipping directly on a market, which helps apps support different shipping strategies for different markets without creating a separate shipping profile resource. What changed The Market object now includes a delivery field for market delivery settings. Use Market.delivery.shipping to read the shipping configuration for a market. Use the existing marketCreate and marketUpda
The Hydrogen developer preview can now be deployed to Vercel in a few clicks. A new Deploy button creates a repo from the Next.js starter template, sets up a Vercel project, and builds it. No local setup required. The template is a working Hydrogen storefront with the typed Storefront API client, cart, and product and collection pages already wired up. Add your store credentials from the Headless channel to connect your own products. You'll find it in the developer preview docs under "Deploy a s
Starting in API version 2026-07 , sales channel apps can use order attribution definitions to identify the source that created an order. Order attribution definitions are useful when your sales channel app needs attribution that is more specific than the app or channel itself. For example, you can attribute orders to a marketplace, region, account, or surface. Apps that only need default app or channel attribution don’t need to make any changes. What’s new Sales channel apps can now: Create chan
<p>v20.5.0</p> <h3>🎉 New features</h3> <ul> <li>[eas-cli] <code>eas integrations:posthog:connect</code> now supports existing PostHog user connection. (<a href="https://github.com/expo/eas-cli/pull/3895" data-hovercard-type="pull_request" data-hovercard-url="/expo/eas-cli/pull/3895/hovercard">#3895</a> by <a href="https://github.com/gwdp">@gwdp</a>)</li> </ul>
In API version 2026-07 and later, the PaymentMandateResource object includes a new id field. PaymentMandateResource is returned by the mandates connection on CustomerPaymentMethod . Its id is the same as the corresponding CustomerPaymentMethod.id , which lets you determine which payment method to use for a given mandate scope (for example, the SUBSCRIPTIONS scope) when a single payment instrument is associated with multiple mandate types.
Starting with GraphQL Admin API version 2026-10, creating a carrier service no longer automatically adds it to the shop’s General shipping profile. This breaking change affects carrier services created using: GraphQL Admin API: carrierServiceCreate REST Admin API: POST /admin/api/{version}/carrier_services.json Previously, active API carrier services created through these APIs were automatically added to eligible shipping zones in the shop’s General shipping profile. In API version 2026-10 and l
<p>v20.4.0</p> <h3>🎉 New features</h3> <ul> <li>[eas-cli] New command <code>observe:session</code> for inspecting events by session ID. (<a href="https://github.com/expo/eas-cli/pull/3868" data-hovercard-type="pull_request" data-hovercard-url="/expo/eas-cli/pull/3868/hovercard">#3868</a> by <a href="https://github.com/douglowder">@douglowder</a>)</li> </ul> <h3>🐛 Bug fixes</h3> <ul> <li>[eas-cli] Fix <code>eas update --channel</code> failing with "Channel has no branches associated with it" wh
<p>v20.3.0</p> <h3>🎉 New features</h3> <ul> <li>[eas-cli] Add <code>eas account:audit [ACCOUNT_NAME]</code> command to view an account's audit logs. (<a href="https://github.com/expo/eas-cli/pull/3863" data-hovercard-type="pull_request" data-hovercard-url="/expo/eas-cli/pull/3863/hovercard">#3863</a> by <a href="https://github.com/keith-kurak">@keith-kurak</a>)</li> <li>[eas-cli] <code>eas update:view [GROUP_ID]</code> now also accepts a platform-specific update ID, resolving it to and displayi
<p>Self-hosted Supabase v0.6.0: Postgres 17 as the default</p>
<p>Self-hosted Supabase v0.5.1: Security fix for Realtime routes</p>
<p>Self-hosted Supabase v0.5.0: Postgres 15 baseline</p>
<p>v20.2.0</p> <h3>🎉 New features</h3> <ul> <li>[eas-cli] Non-interactive iOS App Store and Enterprise builds can now use the App Store Connect API key stored in EAS credentials as a submission key to validate and repair provisioning profiles on Apple servers, without requiring <code>EXPO_ASC_*</code> environment variables or an interactive Apple login. (<a href="https://github.com/expo/eas-cli/pull/3805" data-hovercard-type="pull_request" data-hovercard-url="/expo/eas-cli/pull/3805/hovercard">
<p>v20.1.0</p> <h3>🎉 New features</h3> <ul> <li>[eas-cli] Add <code>eas update:embedded:view</code> command. (<a href="https://github.com/expo/eas-cli/pull/3810" data-hovercard-type="pull_request" data-hovercard-url="/expo/eas-cli/pull/3810/hovercard">#3810</a> by <a href="https://github.com/gwdp">@gwdp</a>)</li> <li>[eas-cli] Add <code>eas update:embedded:list</code> command. (<a href="https://github.com/expo/eas-cli/pull/3811" data-hovercard-type="pull_request" data-hovercard-url="/expo/eas-c
<p>v20.0.0</p> <h3>🛠 Breaking changes</h3> <ul> <li>[eas-cli] Rename observe commands: <code>observe:logs</code> → <code>observe:events</code> (events emitted via <code>logEvent</code>), previous <code>observe:events</code> → <code>observe:metrics</code> (individual performance metric samples), previous <code>observe:metrics</code> → <code>observe:metrics-summary</code> (aggregated stats by app version). (<a href="https://github.com/expo/eas-cli/pull/3778" data-hovercard-type="pull_request" dat
Your store includes a default agents.md file accessible at /agents.md . The paths /llms.txt and /llms-full.txt also point to this content by default. Add any of the following templates under Online Store > Themes > Edit code to serve different content per path: templates/agents.md.liquid — controls /agents.md (and the default for the other two paths) templates/llms.txt.liquid — controls /llms.txt only templates/llms-full.txt.liquid — controls /llms-full.txt only If no template is present for a g
<p>v19.1.0</p> <h3>🎉 New features</h3> <ul> <li>[eas-cli] Add <code>--refresh-ad-hoc-provisioning-profile</code> flag to refresh managed ad-hoc provisioning profiles from App Store Connect before gathering build credentials in non-interactive mode. (<a href="https://github.com/expo/eas-cli/pull/3716" data-hovercard-type="pull_request" data-hovercard-url="/expo/eas-cli/pull/3716/hovercard">#3716</a> by <a href="https://github.com/sswrk">@sswrk</a>)</li> <li>[eas-build-job] Add optional <code>ref
<p>v19.0.8</p> <h3>🐛 Bug fixes</h3> <ul> <li>[eas-cli] <code>eas go</code> now pre-selects the SDK version from the current project's <code>app.json</code> or <code>app.config.js</code> when available. (<a href="https://github.com/expo/eas-cli/pull/3776" data-hovercard-type="pull_request" data-hovercard-url="/expo/eas-cli/pull/3776/hovercard">#3776</a> by <a href="https://github.com/gwdp">@gwdp</a>)</li> </ul>
The release of Shopify CLI 4.0 today brings clarity to CLI versioning, the introduction of automatic updates, and the announced removal of the deprecated --force flag from shopify app deploy . Semantic Versioning Shopify CLI is now following semantic versioning practices. Releases with new features will be minor versions, and bug fixes will be patch versions. When required, major version releases will be used to communicate breaking changes to CLI command structure or behavior. For more informat
<p>v19.0.6</p> <h3>🐛 Bug fixes</h3> <ul> <li>[build-tools] Update the minimum Expo version required for iOS precompiled modules to 55.0.26. (<a href="https://github.com/expo/eas-cli/pull/3771" data-hovercard-type="pull_request" data-hovercard-url="/expo/eas-cli/pull/3771/hovercard">#3771</a> by <a href="https://github.com/chrfalch">@chrfalch</a>)</li> </ul>
You can now create your app's landing page in App Home as a Preact-based admin UI extension using the new admin.app.home.render target. This means your App Home UI extensions are bundled with your other admin UI extensions, eliminating the need for a separate web server to render your app's primary workspace. Use this extension type when you want: A persistent, full-page app workspace that's integrated into your extension bundle, rather than a separate iframe-hosted web app. A unified source of
<p>v19.0.5</p> <h3>🐛 Bug fixes</h3> <ul> <li>[eas-cli] Improve Sentry diagnostics for managed iOS entitlements config fallback. (<a href="https://github.com/expo/eas-cli/pull/3763" data-hovercard-type="pull_request" data-hovercard-url="/expo/eas-cli/pull/3763/hovercard">#3763</a> by <a href="https://github.com/sjchmiela">@sjchmiela</a>)</li> </ul>
New Features Optional Consent Users can now reject scopes and continue using your Mini. Consent is no longer all-or-nothing — if a user declines a scope, your Mini should gracefully degrade rather than block the experience. If your Mini hard-fails when a scope is rejected, please update it using the new hooks below. useCheckScopesConsent Hook Check at runtime which scopes a user has granted. Use this to conditionally render features that depend on a particular scope. Usage: import {useCheckScope
<p>v19.0.1</p> <h3>🐛 Bug fixes</h3> <ul> <li>[eas-cli] Disable dotenv loading when resolving managed iOS entitlements. (<a href="https://github.com/expo/eas-cli/pull/3752" data-hovercard-type="pull_request" data-hovercard-url="/expo/eas-cli/pull/3752/hovercard">#3752</a> by <a href="https://github.com/sjchmiela">@sjchmiela</a>)</li> <li>[eas-cli] Restore the bundled config fallback for managed iOS entitlements introspection. (<a href="https://github.com/expo/eas-cli/pull/3753" data-hovercard-ty
<h2>What's Changed</h2> <ul> <li><strong>Add <code>position</code> field to <code>insert_content</code> params for update page markdown endpoint</strong> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4456544100" data-permission-text="Title is private" data-url="https://github.com/makenotion/notion-sdk-js/issues/720" data-hovercard-type="pull_request" data-hovercard-url="/makenotion/notion-sdk-js/pull/720/hovercard" href="https://github.com/makenotion/noti
<p>v19.0.0</p> <h3>🛠 Breaking changes</h3> <ul> <li>[eas-cli] Make browser-based authentication the default for <code>eas login</code>. Use <code>--no-browser</code> for CLI-based login. (<a href="https://github.com/expo/eas-cli/pull/3746" data-hovercard-type="pull_request" data-hovercard-url="/expo/eas-cli/pull/3746/hovercard">#3746</a> by <a href="https://github.com/byronkarlen">@byronkarlen</a>)</li> </ul> <h3>🎉 New features</h3> <ul> <li>[eas-cli] Allow command <code>observe:routes</code>
Next Generation Events are now available in developer preview, with field-level control over when events fire, what data they carry, and what triggered each delivery. Subscribe to exactly what you care about. Field-level triggers pre-qualify deliveries before they reach your endpoint. A subscription scoped to product.variants.price won't fire on title edits, tag updates, or status changes. Only when the price changes. Get the payload your app needs, not a fixed schema. You define the delivery pa
<p>v18.13.1</p> <h3>🎉 New features</h3> <ul> <li>[eas-cli] Send the installed <code>expo</code> package version in build metadata. (<a href="https://github.com/expo/eas-cli/pull/3725" data-hovercard-type="pull_request" data-hovercard-url="/expo/eas-cli/pull/3725/hovercard">#3725</a> by <a href="https://github.com/sjchmiela">@sjchmiela</a>)</li> </ul> <h3>🐛 Bug fixes</h3> <ul> <li>[eas-cli] Prevent <code>npx</code> invocations that can be unreliable and fail when retrieving entitlements or proj
You can query the shippingLine field on FulfillmentOrderLineItem . This field returns the ShippingLine associated with a fulfillment order line item, if available. This feature simplifies the process for order management and fulfillment apps to identify the shipping method for each line item. It is particularly useful in scenarios where fulfillment orders are merged across different delivery profiles, and the original per-line shipping service is not identified by the fulfillment order's deliver
<p>v18.13.0</p> <h3>🎉 New features</h3> <ul> <li>[eas-cli] New command <code>observe:routes</code> for navigation metrics. (<a href="https://github.com/expo/eas-cli/pull/3730" data-hovercard-type="pull_request" data-hovercard-url="/expo/eas-cli/pull/3730/hovercard">#3730</a> by <a href="https://github.com/douglowder">@douglowder</a>)</li> </ul> <h3>🧹 Chores</h3> <ul> <li>[eas-cli] Refactor observe commands to extract common flag definitions. (<a href="https://github.com/expo/eas-cli/pull/3731"
You no longer need to ask merchants to share function run logs with you. These logs are now automatically available in the Dev Dashboard for any function your app has the necessary access scopes to view. What's Changed Function run logs in the Dev Dashboard are now accessible based on the access scopes granted to your app by the merchant. The required scopes to view a log are determined by the function's input query. If your app has the necessary scopes to read these fields via the GraphQL Admin
We’ve published new migration guides to help you upgrade Checkout and Customer Account UI extensions to the latest API version and Polaris web components. The new guides include: Guidance for moving from React or JavaScript extension APIs to Preact, Polaris web components, and the global shopify object. More than 60 component-specific migration pages, covering components such as Button , Checkbox , TextField , Banner and View for Checkout and Customer Account UI extensions. Instructions for migr
<p>v18.12.2</p> <h3>🧹 Chores</h3> <ul> <li>[ci] Audit GitHub Actions workflows: harden <code>pull_request_target</code> usage, pin all external actions to commit SHAs, and add Dependabot to refresh them. (<a href="https://github.com/expo/eas-cli/pull/3718" data-hovercard-type="pull_request" data-hovercard-url="/expo/eas-cli/pull/3718/hovercard">#3718</a> by <a href="https://github.com/brentvatne">@brentvatne</a>)</li> </ul>
Starting with the 2026-07 version of the Storefront API, the Cart emits a PRODUCT_UNAVAILABLE_IN_BUYER_LOCATION warning when a cart line contains a product that isn't available in the buyer's location. Each affected cart line returns its own warning. The warning's target is set to the CartLine ID so you can map it back to the line in your UI. For background on cart warnings and an example of handling them, refer to our docs on cart warnings .
<p>v18.12.0</p> <h3>🎉 New features</h3> <ul> <li>[eas-cli] Automatically save the Convex deployment URL as an EAS environment variable when connecting a Convex project. (<a href="https://github.com/expo/eas-cli/pull/3685" data-hovercard-type="pull_request" data-hovercard-url="/expo/eas-cli/pull/3685/hovercard">#3685</a> by <a href="https://github.com/fiberjw">@fiberjw</a>)</li> </ul> <h3>🐛 Bug fixes</h3> <ul> <li>[build-tools] Update the minimum Expo version required for iOS precompiled module
<h2>What's Changed</h2> <ul> <li><strong>chore: sync generated api endpoints modules</strong> by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/haustle/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/haustle">@haustle</a> in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4318038454" data-permission-text="Title is private" data-url="https://github.com/ma
Shopify App Pricing supports subscriptions, usage-based charges, or combined models, configured in the Partner Dashboard. What's new: Managed Pricing is now Shopify App Pricing Shopify App Pricing replaces Managed Pricing as Shopify’s default billing solution that gets configured during app submission in the Partner Dashboard. Apps previously on Managed Pricing will now see “Shopify App Pricing” as their selected billing solution. Usage-based billing now possible with App Events API Charge based
The App Events API lets you send any event from your app to Shopify. App event data appears in your Dev Dashboard Logs alongside webhooks, Function executions, and API calls. How it works: **1. Send app events to a single API endpoint:**Define the event_handle and attributes you want to track and send them to the App Events API, including: Feature usage: bulk_edit_completed , report_generated , automation_created Workflows: onboarding_completed , campaign_sent , export_finished Performance: sync
We're changing how public apps handle offline access tokens to enhance merchant data protection. Starting January 1, 2027, all public apps must use expiring offline access tokens when calling the Admin API. After that date, public apps still using non-expiring tokens will receive authentication errors. This extends the April 1, 2026 change , which applied only to newly created public apps, to all public apps, including those created before April 1, 2026. What apps are affected Public apps making
As of version 2026-07 of the GraphQL Storefront API, the Cart object issues a warning when a buyer's selected delivery option becomes unavailable. Previously, if a buyer's chosen delivery option was no longer available (for example, after changes to the cart's address or contents) the system would automatically switch to a different option without notifying the buyer. This lack of notification made it challenging for developers to inform buyers of the change. Now, with the introduction of the DE
<p>Here's everything that happened with Supabase in the last month:</p> <h2>Custom OAuth/OIDC providers for Supabase Auth</h2> <a target="_blank" rel="noopener noreferrer" href="https://private-user-images.githubusercontent.com/30495040/589233420-97a1bc92-f8a9-4bf4-894d-ede6a762ab2b.png?jwt=eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3NzgxOTg3NDUsIm5iZiI6MTc3ODE5ODQ0NSwicGF0aCI6Ii8zMDQ5NTA0MC81ODkyMzM0MjA