Skip to content

RTBLint 0.14.0 deepens documented exchange validation.

Choose a tag to compare

@github-actions github-actions released this 10 Oct 01:46
· 23 commits to main since this release

RTBLint 0.14.0 adds 22 vendor and producer profiles and deepens Google Authorized Buyers, Prebid Server, Microsoft Monetize and Magnite DV+ xAPI. There are now 26 directional profiles across 20 products and integration families, plus the canonical OpenRTB specification profile.

Coverage follows documented integration directions.

New coverage includes DV360, Index Exchange, Unity, Vungle, BidSwitch, InMobi, MobileFuse, AppLovin ALX, Commerce Grid, Digital Turbine, Sovrn, Equativ, TripleLift, Adform, Yandex SDK bidding and PubMatic OpenWrap. Buyer, supplier, seller and SDK profiles represent separate contracts.

The profiles check recursive extension types, documented value sets, required and conditional fields, Native ads, SKAdNetwork, DSA and originating-request references. Optional fields remain optional. Incomplete or ambiguous pairing references defer dependent comparisons. Unsupported directions retain canonical checks and return a scope warning.

Full exchange acceptance is not certified. OpenX and FreeWheel still require current source access. PubMatic OpenWrap producer and CTV middleware coverage is separate from its private exchange acceptance contract. Profile scope and primary evidence records these boundaries.

Corrections remove false errors and improve pairing.

  • Video.skip uses its documented 0/1 flag in nine affected OpenRTB 2.6 catalogs and generated schemas.
  • Optional Xandr identity/context and Magnite xAPI fields no longer receive unsupported universal presence errors.
  • Alternate Native markup receives required-asset pairing when adm is empty.
  • npm CJS and ESM expose profile-aware paired response validation and an optional JSON dialect.

Regression results describe the tested corpus.

All 5,945 authored source-boundary cases pass their assertions, including 4,152 explicit validity oracles. The local all-features workspace suite passes 403 harness tests. All 29,725 comparisons across npm CJS/ESM, browser WASM, Worker WASM and native MCP match the CLI. Clippy, formatting, protobuf compatibility, package verification, TypeScript and the website production/content build pass.

Compared with 0.13.5, the constructed corpus has 3,738 added error occurrences and 2,198 removed occurrences. Added profiles compare with the old specification fallback because the previous version cannot select them. These counts do not estimate a production detection rate.

The approved private D1 replay covers all 31 stored samples. Valid samples increase from 18 to 19, with no newly invalid samples, no added error occurrences and six false error occurrences removed. D1 contains only three vendor-profile requests and cannot evaluate the added profiles. Private payloads and sample-level findings remain excluded from the release.

Machine-readable validation results and the 37-surface discovery inventory accompany the release. Checks used installed stable Rust; Rust 1.74 was not run.