If you work in video or audio ad serving, you have met VAST: the IAB XML template that tells a player what ad to show and where to fire tracking. But VAST rarely travels alone. It usually arrives wrapped in a schedule (VMAP) or shows up with an audio sibling (DAAST), and those two formats break in production just as often as VAST does, with far less tooling watching them.
vastlint is an open-source, Rust-based linter for IAB ad tags. As of 0.5.0 it validates VMAP 1.0 and DAAST 1.0 alongside VAST 2.0 through 4.3, from the same CLI, library, and MCP server. The catalog is now 182 rules, 53 of them new for these two formats.
What shipped
There is nothing new to install or wire up. The same validate() entry point that handles a VAST tag now recognises a <vmap:VMAP> or <DAAST> root and routes the document to the right rule chain:
24 new VMAP 1.0 rules: ad-break structure, timeOffset / breakType / repeatAfter formats, <AdSource> content constraints, CDATA requirements, VMAP tracking events, and conflict detection.











