Skip to content

v0.2.2-rc1

Latest

Choose a tag to compare

@EdwardJoke EdwardJoke released this 02 Jun 09:58

Changelog

All notable changes to this project will be documented in this file.

The format is based on Keep a Changelog,
and this project adheres to Semantic Versioning.

[v0.2.2-rc1] - 2026-06-02

Added

  • -h / --help flag — shows CLI help (was missing, now works everywhere) (M1)
  • lint - stdin support — pipe source directly to type-checker: echo 'let x = 1' | m4 lint - (M1)
  • use fs module — file system operations: fs.read(path), fs.write(path, data), fs.exists(path), fs.delete(path) (S1)
  • use str module — string utilities: str.len(s), str.slice(s, start, end) (C1)
  • skills/m4-coder/SKILL.md — AI agent reference for writing correct m4 code (M5)
  • Error codes r012 (Division by Zero) and r013 (Modulo by Zero)

Fixed

  • Zig stack traces suppressed in CLI error output — users now see clean messages instead of internal file:line traces (M1)
  • Division by zero returns Runtime error [r012]: division by zero instead of crashing with Zig panic (M1)
  • Modulo by zero returns Runtime error [r013]: modulo by zero instead of crashing with Zig panic (M1)
  • fsRead now validates ftell return value before casting to usize — prevents crash on unseekable files

Changed

  • m4 explain exits cleanly without stack trace when called with no error code (M1)
  • CLI help: --target flag deduplicated (was -target, --target), build flags integrated into flags section (C2)
  • ROADMAP.md removed — self-hosting compiler plan condensed into AGENTS.md "Future Roadmap" section (M3)
  • AGENTS.md, README, build.zig.zon bumped to v0.2.2-rc1 (M2)
  • SPEC.md bumped to Draft v0.2.2, module list updated with str entry
  • README synced with current CLI help output and stdlib module list (wsp-sync)

Removed

  • ROADMAP.md — 312-line standalone file, key content absorbed into AGENTS.md (M3)

Generated by Relote

Full Changelog: v0.2.1...v0.2.2-rc1