v0.4.0
Revenue impact classification (vastlint-core)
- New
RuleSource::IndustryBestPractice— distinct fromVastSpecandInferred; renders as"revenue impact"in all output formats - New
RuleMeta::revenue_impact()— returnstruefor 12 rules where a structural defect causes direct measurement or delivery loss; no catalog field added, no breaking schema change - 5 rules reclassified from
Inferred→IndustryBestPractice:VAST-2.0-mediafile-https,VAST-2.0-tracking-https,VAST-2.0-duplicate-impression,VAST-4.1-mezzanine-recommended,VAST-4.1-vpaid-in-interactive-context - HTTP tracker rules promoted
Info→Warning:VAST-2.0-mediafile-httpsandVAST-2.0-tracking-https— on HTTPS inventory these are guaranteed delivery failures, not advisory notices - New rule
VAST-2.0-linear-tracking-quartiles(Warning,IndustryBestPractice) — fires when a<Linear>creative has no<TrackingEvents>containing any ofstart,firstQuartile,midpoint,thirdQuartile, orcomplete; absence of all five is a complete measurement blackout. Spec reference: IAB VAST 4.1 §3.14.2
Monitoring-friendly CLI (vastlint-cli)
--fail-on-warning— exits non-zero when any warning is found; all 12 revenue-impact rules fire atWarningorErrorseverity, making this flag sufficient for a CI revenue gate- URL input with wrapper chain following —
vastlint check https://…fetches the tag and recursively follows<VASTAdTagURI>wrapper chains --max-depth N(default5) — controls how deep wrapper chains are followed, matching the IAB VAST 4.x recommendation--summary— prints aggregate pass/fail counts after validation; includes a$revenueline when any revenue-impact rules fired; works in both plain and JSON output modes
Rule list (vastlint rules)
- New
$column — marks the 12 revenue-impact rules - Legend line added at the bottom of the table
Rule count
118 rules total (was 108 before v0.3.x additions; 117 before this release).