Skip to content

v10.0.0-beta.6

Pre-release
Pre-release

Choose a tag to compare

@aao-ipr-bot aao-ipr-bot released this 02 Nov 09:56
333e499

10.0.0-beta.6 (2026-11-02)

⚠ BREAKING CHANGES

  • accounts: a list_account_changes handler returning an adcp or seller_operator record without changed_paths now fails the call, and idempotency_key is stripped from every record not attributed to the caller via adcp.account_change_feed.attribute_account_change.
  • ReconcileReport.accounts is a tuple of ReconcileAccount instead of account-id strings, and to_dict serves objects under accounts. Read report.account_ids for the ids.
  • media-buy: WebhookSender.send_media_buy_delivery, send_prepared for a prepared media_buy_delivery, and the artifact helpers given registration= raise WebhookSigningProfileUnavailableError instead of sending when a registration without authentication would go out through a bearer or HMAC sender or names web-bot-auth. Use WebhookSender.from_jwk or from_pem for these registrations. WebhookReceiver no longer passes aggregated_totals through on media_buy_delivery results.
  • codegen: the _1 alias members of generated enums (System.zip_1, Field17.ad_request_url_1, ...) are removed. Use the real member (System.zip); System("zip") and member.value are unchanged.
  • a server asked for a task its caller's release does not define now fails with UNSUPPORTED_FEATURE instead of VERSION_UNSUPPORTED. validate_platform fails when a platform declares list_proposals or media_buy.collection_catalog without the method. Agent-level notification registrations of proposal.created, proposal.offered, collection_card.*, collection_catalog.bulk_change or creative.staged_update_changed require all_authorized_accounts true.
  • adagents: resolve_properties_for_agent(mode="permissive") raises ValueError unless publisher_domain= (or allow_any_domain=True) is passed, and with publisher_domain its bare-entry fallback returns only domain properties under that domain. See MIGRATION_v9_to_v10.md.

Features

  • accounts: add accounts.change and use for account requests (6207e4c)
  • accounts: add accounts.change and use for account requests (40504d9)
  • accounts: enforce change feed changed_paths and per-reader idempotency_key (#1647) (#1805) (d9ba90c)
  • accounts: read a pending account change back with change_status (539d829)
  • adagents: attribute properties to a publisher domain, gate permissive resolution, verify cross-domain claims (#1711) (f775e13)
  • canonical-formats: rewrite 3.3 playback pixel trackers to custom for 3.2 peers (#1643) (#1800) (41c3988)
  • capabilities: self-report adcp.implementation.sdks (#1646) (#1812) (f01d750)
  • decisioning: let a raised AdcpError reject a request with every error (#1780) (#1804) (0439d67)
  • errors: AdCP 3.3 mutation_outcome and unsupported-targeting-dimension details (#1642) (#1811) (40a82f5)
  • media-buy: enforce AdCP 3.3 provisional-buy, revision-origin and webhook-signing rules (#1807) (c6aa913), closes #1644
  • per-account reconcile report and fleet reconcile for reporting subscriptions (#1802) (33a8bb0)
  • reporting: add buyer reconcile and explain on client.reporting (c830344)
  • reporting: add buyer reconcile and explain on client.reporting (dbf329f)
  • reporting: add the buyer receipts policy to reconcile (9072f35)
  • reporting: add the buyer receipts policy to reconcile (42b919e)
  • reporting: add the reporting test kit, reference seller and pytest fixture (0dac622)
  • reporting: add the reporting test kit, reference seller and pytest fixture (1842153)
  • reporting: derive buyer reporting events with poll, events and handle_webhook (49ea7de)
  • reporting: derive buyer reporting events with poll, events and handle_webhook (f0e8c9d)
  • reporting: explain coverage with a shared CoverageTrace (a025dbd)
  • reporting: explain coverage with a shared CoverageTrace (6657c75)
  • reporting: serve the reference seller standalone and pass the TypeScript storyboard (76812b8)
  • reporting: serve the reference seller standalone and pass the TypeScript storyboard (fa7fccf)
  • schedule status checks from expected_confirmation_at (#1809) (45a3f89)
  • serve request_account and account requests from the AccountStore (#1808) (e556c3b)
  • types: name macro declaration variants by their asset arm (#1801) (64bc9b7), closes #1783
  • wire the list_proposals and list_collections tasks (#1803) (0dc1b21)

Bug Fixes

  • accounts: keep the account status when use re-points a key (80ce9f0)
  • codegen: name each generated enum value once (#1799) (0357253)
  • reporting re-grant chain, adjustment offers and rejected receipts match TS (#1806) (7d36906)
  • reporting: compare set-valued subscription arrays without order on readback (99abea8)
  • reporting: compare set-valued subscription arrays without order on readback (0697a2d)
  • reporting: consume the events doorbell before each poll (25a6e7b)
  • reporting: explain periods before an open revocation as owed:withheld (9eb96a0)
  • reporting: fold whether the period has ended into the trace digest (f1c23ca)
  • reporting: give each account rejoin a new account.covered event id (db016f8)
  • reporting: isolate a failing receipt commit and state its at-least-once contract (80cfb79)
  • reporting: keep subscriptions and losses across a partial events poll (4c64141)
  • reporting: keep the events loop running after an ack conflict (cf71c7d)
  • reporting: key status checkpoints by resolved offering (d490481)
  • reporting: key status checkpoints by resolved offering (9494c95)
  • reporting: list each flight period once in the not-owed audit (9defc4c)
  • reporting: make the managed seller pass the SDK's own capability validation (922fb87)
  • reporting: make the managed seller pass the SDK's own capability validation (c6a2575)
  • reporting: name reporting_revision_id on the not-found answer for an unknown revision (#1796) (8cc8818), closes #1669
  • reporting: read each package offering snapshot from get_media_buys (131b9ba)
  • reporting: read each package offering snapshot from get_media_buys (f1479f5)
  • reporting: receipt each materialization once and isolate verifier failures (b1cc1c4)
  • reporting: record the bare inspector code for an unverifiable revision (cc9b9e0)
  • reporting: refuse coverage input only where a schedule reads it (fc370c6)
  • reporting: report a failed principal read as a reconcile issue (d476b42)
  • reporting: report every owed period before an open revocation as withheld (e112cc1)
  • reporting: serve gaps in the boundaries of the schedule they removed (6a41458)
  • reporting: validate every kit buyer read except fixture buys (d69132b)
  • server: return task and workflow handoffs uncached from IdempotencyStore.wrap (#1794) (91fe87e), closes #1781
  • types: make the domain package roots lazy so a types package imports first in any order (#1797) (8331c88), closes #1784