
Classes and data types now accept primary constructors. Functions can declare contracts with `in`/`out`/`old()`, and test blocks use the new `observe` keyword instead of the old expect builtins. Other syntax additions: triple-quoted strings, raw string literals, if-expressions, the Never type, `ok`/`err` with `?else` for result handling, and `defer` for cleanup. The standard library has a declarative CLI system, HTTP serving, process execution, file watching, and YAML/Markdown/template/time builtins. Mutation testing now classifies survivors as LIE or GAP, with a leverage analyzer that explains why mutants survived in plain language. The website generator was rewritten from Python to Vary.

<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>Primary constructors</td><td>Classes and data types accept constructor parameters directly in the declaration, with init blocks for validation.</td></tr>
<tr><td>Contracts</td><td><code>in {}</code>, <code>out {}</code>, and <code>old()</code> expressions for preconditions and postconditions on functions.</td></tr>
<tr><td>observe keyword</td><td>Replaces expect_* builtins in test blocks with a single <code>observe</code> keyword for oracle-boundary semantics.</td></tr>
<tr><td>throws expression</td><td><code>observe throws { expr }</code> for asserting that an expression raises an error.</td></tr>
<tr><td>Named arguments</td><td>All function, method, and constructor calls support named arguments.</td></tr>
<tr><td>Triple-quoted strings</td><td>Multi-line string literals with escape sequences and automatic dedent.</td></tr>
<tr><td>Raw string literals</td><td><code>r"..."</code> and <code>r'...'</code> for strings without escape processing.</td></tr>
<tr><td>if-expressions</td><td>Use <code>if</code>/<code>elif</code>/<code>else</code> as expressions that return values.</td></tr>
<tr><td>Never type</td><td>Bottom type for functions that never return normally.</td></tr>
<tr><td>ok/err and ?else</td><td>Result-style error handling with <code>ok()</code>, <code>err()</code>, and the <code>?else</code> unwrap operator.</td></tr>
<tr><td>defer</td><td>Deferred cleanup blocks that run when the enclosing scope exits.</td></tr>
<tr><td>Tuples 6-8 arity</td><td>Extended tuple support from 5-element to 8-element tuples.</td></tr>
<tr><td>Set literals</td><td><code>set{}</code> literal prefix and empty typed collection expressions.</td></tr>
<tr><td>Declarative CLI system</td><td>stdlib/cli/ module for declarative command-line argument parsing.</td></tr>
<tr><td>HTTP server builtin</td><td><code>serve()</code> builtin for static HTTP file serving.</td></tr>
<tr><td>Process execution</td><td><code>run()</code> and <code>cmd()</code> builtins for structured subprocess execution.</td></tr>
<tr><td>File watching</td><td><code>watch()</code> and <code>watch_once()</code> builtins for filesystem change monitoring.</td></tr>
<tr><td>Yaml, Markdown, Template, Time</td><td>New runtime builtins for YAML parsing, Markdown rendering, template engines, and time operations.</td></tr>
<tr><td>vary install/uninstall</td><td>Package install and uninstall commands for dependency management.</td></tr>
<tr><td>argv() fix</td><td>Fixed <code>argv()</code> returning an empty list.</td></tr>
<tr><td>Match/case return fix</td><td>Fixed codegen bug where match/case expressions did not return values correctly.</td></tr>
<tr><td>Elif/if-expr null narrowing</td><td>Null safety narrowing now works inside elif branches and if-expressions.</td></tr>
<tr><td>Mutation semantic pillars</td><td>Eight mutation testing pillars: oracle graph, contract mutation, effect classification, stable signatures, manifest, expression IDs, oracle validation, and integrity scoring.</td></tr>
<tr><td>Lie detector</td><td>LIE vs GAP classification with proof mutations for mutation survivor analysis.</td></tr>
<tr><td>Mutation UX 2.0</td><td>Leverage analyzer, human-readable survivor explanations, and structured output for mutation results.</td></tr>
<tr><td>Website generator rewrite</td><td>Website build tool rewritten from Python to Vary (<code>programs/wg</code>).</td></tr>
<tr><td>SHA256 download verification</td><td>All binary downloads verified with SHA256 checksums.</td></tr>
<tr><td>varyup Go 1.26.1</td><td>Upgraded varyup toolchain manager to Go 1.26.1 to fix stdlib CVEs.</td></tr>
</tbody>
</table>
</div>
