Repository navigation
Releases
Nyx v5.0.1 — Daydream
Nyx v5.0.1 — Daydream
Nyx v5.0.1 is a Windows and native self-host reliability patch for the stable Daydream compiler line. It fixes the failures reported in issue #6 without changing the v5 language, Typed HIR v1, Bundle ABI v1, or backend maturity contracts.
Fixed
- The Nyx-authored type checker now registers C++ foreign-import aliases before checking function bodies, so
examples/07_foreign_cpp.nyxrecognizesfs. - Optional
nullvalues now lower tostd::nulloptinstead ofnullptrin the self-hosted C++ emitter. - Generated C++ defines
_CRT_SECURE_NO_WARNINGSbefore CRT headers, avoiding MSVC and clang-clgetenvdeprecation diagnostics. examples/04_in_file_tests.nyxnow checks the actual"Holy Easy"concatenation result, allowing all three in-file tests to run.- The Windows installer prefers
npm.cmdornpm.exewhen PowerShell blocksnpm.ps1, and an optional VS Code extension failure no longer aborts the core compiler installation. - Installation docs now distinguish the release compiler
nyxc.exefrom the installer-created unified commandnyx.cmd; no separatenyx.exeasset is expected.
Install
Windows PowerShell
$env:NYX_RELEASE_TAG = 'v5.0.1'; irm https://raw.githubusercontent.com/justsomeone-e/nyx/v5.0.1/install.ps1 | iex
Linux / macOS
curl -fsSL https://raw.githubusercontent.com/justsomeone-e/nyx/v5.0.1/install.sh | NYX_RELEASE_TAG=v5.0.1 bash
Verification
A freshly built standalone native compiler compiled and executed all three reported examples successfully on Windows. The tagged GitHub Actions workflow is authoritative for the complete regression battery, Stage1 → Stage2 → Stage3 reproducibility, Python/Nyx canonical Typed HIR parity, four-platform native binaries, VSIX, checksums, SBOM, and provenance.
C++20, JavaScript, and Python remain stable backends. LLVM and C17 remain explicitly experimental.
Nyx v5.0.0 — Daydream
Nyx v5.0.0 — Daydream
Nyx v5.0.0 is the stable v5 compiler and toolchain release.
This release preserves the stable C++20, JavaScript, and Python targets while introducing the direct LLVM IR pipeline as an explicitly experimental backend.
Highlights
- Stable Typed HIR v1 compiler pipeline
- Reproducible native self-hosting
- Stable C++20, JavaScript, and Python targets
- Direct LLVM IR generation through the compiler API and CLI
nyx build --target llvmnyx run --target llvm- Scalar LLVM support for integers, floats, booleans, structs, and arrays
- Checked array indexing and deterministic bounds diagnostics
- Experimental C17 scalar backend
- WebAssembly tooling and Bundle ABI v1
- Updated VS Code language support extension
- Deterministic release packaging and SHA-256 manifests
Backend status
- C++20: Stable
- JavaScript: Stable
- Python: Stable
- WebAssembly: Supported
- Rust: Preview
- C17: Experimental
- LLVM: Experimental
LLVM and C17 are not promoted to stable backend status in v5.0.0.
Installation
Windows PowerShell
$env:NYX_RELEASE_TAG = 'v5.0.0'
irm https://raw.githubusercontent.com/justsomeone-e/nyx/v5.0.0/install.ps1 | iexLinux / macOS
curl -fsSL https://raw.githubusercontent.com/justsomeone-e/nyx/v5.0.0/install.sh | NYX_RELEASE_TAG=v5.0.0 bashLLVM builds require Clang to be available on PATH.
Release assets
This release includes native binaries for Windows x64, Linux x64, macOS x64, and macOS ARM64, source archives, the VS Code extension, SHA-256 manifests, SBOM, and provenance metadata where available.
Verify downloaded files using the provided SHA-256 manifest.
Validation
The stable release was prepared from tag v5.0.0.
Stable backend contracts remain protected. Experimental backends are capability-gated and do not change the default C++20 backend.
Full changelog:
Nyx v5.0.0-rc.1 — Daydream
Nyx v5.0.0-rc.1 — Daydream
Daydream is the first release candidate for the Nyx v5 compiler line.
This release moves direct LLVM IR generation from an isolated scalar experiment into the canonical Nyx compiler API and CLI pipeline. C++20 remains the default stable native backend while LLVM continues as an explicitly experimental target.
Highlights
- Added canonical Typed HIR → LLVM IR compilation.
- Added
nyx build <file.nyx> --target llvm. - Added
nyx run <file.nyx> --target llvm. - Generated
.llfiles compile directly with Clang without generated C++. - Added signed 64-bit wrapping integer semantics.
- Added IEEE binary64 floating-point and Boolean operations.
- Added functions, recursion, conditionals, loops,
break, andcontinue. - Added scalar-field LLVM Struct types.
- Added Struct construction, field access, mutation, and value-copy semantics.
- Added stack-owned
Array<int>,Array<float>, andArray<bool>. - Added checked Array indexing and deterministic bounds failures.
- Added independent local Array copies.
- Added function-boundary Array copies using
llvm.memcpy. - Added Array length methods and
for value in arraylowering. - Added multi-argument
printwith C++ output parity. - Connected LLVM to the compiler API, CLI, legacy facade, and capability registry.
LLVM example
fn main() {
var values: Array<int> = [10, 20, 30]
var copied: Array<int> = values
copied[1] = 99
print("original:", values[1])
print("copy:", copied[1])
}
nyx build main.nyx --target llvm
nyx run main.nyx --target llvmGenerated LLVM IR is preserved at:
build/llvm/main.ll
LLVM maturity
LLVM remains experimental.
Not yet supported through the LLVM backend:
- Escaping or returned Arrays
- Nested Arrays
- Aggregate Struct fields
- Complete string ownership
- Exceptions
- Tasks and closures
- Complete standard-library bindings
- LLVM emission from the native self-hosted compiler
Python remains the stage-0 orchestration frontend for this experimental backend. The native self-hosted compiler retains its existing C++ emission path.
Install
Windows PowerShell
$env:NYX_RELEASE_TAG = 'v5.0.0-rc.1'; irm https://raw.githubusercontent.com/justsomeone-e/nyx/v5.0.0-rc.1/install.ps1 | iexLinux / macOS
curl -fsSL https://raw.githubusercontent.com/justsomeone-e/nyx/v5.0.0-rc.1/install.sh | NYX_RELEASE_TAG=v5.0.0-rc.1 bashLLVM builds require Clang on PATH.
Assets
nyx-v5.0.0-rc.1-universal.zipnyx-v5.0.0-rc.1-source.tar.gznyx-language-support-v5.0.0-rc.1.vsixnyxc-windows-x86_64.exenyxc-windows-x86_64.exe.sha256SHA256SUMS
The deterministic source archives correspond to commit 98d7c770b384339ca0240fd46719f934bec9293b.
Validation
The following targeted gates passed:
- Version contract
- Public compiler API
- Direct LLVM backend suite
- Real LLVM CLI build and execution
- VS Code extension contract
- Deterministic release packaging
- Local asset SHA-256 verification
The tagged GitHub Actions workflow remains the authoritative cross-platform release gate.
This is a pre-release. The LLVM backend is not stable yet.
Nyx v4.5.0 — Ivory
Nyx v4.5.0 — Ivory
Ivory is the compatibility bridge between the stable Nyx v4 language contract and the upcoming v5 compiler architecture.
This release strengthens the Typed HIR pipeline, standard library, package tooling, editor integration, WebAssembly support, and secondary backends without changing the default C++20 backend.
Highlights
- Expanded Typed HIR verification and backend capability contracts.
- Improved Python/Nyx canonical HIR parity.
- Extended Rust support for value-copy semantics, lexical
defer, payload enums,Result,Option, tasks, channels, and crate imports. - Added WASI preview1 capabilities and improved WebAssembly Array and string handling.
- Added fallible
std/str,std/path, andstd/processAPIs. - Added deterministic package resolution, SemVer ranges, offline caching, lockfiles, and SHA-256 verification.
- Improved VS Code diagnostics, references, rename support, and semantic tokens.
- Added real consumer examples for native CLI, host embedding, WebAssembly, and package consumption.
- Added experimental scalar C17 and direct LLVM IR emitters.
- Added deterministic release packaging and compiler benchmark infrastructure.
Backend status
Stable
- C++20
- JavaScript ES2022
- Python 3
Beta
- Rust 2021
- WebAssembly
- React 19
- x86-64 Assembly
Experimental
- C17
- Direct LLVM IR
The default backend remains C++20.
Install
Windows PowerShell
$env:NYX_RELEASE_TAG = 'v4.5.0'; irm https://raw.githubusercontent.com/justsomeone-e/nyx/v4.5.0/install.ps1 | iexLinux / macOS
curl -fsSL https://raw.githubusercontent.com/justsomeone-e/nyx/v4.5.0/install.sh | NYX_RELEASE_TAG=v4.5.0 bashAssets
nyx-v4.5.0-universal.zipnyx-v4.5.0-source.tar.gznyx-language-support-v4.5.0.vsixnyxc-windows-x86_64.exenyxc-windows-x86_64.exe.sha256SHA256SUMS
The deterministic source archives correspond to commit 741b3577dca717090066ef9e47ddda5b5aa86c89.
Linux and macOS native binaries, SBOM files, and provenance attestations should be obtained from the successful tagged GitHub Actions workflow.
Verify downloaded files against SHA256SUMS before installation.
Nyx v4.0.0 Nirvana
Nyx v4.0.0 — Nirvana
Nyx v4.0.0 establishes the stable language and toolchain contract for the
compiler-focused v4 line. It incorporates the unpublished RC3 work into Nirvana.
The stable semantic set is C++20/native, JavaScript, and Python. Rust,
WebAssembly, React, and assembly remain available under their explicit beta
capability contracts; this release does not promote those backends to stable.
These notes are prepared for publication. The exact release revision, platform
validation, and artifact evidence are tracked in the
Nirvana release checklist.
Highlights
- Self-host lexing decodes the source into code points once, avoiding repeated
whole-source scans. Generated C++ string literals retain their full UTF-8
byte length, including combining characters and embedded NULs. - Stable backends agree on empty/out-of-range string indexing and code-point
length methods, backed by focused runtime regressions. - Nyx-authored lexer, parser, type checker, typed-HIR lowerer, and C++ emitter
remain reproducible through the native stage-1 -> stage-2 -> stage-3 chain. - Rust 2021 now lowers postfix
?through typed HIR and runs activedefer
expressions in LIFO order before an earlyErrreturn. - JavaScript builds support import-safe ES2022
.mjsoutput with explicit
exports and no implicitmain()side effect. - WebAssembly adds deterministic borrowed scalar-struct parameters, typed JS
object marshalling, generated TypeScript interfaces, and explicit
array/struct ABI capability metadata. nyx build --target wasm --wasiemits WASI preview1 executables with
fd_write,_start, and UTF-8 string stdout support.- Unsupported advanced semantics are rejected through capability-derived
E3001diagnostics instead of target-specific silent approximations. - Tour of Nyx grows from 67 to 81 verified exercises across 21 modules, adding
payload enums, Result propagation, collection transforms, async task
semantics, Unicode expressions, and real standard-library boundaries. - The browser example suite expands the typed
std/webCanvas surface while
keeping generated adapters as the host bridge. - The stable HIR runtime trio (
cpp,js,python) retains shared typed-HIR
semantics, including independent Array/Struct value copies and code-point
based Unicode string length, indexing, and iteration. Rust, WASM, React, and
assembly remain governed by their explicit capability contracts. - The release includes native-first installers, a local VS Code
.vsix,
deterministic source archives, checksums, an SPDX SBOM, and GitHub provenance
attestations once the tagged workflow completes.
Scope
The Maya scope reset remains in force. Microcontroller/freestanding firmware,
board profiles, flashing, and physical HAL modules are not part of Nyx v4.
The active scope is compiler correctness, HIR parity, self-hosting, native and
WebAssembly output, readable syntax, diagnostics, and deterministic tooling.
Install Nirvana
The following pinned commands become available when the v4.0.0 tag and
matching release assets are published.
Windows PowerShell
$env:NYX_RELEASE_TAG = 'v4.0.0'; irm https://raw.githubusercontent.com/justsomeone-e/nyx/v4.0.0/install.ps1 | iexLinux / macOS
curl -fsSL https://raw.githubusercontent.com/justsomeone-e/nyx/v4.0.0/install.sh | NYX_RELEASE_TAG=v4.0.0 bashFor a reviewed installation path, download the matching release archive, inspect
the installer, verify SHA256SUMS, then run it locally.
Validation
- The maintainer reported 48/48 suites and the 138/138 regression battery
passing after the self-host UTF-8 fixes. Later string boundary and length
method fixes passed targeted C++/JavaScript/Python runtime tests. The full
suite must be rerun on the final release revision; these are separate results. - Release gates include the 138-point regression battery, 530-case fuzz corpus,
Python/Nyx HIR byte parity, Rust/JS/WASM backend conformance, Bundle/host ABI
runtime conformance, all 81 Tour exercises, deterministic package locks, and
native self-host reproducibility. - The tagged GitHub Actions workflow validates the release on Windows, Linux,
Intel macOS, and ARM macOS and
produces the platform artifacts. Treat published checksums and attestations
from that workflow as the release evidence.
After Nirvana
v4.0.x carries compatible fixes. v4.5.0 prepares tooling, libraries, measured
performance improvements, and v5 migration guidance while preserving the v4
source, HIR, and ABI contracts. New backend experiments and breaking designs
are tracked separately from the stable v4 promise.
nyx v4.0.0-rc.2 (Official Release)
Nyx v4.0.0-rc.2 — Bodhi
Nyx v4.0.0-rc.2 is the WebAssembly/browser release candidate for the
compiler-focused v4 line. It is intended for evaluation, compatibility testing, and feedback;
it is not the v4.0.0 Nirvana stable release and does not freeze every public
API.
Highlights
- Nyx-authored lexer, parser, type checker, typed-HIR lowerer, and C++ emitter
remain reproducible through the native stage-1 -> stage-2 -> stage-3 chain. nyx build --target wasmandnyx bundleemit valid WAT/WASM, a grow-safe
ES2022 loader, pointer-free TypeScript declarations, and optional npm package
metadata in one compiler pass.- The versioned
nyx_host_v1import contract powers typedstd/webDOM,
event, lifecycle, and Canvas operations with a checked host ABI. - npm bundles can include React 19, Vue 3, and Svelte 5 adapters. The pure-Nyx
browser Pong example exercises keyboard input and animation without handwritten
application JavaScript. - Local path dependencies resolve recursively into deterministic,
slash-normalized, content-hashed lock entries with cycle diagnostics. - Transparent aliases now type-check identically in the Python and Nyx-authored
frontends. - The stable HIR runtime trio (
cpp,js,python) retains shared typed-HIR
semantics. Rust, WASM, React, and assembly remain governed by their explicit
capability contracts. - The release includes native-first installers, a local VS Code
.vsix,
deterministic source archives, checksums, an SPDX SBOM, and GitHub provenance
attestations once the tagged workflow completes.
Scope
The Maya scope reset remains in force. Microcontroller/freestanding firmware,
board profiles, flashing, and physical HAL modules are not part of Nyx v4 RC2.
The active scope is compiler correctness, HIR parity, self-hosting, native and
WebAssembly output, readable syntax, diagnostics, and deterministic tooling.
Install RC2
Windows PowerShell
$env:NYX_RELEASE_TAG = 'v4.0.0-rc.2'; irm https://raw.githubusercontent.com/justsomeone-e/nyx/v4.0.0-rc.2/install.ps1 | iexLinux / macOS
curl -fsSL https://raw.githubusercontent.com/justsomeone-e/nyx/v4.0.0-rc.2/install.sh | NYX_RELEASE_TAG=v4.0.0-rc.2 bashFor a reviewed installation path, download the matching release archive, inspect
the installer, verify SHA256SUMS, then run it locally.
Validation
- The unified local test framework passed completely.
- Release gates include the 138-point regression battery, 530-case fuzz corpus,
Python/Nyx HIR byte parity, Bundle/host ABI runtime conformance, deterministic
package locks, and native self-host reproducibility. - The tagged GitHub Actions workflow validates the full release candidate and
produces the platform artifacts. Treat published checksums and attestations
from that workflow as the release evidence.
Full Changelog: v4.0.0-rc.1...v4.0.0-rc.2
nyx v4.0.0-rc.1 (Official Release)
Nyx v4.0.0-rc.1 — Samsara
Nyx v4.0.0-rc.1 is the first public release candidate for the compiler-focused
v4 line. It is intended for evaluation, compatibility testing, and feedback;
it is not the v4.0.0 Nirvana stable release and does not freeze every public
API.
Highlights
- Nyx-authored lexer, parser, type checker, typed-HIR lowerer, and C++ emitter
remain reproducible through the native stage-1 -> stage-2 -> stage-3 chain. - Default arguments now lower consistently through the Python and self-hosted
paths, including calls that omit trailing defaulted parameters. - Flat array and struct destructuring is available with single-evaluation
semantics, checked bounds/arity failures, const bindings, and hygienic
compiler temporaries. - The stable HIR runtime trio (
cpp,js,python) retains shared typed-HIR
semantics. Rust, WASM, React, and assembly remain governed by their explicit
capability contracts. - The release includes native-first installers, a local VS Code
.vsix,
deterministic source archives, checksums, an SPDX SBOM, and GitHub provenance
attestations once the tagged workflow completes.
Scope
The Maya scope reset remains in force. Microcontroller/freestanding firmware,
board profiles, flashing, and physical HAL modules are not part of Nyx v4 RC1.
The active scope is compiler correctness, HIR parity, self-hosting, native and
WebAssembly output, readable syntax, diagnostics, and deterministic tooling.
Install RC1
Windows PowerShell
$env:NYX_RELEASE_TAG = 'v4.0.0-rc.1'; irm https://raw.githubusercontent.com/justsomeone-e/nyx/v4.0.0-rc.1/install.ps1 | iexLinux / macOS
curl -fsSL https://raw.githubusercontent.com/justsomeone-e/nyx/v4.0.0-rc.1/install.sh | NYX_RELEASE_TAG=v4.0.0-rc.1 bashFor a reviewed installation path, download the matching release archive, inspect
the installer, verify SHA256SUMS, then run it locally.
Validation
- The unified local test framework passed completely.
- 138/138 regression battery, 530-case fuzz corpus, 194-case Python/Nyx HIR
byte parity, default arguments, destructuring, and native self-host
reproducibility all passed. - The tagged GitHub Actions workflow validates the full release candidate and
produces the platform artifacts. Treat published checksums and attestations
from that workflow as the release evidence.
Full Changelog: v4.0.0-dev.1...v4.0.0-rc.1
nyx v4.0.0-dev.1 (Maya)
Nyx v4.0.0-dev.1 — Maya
Nyx v4 Maya development release.
Included
- Maya expressive syntax
- Expression-bodied functions
- Value-producing
ifandmatch - Single-evaluation match subjects
- C++, JavaScript, Python, Rust, and WASM backend parity
- Self-hosted parser and type-checker parity
- Native compiler bootstrap
- VS Code LSP and completion support
- 138/138 regression battery
- Embedded/Nucleo capability contracts
- Native-first installer fixes
Verification
- Full unified test suite: PASS
- Regression battery: 138/138 PASS
- Maya cross-backend suite: PASS
- Bootstrap parser/type-checker parity: PASS
- Installer contract: PASS
This is not the final stable release. It is the final frozen development snapshot of Nyx v4 Maya.
nyx v3.0.0-beta.6 (Official Release)
⚡ nyx v3.0.0-beta.6
Next-Generation Multi-Target Systems & Application Programming Language.
🚀 Features in This Release
- Phase 3 Native FFI & Systems Core:
- Zero-cost C/C++ ABI interoperability (
#native include,extern "C"). - Memory safety (
unsafe {}, raw pointers*T,addr,peek,memdump). - Static (
.a/.lib) & shared (.dll/.so) library compilation. - Hardware bindings (
native/gpio,native/serial,native/spi,native/i2c). - Platform abstraction (
native/platform,native/env,native/process,native/net). - Native SDK & library package manager (
nyx new --lib,nyx build,nyx test).
- Zero-cost C/C++ ABI interoperability (
- Multi-Backend Compilation:
hecpp: ISO C++20 backend frozen at Gate 8 (Production Native.exevia LLVM Clang / GCC).hejs: Node.js ES2022 backend frozen at Gate 8.hepy: Canonical reference evaluation engine.hers: Rust 2021 active conformance backend (Gate 6).
- Module & Dependency Resolution:
- Pure-Python TOML parser and deterministic lockfile generation (
nyx.toml,nyx.lock). - Full topological import graph (
import "./file",import "native/gpio").
- Pure-Python TOML parser and deterministic lockfile generation (
- Developer Tooling & LSP:
- Language Server Protocol (
completion,hover,definition,diagnostics). - CLI suite (
new,check,build,run,test,doctor,fmt,lint,debug,profile,doc).
- Language Server Protocol (
📦 Automated Installation
Windows (PowerShell):
irm https://raw.githubusercontent.com/justsomeone-e/nyx/main/install.ps1 | iexLinux / macOS (Bash):
curl -fsSL https://raw.githubusercontent.com/justsomeone-e/nyx/main/install.sh | bashFull Changelog: v3.0.0-beta.5...v3.0.0-beta.6
nyx v3.0.0-beta.4 (Official Release)
⚡ nyx v3.0.0-beta.4
Next-Generation Multi-Target Systems & Application Programming Language.
🚀 Features in This Release
- Phase 3 Native FFI & Systems Core:
- Zero-cost C/C++ ABI interoperability (
#native include,extern "C"). - Memory safety (
unsafe {}, raw pointers*T,addr,peek,memdump). - Static (
.a/.lib) & shared (.dll/.so) library compilation. - Hardware bindings (
native/gpio,native/serial,native/spi,native/i2c). - Platform abstraction (
native/platform,native/env,native/process,native/net). - Native SDK & library package manager (
nyx new --lib,nyx build,nyx test).
- Zero-cost C/C++ ABI interoperability (
- Multi-Backend Compilation:
hecpp: ISO C++20 backend frozen at Gate 8 (Production Native.exevia LLVM Clang / GCC).hejs: Node.js ES2022 backend frozen at Gate 8.hepy: Canonical reference evaluation engine.hers: Rust 2021 active conformance backend (Gate 6).
- Module & Dependency Resolution:
- Pure-Python TOML parser and deterministic lockfile generation (
nyx.toml,nyx.lock). - Full topological import graph (
import "./file",import "native/gpio").
- Pure-Python TOML parser and deterministic lockfile generation (
- Developer Tooling & LSP:
- Language Server Protocol (
completion,hover,definition,diagnostics). - CLI suite (
new,check,build,run,test,doctor,fmt,lint,debug,profile,doc).
- Language Server Protocol (
📦 Automated Installation
Windows (PowerShell):
irm https://raw.githubusercontent.com/justsomeone-e/nyx/main/install.ps1 | iexLinux / macOS (Bash):
curl -fsSL https://raw.githubusercontent.com/justsomeone-e/nyx/main/install.sh | bashFull Changelog: v3.0.0-beta.1...v3.0.0-beta.4