Roadmap
This page tracks what vastlint has shipped, what's actively being built, and what's planned next. The roadmap is maintained in the ROADMAP.md file in the repository. Requests and discussion welcome in GitHub Discussions.
Shipped
Core library
vastlint-core v0.2.4 on crates.io. Zero-dependency, zero-I/O Rust library. 108 rules derived directly from the IAB VAST 2.0–4.3 specification. Validates in under a millisecond on typical production tags. Sub-microsecond on small tags.
CLI
vastlint on crates.io and the Homebrew tap. Install with brew install aleksUIX/tap/vastlint or cargo install vastlint. Supports single-file, glob, stdin, and vastlint fix auto-repair with --dry-run, --out, and JSON fix reports.
Web validator
Paste or drop a VAST tag at vastlint.org/validate and get a structured report instantly. Powered by the WASM build of vastlint-core. Validation runs entirely client-side with no data sent to a server.
VS Code extension
Inline VAST XML validation as you type. Errors and warnings appear with rule IDs and spec references directly in the editor gutter. Install from the VS Code Marketplace.
REST API
Authenticated /validate endpoint available on RapidAPI. Same 108 rules, WASM-powered, sub-millisecond response. Drop-in for CI pipelines and ad server integrations that can't embed the native library.
Agentic workflows (MCP)
Native MCP server at vastlint.org/mcp. Connect Claude, Cursor, or any MCP-compatible agent to vastlint. Tools available: validate_vast, validate_vast_url, list_rules, explain_rule, and fix_vast. Listed on the MCP Registry.
Language bindings
Go bindings shipped at vastlint-go. All bindings are backed by the same vastlint-core via FFI. One validation engine, every language.
In progress
Chrome extension
The VAST Lint Chrome extension has been submitted to the Chrome Web Store and is currently under review. It detects VAST XML on any page and overlays inline squiggly underlines, hover tooltips, and a collapsible validation panel, all powered by the vastlint WASM core. No data leaves the browser.
While it awaits CWS approval, you can install it manually: download vastlint-extension.zip from the latest GitHub Release, unzip it, open chrome://extensions, enable Developer mode, and click Load unpacked.
Additional language bindings
Python, Ruby, and Java bindings are in progress. Erlang/Elixir NIFs for BEAM-based ad servers and RTB platforms are planned: high-throughput VAST validation inside your OTP supervision tree.
Upcoming
Side-spec validation
vastlint currently validates VAST XML against the IAB VAST 2.0–4.3 specification. The following adjacent specifications are scoped for future validation support. All rules will land in vastlint-core, gated on document type or the relevant attribute predicate, so tags that don't use the feature pay zero cost.
SIMID (1.0 – 1.2)
The Secure Interactive Media Interface Definition (SIMID) governs the <InteractiveCreativeFile> element in VAST 4.x. Planned rules include:
| Rule ID (draft) | Severity | Description |
|---|---|---|
SIMID-type-missing | Error | type attribute missing or empty on <InteractiveCreativeFile> |
SIMID-url-not-https | Error | SIMID creative URL is not HTTPS |
SIMID-video-fallback-missing | Warning | No <MediaFile> fallback present alongside a SIMID creative |
SIMID-nonlinear-missing-nonlinear-ads | Warning | SIMID nonlinear creative not nested inside <NonLinearAds> |
SIMID-apiframework-casing | Warning | apiFramework attribute is not exactly SIMID (case-insensitive match, canonical casing warning) |
Spec source: SIMID on GitHub (IAB Tech Lab, Apache 2.0).
OMID
Open Measurement Interface Definition (OMID) governs <AdVerifications><Verification> blocks in VAST 4.1+. Planned rules validate vendor attribute format, HTTPS on <JavaScriptResource>,apiFramework casing, and duplicate vendor detection.
VMAP 1.0
Video Multiple Ad Playlist (VMAP) documents wrap VAST tags into an ad break schedule. Planned rules cover AdBreak structure, timeOffset format, breakType enum values, and ad pod constraints.
DAAST 1.0
Digital Audio Ad Serving Template (DAAST) is a structural sibling of VAST for audio-first creative types. Planned validation covers the document structure differences and audio-specific required fields.
IAB Content Taxonomy authority validation
<Category> and <BlockedAdCategories> elements accept an authority URI. Planned rules validate that the authority URI matches a known IAB Content Taxonomy registry value.
Infrastructure
AWS Marketplace
Deploy vastlint as a private Lambda or container in your own AWS account. No VAST tag content leaves your infrastructure. Suitable for SSPs and DSPs with data residency requirements.
Realtime pipeline integration
Continuous validation of live VAST traffic: per-partner error rates, alerting, and revenue impact dashboards. Designed for RTB pipelines processing thousands of tags per second.
Have a use case we haven't covered?
Open a discussion on GitHub Discussions or file a feature request issue. The roadmap is driven by real production use cases. If something is blocking you, say so.