<

v114-alpha.1

2026-03-29

Explicit imports for non-prelude types, a first-class Path type, the ? propagation operator for Result, a typed JSON decode DSL, and a new system stdlib module. The compiler gained five new test suites (800+ tests), VAST added ledger durability and staleness detection, and generate-test-docs was rewritten as a multi-file Varyonic project. Eighty commits, 104k lines added across 1,125 files.

ChangeDescription
Prelude disciplineNon-prelude types now require explicit imports. Json, Path, Clock, Rng, Decimal, Template, and all other stdlib types must be imported from their owning module. Core types (Int, Float, Bool, Str, List, Dict, Set, Result) remain in the prelude.
First-class Path typeNew Path value type with path.join(), path.normalize(), equality, the / join operator, and .to_str(). Stdlib APIs (fs, system, template) accept and return Path values instead of raw strings.
Result propagation (?)The ? operator unwraps Result[T, E] on Ok and returns early with Err on failure. Works in any function that returns Result. Companion helpers: .map(), .flat_map(), .map_err(), .unwrap_or(), .is_ok(), .is_err().
JSON decode DSLTyped decode API via Decoder with short accessor methods, or-none variants, defaults, validation, and enum constraints. Nested object traversal with .field(name) and .at(index). Errors include the full JSON path.
Template returns Resulttemplate.create() and engine.render() return Result instead of throwing. TemplateError has .kind() and .message() methods.
system stdlib moduleNew module with system.script_dir(), system.stdin()/stdout()/stderr() streams, system.env() access, and system.exit(). Replaces scattered built-in functions with a single namespace.
across shrinkingProperty-based testing with across now shrinks failing inputs to minimal counterexamples. Added stateful property testing support.
VAST ledger durabilityVAST results stored in a persistent ledger with retention policy, history summaries, and staleness detection. Corpus results survive across runs.
PIT mutation testingKotlin-level mutation testing with PIT integrated into the RC pipeline. Covers 42 classes with conditional and return-value mutators.