
The language now has a structured logging DSL with pluggable sinks, `is None`/`is not None` identity syntax, and collection pipelines. A new `vary check` command runs 10 diagnostic rules across 5 categories. Mutation testing has 10 new semantic operators, equivalent-mutant detection, module budgets, heatmaps, and an observability score. VAST ships its first three phases: differential testing (AST interpreter vs JVM bytecode), an IR interpreter with 3-path comparison, and a reducer with corpus replay. The website has dark mode, a sticky mega menu, an articles system, and better mobile layout. `varyup install --archive` supports local installs, and release pipelines run inline smoke tests.

<div class="table-scroll">
<table style="width: 100%; table-layout: fixed;">
<colgroup><col style="width: 240px;"><col></colgroup>
<thead><tr style="background: rgba(0, 0, 0, 0.03);"><th style="text-align: left;">Change</th><th style="text-align: left;">Description</th></tr></thead>
<tbody>
<tr><td>Windows SHA256 fix</td><td>Fixed Windows installer failing to verify SHA256 checksums.</td></tr>
<tr><td>RC pre-flight checks</td><td>Automated pre-flight validation before release candidates.</td></tr>
<tr><td>VAST Phase 3</td><td>Reducer, corpus management, and replay infrastructure for test case minimization.</td></tr>
<tr><td>VAST Phase 2</td><td>IR interpreter, 3-path comparison, and blame reports for divergence analysis.</td></tr>
<tr><td>VAST docs section</td><td>Five documentation pages, landing page, and nav integration for VAST.</td></tr>
<tr><td>VAST Phase 1</td><td>Differential testing comparing AST interpreter output against JVM bytecode.</td></tr>
<tr><td>Collection pipelines</td><td>VEP-0042: collection pipelines, typed decode, regex callbacks, and ergonomics improvements.</td></tr>
<tr><td>Collection pipeline fixes</td><td>Fixed type inference edge cases in collection pipelines and typed decode.</td></tr>
<tr><td>Sticky nav and mega menu</td><td>Sticky navigation bar, mega menu with featured items, and labs section.</td></tr>
<tr><td>10 semantic mutators</td><td>Type-aware semantic mutation operators with contract strength analysis.</td></tr>
<tr><td>Mutation heatmaps</td><td>Visual heatmaps showing mutation coverage density across modules.</td></tr>
<tr><td>Data-flow prioritization</td><td>Budget-aware mutant execution ordered by data-flow impact.</td></tr>
<tr><td>Equivalent-mutant detection</td><td>Suspicion heuristics with auto-quarantine for likely-equivalent mutants.</td></tr>
<tr><td>Lie-shape taxonomy</td><td>Unified survivor interpretation classifying mutation survivors by shape.</td></tr>
<tr><td>Timeout-aware reporting</td><td>Mutation snapshots and reporting that account for timed-out mutants.</td></tr>
<tr><td>Module budgets</td><td>First-match module budgets and operator catalog controls for scoped mutation runs.</td></tr>
<tr><td>Articles system</td><td>Blog articles with draft filtering, <code>--private</code> gating, and <code>--skip</code> support in wg.</td></tr>
<tr><td>Observability score</td><td>Three-metric mutation quality measurement for test suite strength.</td></tr>
<tr><td>Mutation progress bar</td><td>Pulsing spinner with current filename during mutation runs.</td></tr>
<tr><td>ENUM_REPLACE operator</td><td>Mutation operator that substitutes enum variants to test exhaustive matching.</td></tr>
<tr><td>Structured logging DSL</td><td><code>log</code>/<code>logger</code>/<code>context</code> syntax with pluggable sinks for structured log output.</td></tr>
<tr><td>VSCode log DSL highlighting</td><td>Syntax highlighting for log DSL, triple-quoted strings, and new types in the VSCode extension.</td></tr>
<tr><td>Mobile layout improvements</td><td>Responsive tables, dark mode toggle, and hero terminal on mobile.</td></tr>
<tr><td>Dark mode</td><td>Full dark mode support across the website with themed 404 page.</td></tr>
<tr><td><code>varyup install --archive</code></td><td>Install toolchain from a local archive file.</td></tr>
<tr><td>Inline release smoke tests</td><td>Smoke tests run inside the release pipeline instead of a separate gate.</td></tr>
<tr><td><code>--java-path</code> flag</td><td>Launcher flag for JRE provenance checks.</td></tr>
<tr><td>macOS ARM64 e2e</td><td>End-to-end test job for macOS ARM64 in the varyup workflow.</td></tr>
<tr><td>Interactive terminal demo</td><td>Embedded terminal demo on the introduction page.</td></tr>
<tr><td>List[Int] VerifyError fix</td><td>Fixed JVM <code>VerifyError</code> by unifying primitive list type descriptors.</td></tr>
<tr><td>Project policy gates</td><td>Enforce contracts and pure function annotations at the project level.</td></tr>
<tr><td><code>vary check</code> engine</td><td>Rule-based diagnostic engine with 10 check rules across 5 categories, starting with VCI001 none-comparison.</td></tr>
<tr><td><code>is None</code> / <code>is not None</code></td><td>Identity comparison syntax for null checks, replacing <code>== None</code> and <code>!= None</code>.</td></tr>
<tr><td>Type narrowing scope fix</td><td>Fixed narrowed types leaking between function scopes.</td></tr>
<tr><td>Test runner crash fix</td><td>Fixed test runner crashing on JVM <code>VerifyError</code> instead of reporting the error.</td></tr>
<tr><td><code>List.contains(item)</code></td><td>New <code>contains</code> method on lists returning <code>Bool</code>.</td></tr>
<tr><td>Property access error</td><td>Clear error when accessing methods as properties on runtime classes.</td></tr>
<tr><td>Website page speed</td><td>Deferred pagefind loading and image dimension attributes.</td></tr>
<tr><td><code>vary reinstall</code></td><td>Command to reinstall the current toolchain version.</td></tr>
<tr><td>JVM error diagnostics</td><td>Human-readable diagnostics for JVM runtime errors in <code>vary run</code>, <code>test</code>, and <code>mutate</code>.</td></tr>
<tr><td>Dependency closure packaging</td><td>Replaced heuristic JAR packaging with computed dependency closure.</td></tr>
<tr><td>Transitive import fix</td><td>Fixed test compiler transitive imports and project version lookup.</td></tr>
</tbody>
</table>
</div>
