Research guide · UCP interoperability · 12 September 2026
UCP 2026-08-25 migration: version negotiation and breaking changes
Shopify storefronts now advertise Universal Commerce Protocol version 2026-08-25 in their discovery profiles. Shopify says merchants do not need to change storefront configuration just for that update. The migration work sits mainly with agents, platforms and custom UCP implementations that must negotiate the new profile correctly instead of assuming an older capability set still matches.
Published 12 September 2026 · sources checked 12 September 2026
25 Aug
UCP released v2026-08-25
4 Sep
Shopify began advertising 2026-08-25 compatibility
exact match
Capability versions are negotiated from a shared declared set
no merchant config
Shopify says the storefront-side compatibility update is automatic
The important distinction
Shopify merchant impact is not the same as agent-platform impact
Shopify's 4 September changelog says storefronts that expose /.well-known/ucp now advertise protocol version 2026-08-25, with no storefront configuration change required and no change to the set of Shopify-supported capabilities. That is good news for merchants, but it does not make every older agent profile compatible automatically.
In Shopify's current negotiation flow, the agent supplies a hosted platform-profile URI. Shopify fetches it, validates it, checks protocol-version alignment, intersects capability names and versions, and removes extension capabilities whose required parent capability did not survive the intersection. If the profile is invalid or no compatible set remains, the negotiation follows an error path.
The practical migration test is therefore not “can I fetch the storefront profile?” It is “does the exact capability set I need survive negotiation against the current business profile?”
Migration runbook
Eight checks before calling a 2026-08-25 integration migrated
| Boundary | Migration action | Failure to avoid |
|---|---|---|
| Profile version | Publish the UCP version your agent actually implements and test the 2026-08-25 profile path when targeting current Shopify storefronts. | Do not hard-code compatibility from a version date alone. |
| Capability versions | Align UCP-defined capabilities with the profile you are negotiating and require a real version intersection. | A fetched profile is not proof that checkout, cart or order capabilities negotiated. |
| AP2 capability | Move older dev.ucp.shopping.ap2_mandate advertisements and matching logic to dev.ucp.common.payment.ap2_mandate when implementing the current extension. | Treat this as a capability-name migration, not a cosmetic URL change. |
| Signing keys | Read and publish the current top-level keys array where the active profile or extension requires public signing keys. | Older signing_keys assumptions can leave mandate verification unable to resolve a key. |
| Schema references | Refresh generated clients, validators and cached schema URLs for the release rather than assuming older shopping/common paths still identify the same types. | Structural refactors can break code even when field names look familiar. |
| Buyer consent | Handle buyer-consent data as the current structured map and preserve the advertised purpose/segment semantics if your capability uses it. | Do not infer consent from omitted keys or opaque identifiers. |
| Payment requirements | Support the current request-constraint and payment-security model where it applies, including capability-driven payment behavior instead of static instrument assumptions. | Only implement the payment features your negotiated capability set activates. |
| End-to-end test | Send your hosted profile through the real Shopify negotiation flow and inspect the returned active capabilities before relying on a tool. | Transport success without the capability you need is not interoperability success. |
Capability naming
Check AP2 and signing-key assumptions explicitly
Older UCP AP2 documentation advertised dev.ucp.shopping.ap2_mandate and described public signing material under signing_keys. Current UCP documentation for the 2026-08-25 AP2 extension advertises dev.ucp.common.payment.ap2_mandate and resolves trusted-platform-provider keys from the top-level keys array.
If you match capabilities by exact string, this is operationally important: keeping the old AP2 name can make the extension disappear from the negotiated intersection even if both sides conceptually support AP2. Likewise, mandate verification cannot succeed if your implementation looks for public keys only in an obsolete location.
Do not generalise this into “every payment capability was renamed.” The safe migration rule is narrower: compare the capabilities you actually publish and consume against the current release and update only the names, schemas and security requirements that changed for those capabilities.
Version negotiation
A later date is not a compatibility wildcard
UCP separates the protocol profile from capability negotiation. Capability compatibility is established from versions that both parties explicitly support; an implementation should not infer that 2026-08-25 automatically accepts an older capability merely because it has a later date.
For Shopify, host the platform profile at HTTPS and reference it through meta.ucp-agent.profile on the relevant MCP request. Shopify publishes current 2026-08-25 profile fixtures that can be used to exercise profile fetch, validation and capability intersection before you test your own production profile.
Useful failure signal
If authentication and transport work but the tool or extension you expected is unavailable, inspect the negotiated UCP metadata before debugging the tool implementation. A missing parent capability, version mismatch or stale capability name can prune the feature before the business ever attempts the operation.
Related zFinia tools
Validate discovery first, then interoperability
- UCP profile validator
Preflight the structure and obvious discoverability errors in a provider-owned UCP profile.
- UCP business discovery
Understand how agent platforms find merchant-owned UCP profiles and where discovery still fragments.
- Universal Commerce Protocol explainer
The broader UCP model: profiles, services, capability negotiation and commerce handoffs.
- zFinia machine services
Browse machine-readable services for agent-commerce and machine-economy workflows.
Sources