You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
3.3 adds fields and values inside objects that 3.2 closes, so they must be sent only to peers that negotiated 3.3 (migration guide §Send only to 3.3 peers, tag v3.3.0-beta.0). DR-0024 also requires responses to conform to the served release. compat/versions.py projects known newer fields generically through both schemas once #1662 lands, but some rules need semantics, not just field removal:
by_spot[]:scheduled / preempted rows are omitted, not stripped of spot_status, because 3.2 requires aired_at.
Delivery rows without impressions: below 3.3 the row is omitted, never sent as impressions: 0.
media_buy.features.catalog_ingestion: coarsened or dropped on 3.2 capability projections. Capabilities can't be gated, so check the buyer side parses tolerantly.
For each rule: a conversion test at 3.3 → 3.2, plus a fix where the generic projection does the wrong thing. Pins, expected_confirmation_at and pixel trackers are tracked separately in #1641, #1640 and #1643.
Inventory: docs/adcp-3.3-sdk-inventory.md §3, §4. Batch C.
Shipped in #1717 into next (merge fab1adf). Deferred notes from that PR: the bundled 3.3 list_collections examples fail the SDK's own envelope validation (status is added where the schema forbids it); whole-hour start_time/end_time dayparts are refused rather than mapped to start_hour/end_hour. Pins, expected_confirmation_at and the pixel-tracker rewrite remain with #1641, #1640 and #1643.
Activity
feat(compat)!: semantic 3.3 → 3.2 downgrade rules (#1717)
bokelley commentedon Oct 30, 2026
Shipped in #1717 into
next(merge fab1adf). Deferred notes from that PR: the bundled 3.3list_collectionsexamples fail the SDK's own envelope validation (statusis added where the schema forbids it); whole-hourstart_time/end_timedayparts are refused rather than mapped tostart_hour/end_hour. Pins,expected_confirmation_atand the pixel-tracker rewrite remain with #1641, #1640 and #1643.