Koru v0.1.3

· 3 min read

v0.1.3 is out. 525 commits since v0.1.2, built and packaged by our new release script — which generates this changelog by feeding git log to Claude.

npm install -g @korulang/koru@0.1.3


v0.1.3

Language & Compiler

  • Struct keyword, labeled loop scopes, and field shadowing (32681fe)
  • Dead strip pass with @retain annotations (cb8ab8c, c0956a8)
  • Source location markers in emitted code for debuggability (ec467f7, 7f7ec52)
  • Field punning shorthand: { c.ast, c.code }{ ast: c.ast, code: c.code } (7ba7369)
  • New tap syntax ~tap(source -> dest) with when-clause filtering (multiple commits)
  • Visibility enforcement for cross-module event calls with ~pub (bfb7ff8)
  • Pattern branches for compile-time transform matching (68c3005)
  • Directory module system with index.kz (35577b0, 6d8314d)
  • Captured block syntax with array indexing (c5c9759, 914dcb2)
  • Auto-dispose mode with disable/warn flags (multiple commits)
  • Glob event matching for transforms with Levenshtein typo suggestions (0e702cf, 0dba5c3)

Interpreter

  • Lightweight flow parser — 144x speedup (ba4a4ba, 071371a)
  • Runtime expression evaluator for ~if conditionals (856f355, 929d498)
  • For loops and scope-based capability control (caab721)

Build & CLI

  • --debug and --tiny flags for build mode control (22813b4, a9305d8)
  • Variant-aware emission with build:config for cross-compilation (d32e8f8)
  • Zig package dependencies (c593f30)
  • CLI command system with koruc init and koruc deps install (0947731, 14ac5ba, ec484c8)

Standard Library

  • @koru/sqlite3 — first official library package (8867ac8, 2b2f75f)
  • args — command-line argument parsing (cf4a42e)
  • rings — ring buffer module (adc95f4)
  • runtime_control — expression evaluator for runtime conditionals (929d498)
  • Raw I/O fast path for print.ln/print.blk (edcf6c8)

Fixes

  • Nested flows (~) inside continuations rejected with clear error (e670726)
  • Improved parser error messages (ce3021e, 38409ee, d488295)
  • Cross-module type prefixes (?*, []const, etc.) (afd8665)
  • Transitive imports in directory modules (8d9b136)
  • Parser escaped character handling (22f5e7c, 2927417)
  • Prevent backend from overwriting .kz source files (4052551)
  • Variable shadowing in if-statement codegen (9d93a97)
  • Wildcard tap infinite recursion prevention (da8fd88)
  • 40+ additional fixes — see full CHANGELOG

524 commits since initial commit


Koru is an event-continuation language that compiles to Zig. Read the source, or start with Introducing Koru.