Releases: dea-lang/dea
Release list
l0-v2.0.0
Dea/L0 2.0.0
Dea/L0 2.0.0 is a major release focused on checked pointer safety, safer native compiler execution, cross-stage
correctness, and shared editor support. It completes the transition to wildcard-only case defaults and reorganizes
short compiler options around a coordinated, extensible CLI contract.
Language and source contract
casedefaults now use_ =>exclusively. The deprecatedcase ... elseform from 1.1.0 has been removed from both
compiler stages; a strayelsearm is rejected withPAR-0123.matchvalidation now rejects nested or wrong-owner patterns before binding them and computes exhaustiveness and
wildcard reachability from validated enum variants.- Definite-liveness analysis now isolates
if,match, andcasealternatives, ignores unreachable alternatives when
joining ownership state, and preserves the correct state after fallthrough. - Self-hosted name resolution now distinguishes exact binding identities across declaration order, active scope chains,
pattern payloads, and cleanup guards.
Command-line interface
- Short options now use stable namespaces.
--genmoves from-gto-Gc;--logfrom-lto-Vl;
--project-root/--sys-rootfrom-P/-Sto-Rp/-Rs;--c-compiler/--c-optionsfrom-c/-Cto
-Cc/-Co; and--runtime-include/--runtime-libfrom-I/-Lto-Ri/-Rl. The corresponding long
options are unchanged. -Vnow selects--version;-Gkselects--keep-c;-Va/-Vmselect ARC and memory tracing; and-Sb/-Su
select the new basic and unchecked runtime modes.-c/--compileand ordered-I/--interface-pathvalues establish the shared separate-compilation surface.
They remain reserved in L0 2.0.0: compile mode reportsL0C-9510without analyzing source or producing artifacts, and
its interface paths are not searched.- Conventional
-g,-S,-L, and-lspellings are reserved for debug information, assembly output, library search
paths, and library selection. L0 recognizes complete uses but reports that these capabilities are not yet implemented. - Repeatable
-Cs/--c-sourcevalues add intact C source inputs to--buildand--runafter the generated C input
and before output and runtime-library options. - System roots now take precedence over project roots during module lookup; declaration order remains stable within each
root group.
Checked runtime and ownership safety
- Fully checked builds now track allocation families and validate generated pointer reads, writes, and drops for live
provenance, extent, alignment, access direction, and read-only storage. Freed user allocations remain in a bounded
quarantine so stale accesses can fail deterministically with allocation and release context. --check-basickeeps exact-base validation, quarantine, null and alignment checks, generation caches, and
invalid-drop diagnostics while compiling out interior-pointer containment checks.--uncheckedexplicitly compiles
out pointer tracking, validation, and quarantine for release-oriented builds; both options are valid with--build,
--run, and--genand are incompatible with trace modes as documented.sys.memoryaddsrt_register_foreignandrt_unregister_foreign, allowing checked L0 code to describe the extent
and mutability of externally owned storage without transferring ownership.- Raw allocations,
newallocations, ARC storage, static data, and registered foreign storage now retain distinct
release contracts. Cross-familydrop,rt_free, andrt_reallocoperations fail in checked builds. - Allocation tracking now purges tombstones and contracts after live occupancy falls, uses cache-oriented hot records,
and supports configurable quarantine byte and record limits. Repository-built Stage 2 compiler binaries default to
basic checking with a 256-record quarantine; programs produced by the compiler remain fully checked unless their own
options select another mode.
Compiler correctness and portability
- Parenthesized casts preserve borrowed ARC identity, and non-niche nullable place wraps retain exactly once across both
L0 stages. - Expression-analysis replay now reuses cached semantics without duplicating ownership, while native analysis safely
replaces owned result types and local callee copies. - Stage 2 now contextually checks top-level
letinitializers and lowers supported static nullable literals and
intrinsics. Staticordcalls lower to portable enum-tag constants instead of invalid C99 initializers. - Generated C escapes every historical trigraph spelling without changing runtime string bytes or filenames, and
anonymous Stage 1 C output is reserved and written through an exclusive file descriptor before host compilation. - Lexer recovery retains signed-literal expression context across invalid-token wrappers, preventing recovery from
reclassifying later operators or literals. - Normative Stage 1 diagnostics and CLI failures now go directly to standard error, independent of optional rich-log
formatting; operational logs and raw host-compiler replay keep their intended presentation. - Native Stage 2 build and run commands use exclusively reserved private workspaces under a validated temporary parent,
keep generated C, compiler captures, executables, and intermediate files inside that boundary, and clean up without
following links outside it.
Standard library and runtime boundaries
- Vector accessors now check logical length rather than reserved capacity, including typed, string, and token access.
Empty character buffers convert to""without reading a reserved but unused slot. - Filesystem operations reject empty paths before calling host metadata or deletion APIs.
- Whole-file writes now report failure when closing the output stream fails, including after an otherwise successful or
empty write. - Checked-runtime allocation-table contraction and host-alignment probing remain portable across supported C99 compilers
and 32-bit layouts.
Editor support
- The repository now includes distinct Dea/L0 and Dea/L1 syntax support for VS Code/TextMate, Vim, Emacs, and Universal
Ctags, with extension-aware language identities and incomplete-buffer coverage. - A self-contained
tree-sitter-deapackage provides the generated parser, L0/L1 fixtures, highlights, indentation,
locals, tags, corpus tests, and bindings for C, Go, Node.js, Python, Rust, and Swift. - Editor integrations are structural rather than semantic: the compiler remains authoritative, and this release does not
add an LSP, completion, hover, rename, or refactoring provider.
Documentation and developer workflow
- Compiler, ownership, runtime, architecture, backend, standard-library, diagnostic, installation, and project-status
documentation now reflects the checked runtime and the coordinated L0 2.0.0 CLI surface. - The monorepo now records shared and L0 architectural decisions in indexed ADRs and validates plan decision impact and
closure evidence in contributor workflows. make testruns normal L0 validation without the dedicated broad Stage 2 trace sweep;make test-alladds that
sweep. Runtime-sensitive work can still runmake test-stage2-tracedirectly.- Trace capture and analysis now stream large logs with bounded memory, while traced runtimes use selectable block
buffering with explicit process-boundary flushes. This removes trace I/O amplification without reducing full trace
coverage. - Vendored m.css documentation generation now accepts validated Doxygen 1.18 anonymous-compound names while retaining
strict rejection of malformed names, and documentation CI records the Doxygen version used. make bench-runtimeprovides an informational runtime allocation benchmark matrix, and the randomized production
source selector supports bounded deep source reviews. Unified and editor CI cover the corresponding shared workflows.
Compatibility and migration
- Replace every
case ... elsedefault with_ =>. The 1.1.0 deprecation period has ended, andPAR-0242plus the
former dangling-elsediagnostics have been retired. - Update scripts that use old short compiler options to the new namespaced spellings listed above, or use their
unchanged long forms. In particular,-cno longer selects the host C compiler,-Ino longer selects runtime
headers, and-Lno longer selects the runtime library directory. - Review projects that intentionally shadowed system modules with project-root modules: system roots are now searched
first. - Use
--c-sourcefor additional C translation units instead of smuggling source paths through compiler-option text. - Register externally owned buffers before checked generated code dereferences them, then unregister them before the
external lifetime ends. Use--check-basicor--uncheckedonly when the documented reduction in validation is
acceptable. - Do not index a vector between its logical length and capacity. Such access is now rejected even when backing storage
has already been reserved. - Tools that parse Stage 1 diagnostics should continue reading standard error, but must not depend on rich-log prefixes
around normative diagnostics.
Public-surface summary
L0 2.0.0 removes the deprecated case ... else spelling, replaces the legacy short CLI aliases, adds checked-runtime
selection and structured C-source options, and adds two foreign-memory lifetime functions to sys.memory. No public L0
types were added or removed, and compile-only/interface consumption remains reserved rather than implemented in this
release.
See the
full comparison between l0-v1.1.0 and l0-v2.0.0.
Release archives and generated API documentation are attached to this release. Use SHA256SUMS to verify downloaded
assets.
l0-v1.1.0
Dea/L0 1.1.0
Dea/L0 1.1.0 is a minor release focused on safer control flow, frontend recovery, self-hosting reliability, and clearer
source-language contracts. It keeps the existing command-line and library surface while making _ => the canonical
default arm for case.
Language and source contract
casenow uses_ =>as its canonical default arm, aligning scalar and string dispatch with wildcard arms in
match.- The old
case ... elsedefault remains accepted in 1.1.0 but emits thePAR-0242deprecation warning. - The source contract is now explicit: source files are UTF-8, while identifiers, keywords, literal prefixes, and escape
names use the ASCII language vocabulary. Unicode text remains supported in strings and comments.
Frontend recovery and diagnostics
- Lexer errors can carry a logical recovery token, allowing parsing to continue after invalid characters without losing
the surrounding construct. - Diagnostic columns now count Unicode code points consistently across compiler stages.
- Orphaned
elseandcleanupkeywords now receive precise diagnostics, and parser recovery avoids several duplicate
and cascading errors around blocks, loops, and end of file. - Duplicate
openimports warn once instead of flooding the output, and Stage 2 no longer reports a false shadowing
warning for the variable introduced by aforloop.
Control-flow and ownership safety
forheader parsing and flow analysis now agree across compiler stages, including correct liveness after loop control
statements and rejection of declarations in the update clause.withcleanup now runs correctly when control leaves inline header expressions, and return-flow analysis accounts for
cleanup blocks that return or override an earlier return.- Invalid loop-control statements no longer poison later unreachable-code analysis.
- Dropping a stale allocation now fails deterministically before cleanup can inspect or mutate related state.
Stage 2 and portability
- Stage 2 now surfaces compiler warnings in
--build,--run,--gen,--sym, and--typemodes. - C compiler options are emitted in a portable order so user flags, source inputs, linker options, and output selection
reach the host compiler correctly. - Dea environment activation is stackable, and nested test environments no longer leak into Stage 2 compiler runs.
- Windows handling is more reliable for Unicode test sources and environment-isolation tests.
- Triple-bootstrap normalization now handles Apple Silicon Mach-O UUID differences without hiding other binary changes.
Documentation and examples
- Shared contracts now document the compiler CLI, source encoding, ASCII language vocabulary, diagnostic recovery, and
code-point column semantics. - The project status and compiler architecture documentation have been refreshed to describe the current self-hosted
implementation. - Examples use current language idioms, include multilingual hello programs, and follow the new shared Dea code style
guide. - The Hamurabi example now reports its final result correctly.
Compatibility and migration
- Prefer
_ =>for everycasedefault. The deprecatedelseform still compiles in 1.1.0 but emitsPAR-0242. - Brace a
casevalue arm whose body containsif ... else, or use a_ =>default, when the trailingelsewould be
ambiguous; the compiler reportsPAR-0243for this case. - Replace a
letdeclaration in aforupdate clause with a permitted non-declaration simple statement. The compiler
now reportsPAR-0145for the declaration. - Rename non-ASCII identifiers to ASCII. Unicode strings and comments remain valid UTF-8 source text.
- Tools that consume diagnostics should treat columns as Unicode code-point positions. Improved recovery can also expose
additional genuine errors later in the same source file. - Stage 2 users may now see existing warnings in
--build,--run,--gen,--sym, and--typemodes where those
warnings were previously suppressed.
Unchanged public surface
No L0 standard-library implementation changed in this release. No CLI flags or modes were added or removed, and no
public L0 types were added or removed.
See the
full comparison between l0-v1.0.0 and l0-v1.1.0.
Release archives and generated API documentation are attached to this release. Use SHA256SUMS to verify downloaded
assets.
l0-v1.0.0
- Refresh L0 dist metadata example. (ed0057d)
- Release full L0 docs in archives. (0f913f9)
- Document ADR catalog across docs/, l0/docs/, and l1/docs/. (89ff1e6)
- Refresh live documentation. (c460832)
- Document L1 slice planning. (037cf67)
- Clarify structure of L1 initiatives and plans. (f55781f)
- Implement unified CI orchestration. (b410fb2)
- Rename shared
std.mathtostd.integer. (858ca28) - Refactor L1 LBI mangling into a unified recursive grammar. (5c3aa05)
- Update public repo links to the
dea-langrepository. (d0cb29e) - Fix copyright header check to include
.l1files. (8568eda) - Add shared plan for Level 1 snapshot and release GHA workflows. (aa153c9)
- Fix Windows launcher resolution in L1 Stage 1 runtime tests. (e70a090)
- Align Level 1 CI dispatch controls with Level 0 workflow model. (695b66b)
- Fix L1 Stage 1 test portability and naming. (53cb8e4)
- Implement Level 1 CI workflow and release-line gating policy. (327bd04)
- Document L1 roadmap and status updates. (52853ce)
- Document L1 unified LBI mangling refactor plan. (672dfe2)
- Complete L1 fixed-size array regression coverage. (7288e48)
- Update diagnostics code catalog. (1b223ce)
- Implement L1 fixed-size arrays. (77ef909)
- L1: Implement ordered type suffix constructors. (74efbb4)
- Document L1 fixed-size array plan. (bc6106a)
- L1: Formalize LBI spec with two-layer mangling scheme. (5d62c16)
- Implement L1 unsafe pointer indexing semantics. (7e04479)
- Add Windows uv diagnostics in CI. (107d4a0)
- Refactor shared stdlib container type naming. (501d99a)
- Document stdlib signatures with explicit
funckeyword and struct fields. (4c2a992) - Refactor null-tolerant runtime FFI pointer parameters to optional. (71a9253)
- Implement the L1
unsafefunction marker. (50e6023) - Document L1 array and unsafe planning. (03aed27)
- Refactor
sys.unsafeintosys.memory. (a2d0328) - Fix L1 Stage 1 index diagnostic wording parity. (dbf9cca)
- Fix pointer indexing parity and diagnostic wording. (0e648d1)
- Document Stage 2 pointer indexing parity fix plan. (2a50425)
- Document deferral of L1 variadic functions and clarify named-argument semantics. (20480bb)
- Configure project skills with model and effort metadata. (027087f)
- Add
show-open-plansskill. (7d9d76c) - Document initiative membership metadata. (1cb44b4)
- Close shared L1 backend handler divergence audit. (9524bc4)
- Close versioned API reference export archive plan. (48f8e9b)
- Refactor L0 release markdown archive to versioned
dea_l0_api_reference-<TAG>.tar.gz. (feb9bd8) - Refactor the monorepo Python tooling workspace. (15cad12)
- Refactor L0 release workflows for immutable publication. (6c62aa4)
- Fix L0 strict docs validation warnings. (ebd58eb)
- Improve
refresh-stale-docsskill. (b828086) - Refresh docs for the l0-v1.0.0 release. (d71a661)
- Fix L0 activation hint validation and Docker test context. (361a5af)
- Fix L1 cast-from-place ARC parity. (45a547c)
- Document ARC reassignment semantics and track remaining ownership follow-up. (2eb4c7f)
- Replace
concat_scall-sites with+and retireconcat*_s. (8ca8ab4) - Open shared plan to migrate
concat_sfamily to native+operator. (a8c730b) - Fix L1 trace runner memory-heavy analysis. (1ca98c7)
- Fix
?niche nullable handling in code generation. (c69cfbb) - Fix demo output handling in L0 stage 2 tests. (babbade)
- Implement L0 string concatenation operator. (685820b)
- Implement L1 string concatenation operator. (ddefeeb)
- Update and close Initiative 0002 - L1 Runtime Library. (cc01660)
- Emit cleaner C condition expressions. (5a37d3e)
- Clarify commit summary verb selection in
finalize-dea-workskill. (61ffcc8) - Fix shared nonscalar same-type cast forbidden by ISO C. (ef649be)
- Clarify L1 roadmap and interface groundwork boundary. (9d46390)
- Adopt reference-style links across L1 live docs. (57a079c)
- Document L1 module visibility and imports. (59972fe)
- Implement L1 ABI symbol mangling. (d512cfe)
- Reorganize L1 runtime CUs to match thematic boundaries. (0a53978)
- Update diagnostic code catalog. (235268c)
- Implement L1 export manifests, selected imports and import aliases. (91b9641)
- Remove duplicate diagnostic codes in parser error messages. (06afeed)
- Add clean-all target to L0 Makefile. (b018ade)
- Implement L1 runtime static library split. (42f2d7f)
- Document fingerprint algorithm and object metadata embedding strategy. (e96b532)
- Split L1 compilation, runtime, and FFI work into focused initiatives. (a1f521f)
- Refresh roadmap and status docs. (e8a2839)
- Allow single-statement loop and match bodies in L1. (0e0a773)
- Implement L1
isenum tag intrinsic. (3ef98eb) - Update grammar docs for bare
matchvariants. (f6af0b1) - Fix ARC scrutinee retains for unwrap casts. (eddee53)
- Add L1 builtin value type helpers. (3dd3bc0)
- Fix optional wrapper typedef ordering. (f7d728d)
- Open new L1 roadmap feature plans. (c4ebb59)
- Bump pytest to 9.0.3. (26815be)
- Document compiler helpers. (655034d)
- Fix L0 docs workflow entrypoint. (3ede86a)
- Refresh release-facing documentation. (5ef7fa7)
- Remove stale defensive string clones. (2000f73)
- Fix shared ARC borrowed-parameter reassignment cleanup. (4cac9d2)
- Add L1 function pointer types. (cfa0990)
- Fix Windows CI Stage 2 regression after Python port. (88dd7e4)
- Implement strict T? vs T? equality in L1 Stage 1. (511452d)
- Implement pointer identity equality operators. (3ef14ea)
- Add feature plan for
is(x, Variant)intrinsic. (cd1a9b2) - Prefer native string operators. (92f0e1a)
- Add shared refactor plan for native string operators migration. (1c50f7e)
- Backport string operators to L0. (b659216)
- Support bare enum variants in top-level bindings. (2f8022b)
- Update commit validation guidelines in SKILL.md. (0136b68)
- Restore shared alias struct constructor parity. (3f7a8fe)
- Port L0 tooling scripts to Python. (0985f07)
- Top-level ARC cleanup and
dropdiagnostic fixes. (da07866) - Document autopilot completion rule. (deee0ba)
- Revise shell tooling port plan. (802e3f6)
- Fix casted-place ARC null-propagation cleanup. (88e7aaa)
- Add support for non-constant top-level
letinitialization. (1a7528d) - Reject the shared global-include plan. (68d1505)
- Tighten
create-dea-planskill guidance. (183aa44) - Document comparison operator scope and L1 identity plans. (7e66672)
- Implement top-level
constdeclarations in L1. (9da482c) - Implement
stringrelational operators in L1. (3eb81d0) - Implement L1 string equality operators. (5c54d71)
- Implement L1 bitwise operators. (4cc4b43)
- L1: Align diagnostic carets on tab-bearing source lines. (e2adc74)
- Add roadmap link legibility rules to
create-dea-planskill. (87f7ab1) - Record L1 string value-semantics decision and seed string-operator feature plans. (2fad78c)
- Add L1 plans for bitwise operators, const declarations, and function pointers. (455d12f)
- Complete
std.realfloating-point library support. (ef3fa30) - Add
create-dea-planproject skill. (bd378f0) - Add L1 diagnostic tab-alignment plan. (f080d1a)
- Extend L1 numeric I/O helpers. (b5da367)
- Add Dea work finalization skill. (748d03c)
- L1: complete wide integer math follow-up. (d2aab58)
- Add monorepo
test-alltarget. (7968d80) - Refine Stage 1 quiet-progress pytest output. (c0432aa)
- Drop L1 runtime library placeholder checks. (d473a7a)
- Retire L0 runtime library artifact checks. (a0294c4)
- Add trace troubleshooting skill. (0a76096)
- Fix lexer trace cleanup and add L1 trace target. (88c7245)
- Add L1 roadmap and separate compilation initiative. (59af3e7)
- Move project status docs to docs roots. (574223e)
- Add skill for refreshing stale documentation. (86fb7c6)
- Refine diagnostic printers. (4f7a936)
- Refresh stale reference docs. (183191d)
- Add
check-examplesvalidation gates. (b7544e7) - Close
MSYS2Windows CI plan. (eedeeb5) - Expand Windows MSYS2 CI coverage. (992eac6)
- Expand shared
std.mathinteger surface. (f363a88) - Add
std.mathfeature plans. (c869ee7) - Add L1
std.realfeature plan. (1c4e4c9) - Implement L1 Docker workflow. (8863ccd)
- Enforce L1 floating-point backend contract. (f207937)
- Clarify
PAR-0010future-extension diagnostics. (27e52e3) - Add L1 float backend contract follow-up plan. (ad14876)
- Implement L1 float and double literals. (be298bf)
- Update design decisions for L1 floating-point semantics. (83ec8f3)
- Implement L1 large integer builtins. (0f9905d)
- Add L1 bigint integer feature plan. (64f4981)
- Implement L1 small integer types. (11efe0d)
- Align nested symbol-path diagnostics across compilers. (d270642)
- Restore fatal duplicate-local diagnostics parity. (5a3abba)
- Update shared diagnostic-code specs. (121175a)
- Fix Windows diagnostic parity tests. (15cc584)
- Align release-facing docs with the
l0-v0.9.2baseline. (1d39835) - Restore native diagnostic code parity (d1d11e9)
- L1: Add
TT_BIGINTsupport for overflowing integer literals. (7487491) - Simplify self-hosted string builder call sites. (1ac5d3b)
- Restore shared self-hosted typing and statement parity. (85ad0ef)
- L1 lexer groundwork for numeric literals. (553733f)
- Remove dormant L1 Stage 1 backend goldens. (71ca1d2)
- Migrate the L1 C ABI to
dea_*. (560a5db) - Add copilot instructions for monorepo usage and workflows. (fb427ec)
- Refine
l1bootstrap help and defaults. (67b62ca) - Add support for quiet progress option in L0
test-stage1target. (ad262bd) - Clarify grammar reservations and add L1 ABI, small-integer plans. (7a1a7b2)
- Add support for binary, octal, and hexadecimal literals to L1. (bc32646)
- Record L1 numeric literal and pointer-surface decisions. (4f9cb8d)
- Move stage runner helpers under scripts. (1a4f4cc)
- Reorganize docs and work tracking. (0abd6ee)
- Restore Stage 2 and L1 diagnostic parity. (fefadc9)
- Add shared diagnostic-code catalog and oracle coverage. (b7db27e)
- Implement the
deavirtual prelude module. (f532d7a) - Enhance L1 grammar documentation with addi...
l0-v0.9.2
- Prepare the monorepo for the L0 0.9.2 release. (92ce58a)
- Stabilize release and distribution workflow tests. (4924e87)
- Polish developer workflow guidance and output. (3ff7524)
- Restore Stage 2 return and drop diagnostic parity. (654950c)
- Harden Stage 2 trace runner infrastructure. (5c50444)
- Stabilize Windows and MSYS2 validation paths. (aaf261a)
- Fix MSYS2 MinGW Python compatibility in tests and venv probes. (8464f8d)
- Windows: auto-detect MSYS2
mingw64\bininl0-env.cmd, fix venv race. (7ca0a83) - Statically link GCC runtime in Windows dist/install builds. (870c889)
- Fix stale assertions in workflow tests. (13220a0)
- Version-aware PDF link and release display in blog export. (cdaa51d)
- Finalize release workflows, VERSION metadata, and compiler identity. (9e60b9f)
- Restructure the repository into a Dea monorepo. (edf4687)
- Rename generated API PDF outputs. (e1937a1)
- Normalize docs to ASCII and reorganize reference files. (267be1a)
- Edit READMEs and CONTRIBUTING. (0b854d0)
- Begin the 1.0.0.dev0 stabilization cycle. (ce671de)
v0.9.1
- Prepare repository metadata for v0.9.1. (45712f5)
- Clarify AGENTS.md guidance. (8d75a77)
- Add monorepo migration plan. (0a54c5e)
- Remove empty docs placeholder directories. (92f07fd)
- Decouple Chirpy blog publishing from destination repo. (150c180)
- Move backend-owned C fragments behind emitter helpers. (a9f7ac1)
- Add an on-demand Stage 1/Stage 2 codegen comparison script. (f1b9f42)
- Preserve exact
--genstdout newlines in Stage 1. - Write generated C withsys.stdout.write()incmd_codegen()so Stage 1 preserves the emitter output exactly. - Add a CLI regression test covering a single trailing newline on--genstdout. (0944069) - Add shell-to-Python tooling port plan. (ac3c1cd)
- Extract reusable docs-build workflow and automate release PDF upload. (a683245)
- Document undocumented helper functions. (c436fe8)
- Add the backend-emitter boundary cleanup refactor plan. (893ab1b)
- Add regression coverage and fix Stage 2 null-statement parity. (16c4a28)
v0.9.0
- Fix
rt_freenullable pointer assertion and ignore pytest temp dirs. (fc78c80) - Pre-release doc refresh for v0.9.0. (dd2bc0c)
- Close Chirpy blog export link-target parity plan. (f57ca10)
- Fix Dea/L0 docgen declaration fidelity for Markdown and PDF output. (28c4d44)
- Limit CI workflow triggers to code-affecting paths. (d21103a)
- Fix Chirpy blog export link target parity. (0f09ad2)
- Fix Chirpy blog export anchors and defaults. (54646fb)
- Fix the default blog export tab order. (69da1a1)
- Fix docs publishing and surface the PDF reference. (9e806de)
- Reclassify workflow plans under tooling. (82755e4)
- Refresh documentation status and workflow references. (db8dfa1)
- Flush runtime trace output for recursive stderr ordering. (33c2bad)
- Rename triple-bootstrap compiler generation terminology. (56fc4e6)
- Exclude
mul_runtime_testfrom the Stage 2 trace gate. (ff9377e) - Improve
sys.rtentries in standard-library docs. (3da85e0) - Stabilize Stage 2 temp paths and Windows triple bootstrap. (cb560fc)
- Add
get_pid(). (cbf5acb) - Stabilize
mul_runtime_testoverflow fixtures. (8ad198b) - Workflow: drop snapshot tag slash prefix. (4d04620)
- Implement Windows native activation workflow and CI selection. (3351d45)
- Close runtime/string performance plan. (0eaec51)
- Refresh the example suite. (6253fcd)
- Stabilize Darwin triple-bootstrap native comparisons. (ceb6e02)
- Fix determinism on darwin-arm64 and Windows; harden repo-local wrappers. (c9eda93)
- Improve CI/CD workflow configuration. (be81f11)
- Fix runtime/string performance bottlenecks. (6db0d6b)
- Fix two test race conditions. (b84f973)
- Refresh
project-status.mdfor 2026-03-17; close release workflow plan. (4f55ab0) - Update generated C file header to identify
l0cand discourage manual edits. (2869a8c) - Add missing Makefile targets,
list-installed, and-O2default forinstall. (b328e79) - Revise
CONTRIBUTING.mdstructure, accuracy, and completeness. (822d2c5) - Remove setuptools packaging; use
make venvas primary dev entrypoint. (f6ccf36) - Include README, examples, and reference docs in dist archive. (50d8dd0)
- Bump GitHub Actions versions across all workflows. (bf9a19c)
- Fix Windows triple-bootstrap PE timestamp non-determinism. (5ff0591)
- Implement GitHub release packaging workflows. (edee059)
- Add GitHub release workflow feature plan. (2d15681)
- Require sentence-case and period for commit body bullets. (cbe50f3)
- Fix Windows compiler discovery in dist workflows. (90de99e)
- Fix shell tests in dotted worktree paths. (cca8f20)
- Add
make distpackaging workflow. (c13a639) - Document pre-commit hooks and refresh developer-facing docs. (a737359)
- Implement Stage 2
--astmode and close CLI parity milestone. (b6548d8) - Add shared CLI contract spec and Stage 2 contract doc. (e041139)
- Add mdformat and related dependencies for markdown formatting. (3d5da5e)
- Refresh self-hosting documentation. (a3b6320)
- Fix strict docs validation warnings. (1c09888)
- Update docs workflows toolchain and action versions. (d870ed9)
- Refine Stage 2 test selection and finish Windows documentation and CI cleanup. (63ffa98)
- Fix Windows Stage 2 workflow regressions and install guidance. (3c52249)
- Add initial Windows-aware build, test, and CI support. (446003e)
- Make manual Linux CI compiler selection explicit. (eea6815)
- Add Linux CI workflow and visible Stage 2 progress. (8a6dd2c)
- Fix Linux C99 compatibility and bootstrap determinism. (f3ca9e7)
- Add explicit Docker Linux test workflow. (1b40a04)
- Embed Stage 2 build provenance in artifact version output. (f2c9212)
- Refine shared stdlib byte I/O and filesystem boundaries. (37da12f)
- Add shared stdlib filesystem, path, and raw stdio support. (e645eec)
- Plan Stage 2 embedded build provenance metadata. (4ecacd5)
- Restore Stage 2 project-root parity for path targets. (d9ac3a6)
- Add a plan for a shared CLI contract specification. (0d08fc6)
- Restore Stage 2 verbose logging parity. (93db024)
- Fix Stage 2
withcleanup header predeclaration. (4c33325) - Fix Stage 2
newexpression parity. (fb30baf) - Refine Dea build and install workflow. (787c8c2)
- Add CLI version and identity output. (06ec748)
- Reduce Stage 2 bootstrap test wall time. (7658b5d)
- Move the source-tree Stage 1 wrapper under
scripts/. (fff9d5a) - Refine repo-local developer Make targets. (3860469)
- Add repo-local Stage 2 dist workflow and triple-bootstrap coverage. (e55cc1b)
- Fix Stage 2 self-hosting parity bugs. (b4b5569)
- Add triple-bootstrap self-hosting plan. (3cb173d)
- Fix general logical short-circuit ARC temp lowering. (3c36030)
- Add draft plan for general logical short-circuit ARC lowering. (3a7fc10)
- Fix control-flow condition ARC temp lowering. (83c72e7)
- Add Windows build support plan document. (77f83f6)
- Archive closed plans into
closed/subdirectories and update active plan statuses. (4636dce) - Stage-2: Implement build/run driver support. (02609b3)
- Expose file and system command utilities to the standard library. (c807fe4)
- Stage-2: Port test runners to Python and parallelize trace checks. (8aadadb)
- Add the Stage 2 compiler build script. (f6c2514)
- Plan bootstrap, Make workflow, and installable Stage 2 toolchain (2816fa9)
- Add stdlib/runtime bootstrap API expansion plan. (c0a311f)
- Update Stage 2 backend milestone documentation. (6d0fa6f)
- Fix Stage 2 trace leaks in backend and emitter tests. (e46adcc)
- Add Stage 2 backend golden parity harness and fixtures. (4ab74a3)
- Stage-2: Implement backend phase 2 lowering and
--gen. (36d11f8) - Stage-2: Implement backend phase 1 lowering. (fa99b72)
- Complete the Stage 2 emitter scaffold and codify diagnostic parity. (2bbf4f4)
- Add the Stage 2 backend milestone plan and codegen substrate. (99fad76)
- Add L0 language server proposal. (2c804d9)
- Add
L0_CFLAGSsupport and document CLI merge behavior. (95442a2) - Revise
README.mdwith prefix-expressiondemo.l0example. (9f8b079) - Add prefix-expression
demo.l0example and enhance run_tests.sh. (f16de7d) - Add compile-time diagnostics for unsafe explicit constant casts. (684955a)
- Add a Doxygen + m.css docs platform with curated API navigation and L0-aware rendering. (f3f91ab)
- Add semantic comments to L0 code. (fb5f253)
- Standardize documentation and styling conventions for C and L0 code. (3f3ae55)
- Update Stage 1 Python compiler docstrings to Google style. (1e693ba)
- Remove legacy
l0ccommand-word compatibility. (58aab0a) - Refactor l0-env.sh to improve script source detection and PATH management. (4afdeaa)
- Implement Stage 2 expression type checking milestone. (c63bf30)
- Plan: Stage 2 expression type checking milestone. (1b3fbbc)
- Standardize document metadata and define agent environment rules. (bf12444)
- Update ownership and C backend documentation for ARC and control-flow cleanup. (174f06d)
- Refactor Stage 1 tests to use formal diagnostic codes. (f8d2342)
- Implement Stage 1 full error recovery and API simplification. (f1d5e22)
- Add loop exit ARC cleanup regression tests. (a47edf3)
- Implement Stage 2 semantic foundation milestone. (632bfbf)
- Fix Stage 1 loop ARC cleanup on continue. (df8116b)
- Add Stage 2 semantic foundation milestone plan. (7606f44)
- Enhance ARC and Memory tracing with L0 source location reporting. (9854c26)
- Source local virtualenv from
l0-env.sh. (b8c89a8) - Remove workarounds for
dropin with clauses. (6bb087f) - Fix false use-after-drop error for variables dropped in with cleanup. (0230a34)
- Add std.time with runtime-backed snapshot clocks. (80ec54d)
- Refactor Stage 2 string/text usage to stdlib helpers. (70e6da9)
- Add string and text helper APIs with test coverage. (104b820)
- Refactor and expand stdlib string conversion APIs. (f2a9d06)
- Fix ICE-1014 for mixed int/byte binary operations. (8961bbd)
- Stage-2: Add log facility with
LogLevel,LogConfig, and verbosity wiring. (f5a9f6e) - Add diagnostic format spec and align Stage 2 output to Stage 1. (a8fb75a)
- Add per-context diagnostic codes for widening type mismatch. (6599523)
- Consolidate agent instructions and reclassify Stage 2 parser plan. (dd4eb09)
- Refine Stage 2 CLI parsing and align Stage 2 diagnostic codes. (e38ad8c)
- Unify
DriverResultintoDriverStatewith source cache. (bb5b4e9) - Port Stage 2 syntax driver and CLI plumbing. (a211f47)
- Add ownership documentation. (70318fc)
- Fix stale
errnofalse failures instd.iowrappers. (22b3e42) - Fix
opt as stringunwrap ownership in Stage 1 backend. (c71b589) - Clean up examples. (a583f9a)
- Move shared stdlib and runtime assets under
compiler/shared. (c17b3c3) - Expand CLI diagnostic coverage and remove diagnostics xfail debt. (8aaef7e)
- Lift Stage 2 util.* data structures into stdlib modules. (9bf6593)
- Stage-2: Unify lexer/parser diagnostics with
util.diag. (23fca7d) - Update documentation for Unit type and its constructors. (1d495d1)
- Enhance pytest configuration and compiler detection. (619789e)
- Fix unwrap logic in emitter to use temporary variable. (dc6dd7f)
- Improve C compiler detection logic and documentation. (b9a0542)
- Add lexicographic string comparison function and update related utilities. (a22dd27)
- Stage-2: Add vector insertion-sort helpers and update docs. (d2ceeb8)
- Add system interaction functions to
sys.rt. (fa5abd1) - Refactor string utilities and concat usage across Stage 2. (92cff39)
- Refactor hash module imports from
std.hashtosys.hash. (d651df0) - Implement
find_from_s-based string search functions instd.string. (b8eedda) - Add copyright header verification workflow and script. (09290b1)
- Stage-2: Remove parser opt free wrappers. (7bb92c2)
- Make
rt_freeaccept nullable pointers. (6ebf417) - Update docs about pytest command to use 'auto' for parallel execution. (c954864)
- Stage-2: Add hashmap/hashset utilities and coverage tests. (bc9a15c)
- Stage-2: Add trace finalization gate and leak-triage follow-ups. (359b37e)
- Stage-2: Fix string ARC o...