Repository navigation
v8.1.0
8.1.0 (2026-10-06)
Features
- backport provisioning-aware accounts and signing fixes to 8.x (#1410) (91df2b4)
- accounts: provisioning-aware account discovery, an
AccountRegistrywith pluggable storage, typed account errors, and account-scoped feed mirrors (#1288). New exports:AccountPolicy,AccountRecord,AccountRegistry,AccountStorage,InMemoryAccountStorage,AccountNotFoundError,AccountPaymentRequiredError,AccountSetupRequiredError.
- accounts: provisioning-aware account discovery, an
Bug Fixes
- accounts: keep every 8.0 default and make the stricter behavior opt-in (#1348). By default
account_policyis"off", so natural references pass through unchanged. Withraise_account_errorsunset, account errors still return the failedTaskResultand emit aDeprecationWarning.FeedMirror(strict_scope=None)keeps 8.0 scope handling and warns. Opt in withaccount_policy="auto"/"strict",raise_account_errors=True, andstrict_scope=True. These become the defaults in the next major. Seedocs/account-lifecycle.md. - signing: make
agent_urloptional again onBrandJsonJwksResolverandbuild_brand_json_resolvers(#1350). Omitting it emits aDeprecationWarningand falls back to 8.0 agent selection, which now fails closed when ambiguous and restores thejwks_origin_mismatchguard. - signing: security fix:
verify_from_agent_urltakes the signer identity and replay namespace from the caller's agent URL, not from the brand.json entry, so a brand.json can no longer make one agent verify as another (#1350, #1312). - signing: align agent resolution and publisher pins with AdCP 3.3 (#1312). Security tightenings enforced at request time:
- discovery binds the agent and operator origins (same registrable domain, or
authorized_operators) - every declared
identity.key_originspurpose is checked publisher_pinresolvers are subject to the key-origin check- agent URLs are compared in canonical form
- discovery binds the agent and operator origins (same registrable domain, or
- signing: fetch resolver capabilities over the agent protocol (#1284)
- sdk: restore buyer compatibility and error diagnostics (#1285)
Compatibility
8.1.0 has no breaking API changes from 8.0.0. #1288 and #1312 were breaking on main. #1348 and #1350 restore every 8.0 default and signature they changed, so the backported changes add new opt-in surface without breaking existing callers. The only behavior changes for existing callers are the request-time signing security fixes listed above.