Open Manual

Changelog

Nytrix uses dated milestones. Use ny --version for snapshots.

[0.8.0] - 2026-07-13 — Native execution, proof tooling, and platform parity

Added

NYIR through internal object, linker, and W^X JIT paths. This includes local

calls, relocations, runtime symbols, persistent REPL bindings, and explicit

rejection of unsupported shapes.

flow, signed division/modulo, local pointer memory, internal ELF64 linking,

and assembler-, compiler-, LLVM-, and linker-free QEMU runtime validation.

register/stack by-value arguments, two-eightbyte returns, hidden sret, and

validated non-x86 call decoding. AArch64, ARM, and RISC-V also support proven

local address/load/store shapes.

global/extern relocation, pointer lvalues, and target-aware scalar imports.

Reloadable native NYIR artifacts are available through --emit-bc,

--native-precompile, and --nyir-run-bin without changing LLVM bitcode

behavior on LLVM backends.

headers, macros, typedefs, layouts, callbacks, variadics, libc declarations,

and external scalar globals. Floating/pointer callbacks and complex aggregate

layouts gained native ABI coverage; project headers remain strictly checked.

c.* namespace. Explicit aliases opt into namespacing, while existing Nytrix

declarations retain precedence.

witnesses; false or dynamic obligations fail compilation, and ordinary values

cannot satisfy proof parameters. std.math.logic adds evaluation,

simplification, certificates, bounded solvers, rewriting, and Prolog-style

unification and backtracking.

change notifications behind std.os.fs.watch, with an mtime fallback.

output, and supported file limits, including suspended Windows Job Object

startup and explicit unsupported-limit reporting.

suite timeouts, and host-aware concurrency capped at eight workers with

6 GiB reserved per worker.

Changed

result oracles, JIT loading, and proof analysis now live in focused modules.

without running it, while ordinary files and -c execute through the selected

host-native path.

immediate operands, indexes DCE label references once, and preserves floating

types across collapsed equivalence classes.

native precompile improved from 430.8 +/- 55.4 ms to 221.4 +/- 21.1 ms over

ten warm runs.

169.7 +/- 6.0 ms with MCJIT over ten warm runs (4.51 +/- 0.23x faster).

A one-shot print(42) native path measured 39.1 ms mean. ORC remained slower

on the trivial probe, so MCJIT remains the default LLVM JIT.

call body from 11 to 9 instructions and frame-relative accesses from 3 to 2.

editor emit-only time from 7.109 +/- 0.032 s to 6.459 +/- 0.121 s.

removing a measured 18-22 GiB peak. Cache format updates reject mixed

stdlib/user entries and sanitizer-contaminated native objects.

the compiler and standard bundle.

documentation; analysis reports no missing public API docs, and the

471-module portal builds successfully.

idle CPU use and edit-to-recompile latency.

Fixed

layouts on demand, without registering anonymous carriers as builtin scalars.

Installed system headers recover useful declarations from unsupported syntax;

project headers remain strict.

finalize before entry. Native-only link discovery also matches JIT behavior

and deduplicates source annotations.

preservation, eliminating nondeterministic native ELF results.

handling.

plain output, and valid LLDB diagnostics.

imports, trace/debug progress suppression, ELF32 return bounds, watcher

lifetime, parser recovery, and dictionary helper ambiguity.

multi-platform workflow.

[0.7.0] - 2026-06-30 — LLVM-free native backend and C interoperability

Added

Changed

Fixed

[0.6] - 2026-06-30 — Fuzzing, crypto/math expansion, renderer polish

Added

Changed

Fixed

[0.5] - 2026-06-05 — Editor/viewer framework

Added

Changed

Fixed

[0.4] - 2026-05-30 — Ownership, typed pipeline, CLI unification

Added

Changed

Fixed

[0.3] - 2026-04-13 — Graphics stack and platform expansion

Added

Changed

Fixed

[0.2] - 2026-03-09 — Compiler, runtime, and stdlib foundation

Added

Changed

Fixed

[0.1] - 2025-12-24 — Prototype bootstrap

Added