Skip to content

v9.0.0-beta.3

Pre-release
Pre-release

Choose a tag to compare

@aao-ipr-bot aao-ipr-bot released this 10 Oct 16:57
65626be

9.0.0-beta.3 (2026-10-10)

⚠ BREAKING CHANGES

  • types: adcp.types.ProductFormatDeclaration is a class again rather than an Annotated union, so get_args() on it no longer yields the 16 generated branches and params is the open bag Format declares rather than a typed canonical model — use params_as(CanonicalFormatImage) for typed parameters, or LegacyProductFormatDeclaration for the union. validate_union and TypeAdapter continue to work and now return the class.
  • signing: canonicalize_target_uri returns https://host/ for an authority-only URL where it returned https://host, so the @target-uri signature base changes for the bare-authority, non-default-port, IPv6-literal, default-port and trailing-? spellings. A signer on this release and a verifier on an earlier one derive different bases for the same request, and verification fails with request_signature_invalid. Dial signed clients at the explicit root path -- https://host/ canonicalizes the same way before and after, so both ends can then upgrade in any order -- or move an agent URL you cannot respell with its verifier in one window, or hold the affected operation at warn_for across that window. Identifier matching on adagents.json, brand.json, TMP seller_agent.agent_url, format-id.agent_url and the governance issuer only becomes more permissive: the two spellings converge, so a lookup that refused before can now succeed and none that matched stops matching. Migration note: MIGRATION_v8_to_v9.md and docs/request-signing-migration.md section 6.

Features

  • reporting: add canonical JSONL row encoding for shared row storage (#1458) (800125b)
  • reporting: bind protocol-shape control totals in new revisions (#1459) (2565230)

Bug Fixes

  • codegen: name the JSON Schema keyword an injected check enforces (#1435) (9e5c42d)
  • release: preserve beta validation and document adoption contracts (#1461) (6d632dd)
  • signing: apply canonicalization step 5 whatever the query does (#1456) (0830b4e)
  • types: keep ProductFormatDeclaration a class, graded from its schema (#1447) (23eb355), closes #1401
  • types: preserve geographic place system map keys (#1451) (2a58bf7)
  • validation: sync signed 3.1.27 macro URL schemas (#1454) (7d610e1)