Releases: MiniLangProject/MiniLangCompilerML
Release list
MiniLang Compiler 1.2.8
MiniLang Compiler 1.2.8
This release strengthens MiniLang's collection safety and numeric intent while
preserving cross-compiler target-output compatibility.
divprovides explicit integer floor division, including defined behavior
for negative operands.std.mathadds exact, floor, ceiling, truncating and rounding conversions to
integers.- Normal arrays can store
void; byte buffers remain strict. Newstd.array
helpers provide Option, fallback, conditional-write and detailed-error access. - The compiler rejects provably invalid index types, constant out-of-bounds
accesses and missing members on statically known structs. - Struct fields can declare defaults used by positional and named constructors.
- Long statically string-starting concatenation chains compile iteratively,
avoiding expression-temp exhaustion and repeated dynamic dispatch.
Both compiler implementations include matching language, formatter, standard
library, documentation and regression updates. Windows and Linux focused
fixtures are byte-identical between the Python and self-hosted compilers. Three
consecutive Windows compiler stages converge to one 65,274,880-byte image with
SHA-256
60DB15723F1D33AFCCBAF81657E91569811C38CF54A320117857C29027700E0B.
The Python suite passes 149/149 tests, with the new long-chain regression also
verified independently. The complete self-hosted verification passes its
136/136 embedded tests and all outer Windows, Linux, FFI, GC, threading and MLO
gates.
Both CLI version switches and MINILANG_VERSION report 1.2.8.
Binary downloads
| Artifact | SHA-256 |
|---|---|
| Windows compiler | 60DB15723F1D33AFCCBAF81657E91569811C38CF54A320117857C29027700E0B |
| Linux compiler | 8BF4FDDDB7D68F2B5B3613D0FA715AA69A1B7FC68E7EC392F67B319141893DB8 |
| Windows x64 ZIP | 0CA1D2C37AB0D35FE123666C9A226DB3F43B4772FA913E9BDD01B84F08046E09 |
| Linux x64 tar.gz | A30F590339D977A3B1ECDDCD1BFAA17DDF326F707689541AC268ED4CAF077B66 |
Extract the complete package, including std/. Run mlc.exe on Windows or
./mlc on Linux. Compile with -I . from the package directory and select the
desired target explicitly when cross-compiling. Each archive has a SHA-256
sidecar and includes a quick-start guide. No installed Python is required.
This package contains the native, self-hosted MiniLang compiler.
MiniLang Compiler 1.2.7
MiniLang Compiler 1.2.7
This release adds cross-platform ECDSA P-256 signature verification to the
shared MiniLang standard library. std.crypto.ecdsa_p256.verify hashes the
message with SHA-256 and verifies fixed-width raw public keys and signatures
through Windows CNG or OpenSSL 3 on Linux.
Both compiler repositories contain matching standard-library implementations,
documentation and positive/negative regression fixtures. The Python compiler,
self-hosted monolithic pipeline and self-hosted object pipeline produce
byte-identical Windows PE and Linux ELF images for the ECDSA fixture. The full
Python suite passes 145/145 tests and the self-hosted ported suite passes
136/136 tests.
Both CLI version switches and MINILANG_VERSION report 1.2.7.
Binary downloads
Extract the complete package, including std/. Run mlc.exe on Windows or
./mlc on Linux. Compile with -I . from the package directory and select the
desired target explicitly when cross-compiling. Each archive has a SHA-256
sidecar and includes a quick-start guide. No installed Python is required.
This package contains the native, self-hosted MiniLang compiler.
MiniLang Compiler 1.2.6
MiniLang Compiler 1.2.6
This patch release supports MiniGui's new Windows/Linux backend and fixes native
C-string return conversion in the Python reference compiler. The byte-copy
helper can overwrite a volatile register holding the returned string length;
the emitter now reloads that length before terminating the MiniLang string.
This prevents crashes when GTK returns widget text.
Both compiler repositories cover Unicode, empty and null C-string returns.
The self-hosted emitter already preserves the length correctly; its version is
advanced alongside the reference compiler to retain the matching release pair.
Both CLI version switches and MINILANG_VERSION now report 1.2.6.
The release is verified with native Windows/Linux compiler builds, the Linux
FFI regression emitted by both compilers, CLI/predefined-version checks and
MiniGui's Windows/Linux control, generator and startup tests. Earlier full-suite
and fixed-point results remain identified as 1.2.5 results in COMPILER_PARITY.md.
Binary downloads
Extract the complete package, including std/. Run mlc.exe on Windows or
./mlc on Linux. Compile with -I . from the package directory; select
--target linux-x64 explicitly for Linux output. Each archive has a SHA-256
sidecar and includes a quick-start guide. No installed Python is required.
Linux binaries were built and tested on Ubuntu 24.04 x86-64 (glibc 2.39).
This package contains the native, self-hosted MiniLang compiler. Its
executable has no Python runtime dependency.
MiniLang Compiler 1.2.5
MiniLang Compiler 1.2.5
MiniLang 1.2.5 reduces actual generated x64 machine code in the matching Python
reference and self-hosted compilers, and fixes an existing object-pipeline
variadic-array lifetime bug. No executable packer or runtime unpacking is used.
Highlights:
- Shorter accumulator-immediate instructions and implicit-one shifts.
- Flag-equivalent 32-bit AND masks where the 64-bit result is unchanged.
- Conservative fallthrough branch-pair folding with label/relocation barriers.
- An updated canonical Linux syscall/pthread runtime blob, with a reproducible
byte/label/relocation check against the Python implementation. - Retained variadic escape-analysis facts after MLO function-body release,
preventing globally retained argument arrays from referring to caller stacks. - New opcode, CPU flag/result, boundary, GC lifetime and object-parity tests,
plus paired size/runtime measurements and refreshed compiler API docs.
Same-source measurements before the release version stamp reduced executable
file sizes by 1.47–1.78%, including approximately 1.09 MB for the self-hosted
compiler. Overall measured runtime was comparable, not universally faster;
individual microbenchmarks and desktop scheduling noise still matter. See the
measurement report for raw samples,
limitations and exact before/after image identities.
Both version switches (-version and --version) report
MiniLang Compiler 1.2.5; the predefined MINILANG_VERSION is "1.2.5".
Windows x64 PE and Linux x64 ELF remain supported. Current Python and
self-hosted outputs retain the canonical byte-identity contract; see
release verification for the fixed point and test results.
The shared standard-library sources are unchanged from 1.2.4.
Release verification passes 144/144 Python tests and 136/136 internal ML tests,
plus the outer Windows/Linux runtime and object-pipeline checks. Three Windows
compiler stages are byte-identical; the native Linux bootstrap and self-build
also match exactly. Native Linux filesystem/cache regressions pass.
This remains a source-only release. Generated executables are excluded from
Git and GitHub release assets; native build verification is performed locally.
Bootstrap from the matching Python repository and rebuild the self-hosted
compiler with MiniLangCompilerML/build.ps1 (Windows) or build.sh (Linux).
Existing 1.2.4 tags and releases remain available.
MiniLang Compiler 1.2.4
MiniLang Compiler 1.2.4
MiniLang 1.2.4 adds statically resolved user-defined operators to the matching
Python reference and self-hosted compilers while retaining byte-identical
Windows x64 PE and Linux x64 ELF output across compiler implementations.
Highlights:
- struct-owned overloads for arithmetic, comparison, bitwise and unary
operators, with exact operand-type resolution, overload sets and optional
inlining; - compound variable assignments and unary numeric
+, with deterministic
diagnostics for invalid, missing or ambiguous overloads; - an updated cross-platform formatter covering the complete modern language
syntax; - the cross-platform
std.testunit-test framework and self-hostedmltest
declaration-tag discovery runner; and - expanded positive, negative, formatting, Windows, Linux and object-pipeline
regression coverage plus refreshed MiniDoc references.
This remains a source-only release. Generated executables are excluded from Git
and GitHub release assets and are reproducibly built from the tagged sources.
See README.md, CHANGELOG.md and COMPILER_PARITY.md for syntax, build and
verification details.
MiniLang Compiler 1.2.3
MiniLang Compiler 1.2.3
MiniLang 1.2.3 is a source-only maintainability and documentation release of
the matching Python reference and self-hosted compilers. Generated executables
remain excluded from Git and from GitHub release assets; native compilers are
rebuilt and verified from the tagged sources.
Highlights:
- focused helpers replacing the largest self-hosted statement and generic-call
code-generation routines while preserving target-code emission order; - meaningful English declaration documentation throughout the compiler and
shared cross-platform standard library; - deterministic, timestamp-free checked-in MiniDoc references for both the
compiler implementation and standard library; - complete Python reference-compiler API documentation with a source-policy
regression preventing new undocumented public APIs; and - refreshed compiler and standard-library HTML and Markdown documentation.
Python and self-hosted compilers retain compatible Windows x64 PE32+ and Linux
x64 ELF64 target output. Build the compiler from source by following the
repository README and see CHANGELOG.md for the detailed change list.
MiniLang Compiler 1.2.2
MiniLang Compiler 1.2.2
MiniLang 1.2.2 is a source-only performance and reliability release of the
matching Python reference and self-hosted compilers. Generated executables
remain excluded from Git and from GitHub release assets; native compilers are
rebuilt and verified from the tagged sources.
Highlights:
- a MiniDoc-guided self-host optimization that removes redundant lexical-frame
scans and reuses stable package-suffix resolution across binding generations; - approximately 43-45% lower full self-host compilation time in the recorded
same-window profile and production comparisons, with neutral peak memory; - dedicated regressions for authoritative scope indexes, suffix-cache
invalidation, ambiguous names and lexical shadowing; - a reproducible compiler call-profile harness and refreshed strict MiniDoc
implementation documentation; and - a hardened cross-platform networking test that avoids Windows dynamic-port
reservation ranges.
Python and self-hosted compilers retain byte-identical Windows x64 PE32+ and
Linux x64 ELF64 target output. The release acceptance record, exact compiler
hashes and test totals are documented in COMPILER_PARITY.md.
Build the compiler from source by following the repository README. See
CHANGELOG.md, COMPILER_PARITY.md and the MiniDoc profile audit under docs/
for the detailed verification record.
MiniLang Compiler 1.2.1
MiniLang Compiler 1.2.1
MiniLang 1.2.1 is a source-only maintenance release of the matching Python
reference and self-hosted compilers. Generated executables remain excluded from
Git and from GitHub release assets; the native compilers are rebuilt and
verified from the tagged sources.
Highlights:
- explicit
///declaration comments in both compiler frontends, kept outside
the runtime AST and generated program; - complete English declaration documentation for the shared standard library
and the self-hosted compiler implementation; - strict MiniDoc configurations and committed HTML and GitHub-compatible
Markdown API references; - the synchronization, native timeout, Linux FFI, socket, project-cache,
assembler, GC and thread-lifecycle hardening accumulated since 1.2.0; and - unchanged Windows x64 PE32+ and Linux x64 ELF64 target compatibility between
the Python and self-hosted compilers.
The acceptance build verifies both compiler suites, strict warning-free MiniDoc
generation, byte-identical shared standard-library sources and documentation,
Windows fixed-point self-hosting, and a native Linux MiniDoc build and test run.
Exact release hashes are recorded in
COMPILER_PARITY.md.
Build the compiler from source by following the repository README. See
CHANGELOG.md and COMPILER_PARITY.md for the detailed feature, performance
and verification record.
MiniLang Compiler 1.2.0
MiniLang Compiler 1.2.0
MiniLang 1.2.0 is a source-only release of the matching Python reference and self-hosted compilers. Generated executables remain excluded from Git and from GitHub release assets; both native compiler targets are rebuilt and verified from the tagged sources.
Highlights:
- native Windows x64 PE32+ and Linux x64 ELF64 output, including native Linux self-hosting and byte-identical monolithic/MLO linking;
- matching cross-platform standard-library support for files, sockets, TLS, cryptography, processes, consoles, durable random-access files and system services;
- gradual runtime type contracts, optional values, expression lambdas, default/named/variadic calls, value/range match, pull iterators, yield and structural interfaces;
- tasks, futures, cancellation, bounded channels, async/await/select, synchronized blocks and a shared thread-safe managed heap with thread-local allocation buffers;
- typed conditional compilation for portable Windows/Linux source trees;
- hardened GC safepoints, thread lifecycle and native-handle ownership, Linux FFI resolution and project/cache boundaries;
- race-free Linux semaphore handoff behavior and portable signed-32-bit timeout validation across compiler builtins and the standard library;
- bounded project traversal across directory links and reusable MLO cache hashing buffers that substantially reduce transient allocation.
Verification of this refreshed release:
- Python compiler suite: 132/132 passed;
- self-hosted compiler harness: 126/126 passed, plus all outer Windows/Linux, FFI, GC, SIMD, object-pipeline and byte-identity gates;
- the 20,000-handoff Linux semaphore stress test passes without lost or spurious releases;
- both standard-library trees are byte-identical across all 46 files;
- Python-built, stage-2 and stage-3 self-hosted compiler images are byte-identical at 66,446,848 bytes with SHA-256 7B364F4BD511119CC5CA421449EAD9B80C9F7C647F83B7A581C208E90C8EE15A.
Build the compiler from source by following the repository README. See CHANGELOG.md and COMPILER_PARITY.md for the detailed feature, performance and verification record.
MiniLang Compiler 1.1.0
MiniLang Compiler 1.1.0
MiniLang 1.1.0 is a source-only release of the matching Python reference and
self-hosted compilers. No generated executable is tracked or attached.
Highlights:
- native Windows threads, synchronization and thread-safe collections;
- a process-wide managed heap with per-thread stacks and cooperative GC;
defer, expanded FFI support and incremental project builds;- CPU-dispatched checksums, native byte search and Windows CNG cryptography;
- faster generated code and a bounded, substantially faster self-hosted object
pipeline; and - byte-identical target output across Python, self-hosted monolithic and
.mlo
builds, backed by fixed-point, standard-library and MiniQuake acceptance tests.
Build the compiler from source by following the repository README. See
CHANGELOG.md and COMPILER_PARITY.md for the detailed feature and verification
record.