Skip to content

v0.4.0

Choose a tag to compare

@github-actions github-actions released this 26 Apr 05:15
· 159 commits to main since this release

Revenue impact classification (vastlint-core)

  • New RuleSource::IndustryBestPractice — distinct from VastSpec and Inferred; renders as "revenue impact" in all output formats
  • New RuleMeta::revenue_impact() — returns true for 12 rules where a structural defect causes direct measurement or delivery loss; no catalog field added, no breaking schema change
  • 5 rules reclassified from InferredIndustryBestPractice: 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 InfoWarning: VAST-2.0-mediafile-https and VAST-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 of start, firstQuartile, midpoint, thirdQuartile, or complete; 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 at Warning or Error severity, making this flag sufficient for a CI revenue gate
  • URL input with wrapper chain followingvastlint check https://… fetches the tag and recursively follows <VASTAdTagURI> wrapper chains
  • --max-depth N (default 5) — controls how deep wrapper chains are followed, matching the IAB VAST 4.x recommendation
  • --summary — prints aggregate pass/fail counts after validation; includes a $revenue line 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).