Radix 0.66.0
| Field | Value |
|---|---|
| Product | Radix |
| Version | 0.66.0 |
| Tag | radix-v0.66.0 |
| GitHub | radix-v0.66.0 |
| Published | 2026-07-16 |
| Source | Closed for now — see Open source |
Install this version#
Pinned download for Radix 0.66.0. For the current release, use Install instead.
| Platform | Archive | Size | Checksum |
|---|---|---|---|
| macOS arm64 | radix-v0.66.0-aarch64-apple-darwin.tar.gz | 2.6 MB | sha256 |
curl -fsSL -o radix.tgz \
https://github.com/faberlang/releases/releases/download/radix-v0.66.0/radix-v0.66.0-aarch64-apple-darwin.tar.gz
tar -xzf radix.tgz
sudo mv radix-v0.66.0-aarch64-apple-darwin/radix /usr/local/bin/
radix --versionRelease notes#
Major release spanning 818 non-merge commits across ten interleaved themes. This is the largest single Radix release by commit volume, covering GPU/LLVM kernel emission, metadata exposure, diagnostic event system overhaul, TLA+ verification infrastructure, Rust canonical cleanup, stepper alignment, annotation syntax design, deferred correctness fixes, and faber-cli package MIR delivery. The tag theme ("Package MIR stepper and Faber CLI package MIR campaign closure") captures the final layer; the bulk of the work is GPU/LLVM compiler infrastructure.
Scale#
| Signal | Count |
|---|---|
| Commits (no merges) | 818 |
| Date span | 2026-07-01 → 2026-07-05 |
feat commits | ~389 |
polish commits | ~96 |
docs commits | ~92 |
test commits | ~41 |
fix commits | ~24 |
| Unique authors | 1 |
Daily distribution: Jul 1 (5), Jul 2 (218), Jul 3 (302), Jul 4 (245), Jul 5 (48).
Major tracks#
Theme 1: MIR GPU/LLVM kernel emission + reflection (~180 commits)#
The dominant theme. MIR gains full GPU kernel emission for WebGPU/WGSL and Metal targets, plus LLVM text-target kernel emission and a GPU reflection infrastructure that exposes builtin axes, dispatch sizes, workgroup counts, resource bindings, and register types.
Key commits:
a22b78657feat(mir): emit llvm external call imports681030c65feat(mir): emit llvm regex raw data globals2b0428f5afeat(mir): emit llvm octeti raw data globals761f3d8f0feat(mir): emit llvm function reference symbols674065fc9feat(mir): reflect gpu resource bind groupsec0db574cfeat(mir): reflect gpu dispatch sizes7fd15a10cfeat(mir): reflect gpu resource element counts304da285cfeat(mir): normalize gpu loop control entry gotosa9651ee8bfeat(mir): normalize gpu loop entry gotos66272148efeat(mir): lower GPU builtin call sources330ad22adfeat(mir): version GPU reflection JSONc2033d871feat(mir): expose GPU reflection source namese11613bbcfeat(mir): emit u32 modulo gpu kernelscc82edbb0feat(mir): emit u32 bitwise gpu kernels1b3e4b25dfeat(mir): emit u32 bitwise not kernelse49bdfe1cfeat(mir): add gpu workgroup builtin factsb0d7f6232feat(mir): reflect gpu builtin axesa96bf7f8afeat(mir): reflect gpu workgroup counts0062a534dfeat(radix): implement vector source model for GPU register typesbcfbd42f2feat(llvm): emit register vector lanes6c121aeb0feat(mir): lower numeric to boolean llvm castsf5db186aafeat(mir): lower boolean to numeric llvm casts533dad3fdfeat(mir): lower float to integer llvm casts7aba2f03dfeat(mir): lower integer to float llvm casts9b77306cbPlan captured closure environment layout5bf3c45aePlan GPU closure callable legality reconciliation
Theme 2: LLVM/GPU metadata exposure (~192 commits)#
A massive paired feat(llvm): expose byte X / feat(gpu): expose webgpu Y
block that systematically exposes every metadata field of the LLVM byte-descriptor
and GPU WebGPU binding families. Each field gets an index count + index
commit pair, making the full descriptor/property surface observable through
reflection.
Selected from ~66 expose byte / expose webgpu commits:
eed6d7b73feat(llvm): expose byte terminator policy index count0a5fef0bcfeat(llvm): expose byte terminator policy indexbf7224819feat(llvm): expose byte schema version index count5229bcf0cfeat(llvm): expose byte schema version indexfda414faefeat(llvm): expose byte representation index counte49f1eb5afeat(llvm): expose byte representation indexaba7469bffeat(llvm): expose byte linkage index count95a3434f5feat(llvm): expose byte linkage indexe5de985dcfeat(llvm): expose byte pointer policy index count6125e341efeat(llvm): expose byte mutability index count79cf40600feat(gpu): expose webgpu bind group entry element type413b4891efeat(gpu): expose webgpu bind group entry element byte width41b914939feat(gpu): expose webgpu bind group entry element countdcaf61dbafeat(gpu): expose webgpu bind group entry element layout931ea4eb2feat(gpu): expose webgpu bind group entry shader visibility30afd2c52feat(gpu): expose webgpu bind group entry shader access00731201afeat(gpu): expose webgpu bind group entry access5cfafb12afeat(llvm): expose byte payload index6e65692f2feat(llvm): expose byte layout index countb68f6b533feat(llvm): expose descriptor family counta9b57d4f7feat(llvm): expose descriptor pointer policy count
Theme 3: Test contract locking + campaign cleanup (~93 commits)#
Systematic test(gpu): lock webgpu X and test(llvm): lock Y commits
lock down every metadata contract. Paired with phase-completion markers
and LLVM fix commits that close the loop on each sub-campaign.
555a3feb3test(gpu): lock webgpu adapter schema contract6c7aed364test(gpu): lock webgpu output entry contract bundle4d815aef7test(gpu): lock webgpu output entry access6cd611711test(gpu): lock webgpu output entry role49b2c1b69test(gpu): lock webgpu output entry kind87a815317test(gpu): lock webgpu layout entry layout index1ea9c8bcbtest(llvm): lock descriptor family metadata contract00c0778fatest(llvm): lock byte-data family metadata contractddf42005ctest(llvm): lock failable function constant argumentsfe9dcc3d6fix(llvm): render function constant arguments as pointers658094972fix(llvm): materialize closure function values as pointers
Theme 4: Design/planning interlude + reader locale (~65 commits)#
A reader-locale substrate is designed for the Faber human-facing surface, with north-star design docs, reference locale set definition, NFKC normalization switch, and English keyword sugar specification. Planning commits cover prefix predicate retirement, annotation sugar, and split of the private compiler from public language concerns.
f5895006adocs: add reader-locale north-star design for human-facing surfaceef330eb69Rewrite reader-locale design around reference locale set437d6e981Complete reader locale keyword lookup phase102d8dc5bfeat(radix): switch lex normalization from NFC to NFKC05dd80780Add goal: switch Faber lex normalization from NFC to NFKC5522921c3Add goal: aspect-oriented TLA+ verification over the HIR808300e3cdocs: lock glyph operators as fixed in English keyword sugar spec8f96b8faddocs(plans): split private compiler from public language1e806af6ddocs(factory): plan prefix predicate retirement150f58c68docs(factory): add annotation-sugar goal from design spec3696ec53fdocs: add reader locale substrate goal
Theme 5: Diagnostic event system overhaul (~88 commits)#
A systematic restructuring of the diagnostic event system. Every subsystem's
diagnostic messages are converted from ad-hoc prose to structured templates
with event spines. The Structure ... diagnostics commit pattern covers
every class: type mismatch, operand, call, pattern, interval, aggregate,
access, expression, generic constraint, failable call, alternate exit.
2505b1c37Isolate diagnostic source lines for bidi rendering46e41fcafStructure remaining ops type mismatch diagnostics60ed295b7Structure ops operand type mismatch diagnosticsc03bcea94Structure call lookup type mismatch diagnostics33f9494f2Structure convert type mismatch diagnostics3bcaf03c7Structure aggregate type mismatch diagnostics926b2f036Structure item expression diagnosticsd55c1d3e0Structure pattern index diagnosticsb00385e4aStructure intervallum type mismatch diagnostics31ae040c4Structure call argument diagnostics39c1e9676Structure failable call diagnosticsffff51db8Structure alternate exit diagnostics7782fa4adStructure statement type mismatch diagnostics530d3c1bdStructure comparison operand diagnosticsbf3342893Structure intrinsic operand diagnostics94670f04cStructure generic constraint diagnosticsf0df6073fRemove parser semantic diagnostic prose fieldscbc407834fix(radix): close deferred diagnostics stage
Theme 6: TLA+ verification + WebGPU proof + polish (~140 commits)#
Two concurrent sub-campaigns:
TLA+ verification infrastructure: Complete pipeline from HIR aspect report substrate through template emission, model checker runner, coverage reporting, and catalog expansion.
5522921c3Add goal: aspect-oriented TLA+ verification over the HIR84ae01787Complete TLA HIR aspect report substrate745400de2Complete TLA aspect template emissionaa65559afComplete TLA model checker runner12cf814b3Complete TLA coverage reporting633f562d3Complete TLA catalog expansion decision2020c8ffdpolish(aspect): factor TLA template constants and variant emission
WebGPU browser host proof: Full proof-of-concept WebGPU browser host scaffold, reflection consumer implementation, and proof check.
0824deff1Implement WebGPU browser proof840997610Add WebGPU browser proof checkceb9aaf5eImplement WebGPU reflection consumer37b87589bPlan WebGPU browser host scaffold90bcf9e8ddocs(factory): close WebGPU browser host proof
GPU vector proofs: Formal MIR proofs for GPU vector operations.
1b039b686feat(mir): prove GPU vector swizzleb441fbd21feat(mir): prove GPU vector cross productf2d00170afeat(mir): prove GPU vector elementwise arithmetic1a4196e11feat(mir): prove GPU vector constructor dot
`polish(mir):` pass (~44 commits): Systematic naming, documenting, and exposing of MIR emission boundaries — LLVM symbols, stepper dispatch, wasm imports, kernel ABI errors, WGSL/Metal unsupported diagnostics, capability gap slice accessors, and dump ID namespace prefixes.
d5ed79ff7polish(mir): name llvm pre-emission empty-rejection fallbacksfeeb8dce9polish(mir): name stable device-safe rejection shape stringsff6a970fdpolish(mir): name kernel ABI error messages2572f9416polish(mir): document llvm symbols and runtime prefix7ee8fb08fpolish(mir): document llvm declare gatheringcb5d363a8polish(mir): document structured CFG recognition boundary2864f947fpolish(mir): document llvm emit and name probe headerbc8996f25polish(mir): name llvm literal global families and descriptors1bb0432c8polish(mir): dedupe wasm import prefixes and arg suffixes81e5f10dcpolish(mir): name stepper unsupported diagnostic prefix
Theme 7: Rust canonical cleanup + closure ABI (~60 commits)#
The RC-002 through RC-009 campaign closes the Rust canonical cleanup cycle. Highlights include prelude allow narrowing, control-flow lowering, static generis emission, valor helper ratchet, typed error reconciliation, and package materialization formatting. MIR generic monomorphization is implemented and the closure value call ABI is selected and implemented.
5afa42fb0Complete RC-002 prelude allow narrowingacdd459a8Complete RC-004 control-flow lowering4b08d3266Complete RC-005 static generis emission9c1476092Complete RC-006 valor helper ratchet6003af9a0Complete RC-007 typed error reconciliationd788914c1Complete RC-008 Rust field spelling policye6a01d149Complete RC-009 package materialization formatting860dc6190Complete Rust canonical cleanup07d87fe18Add optimized Rust canonical harnessbe9834042Implement closure value call ABIfcad40f27Select closure value call ABI packet231f9ee03Implement MIR generic monomorphizatione279bf0fafix(radix): instantiate generic MIR call signatures81cb2814efeat(llvm): canonicalize literal data pointers
Theme 8: Stepper alignment + MIR sexp + annotation sugar (~45 commits)#
Three convergent sub-themes:
Stepper alignment: Three stages (0–2) refresh the stepper baseline, build a structural capability classifier + matrix tier, and add a runtime-boundary ledger stepper column with guard.
70ebc5ae8Add stepper-alignment factory goal and campaign6525f5cd7stepper-alignment(stage0): refresh baseline, bucket corpus growth, ratchet floorsc0db54d96stepper-alignment(stage1): structural capability classifier + matrix tierc48e84129stepper-alignment(stage2): runtime-boundary ledger stepper column + guard
MIR sexp text target: The sexp probe is promoted to a proper text target with default carriers, runtime helpers, aggregate carriers, CFG terminators, and nullable runtime helpers.
8f079f6a2feat(mir): promote sexp probe to text targetb357e2537feat(mir): add sexp default carriers320718c56feat(mir): emit sexp runtime tier oneeb9d4bb6ffeat(mir): emit sexp cfg terminators96b0727eefeat(mir): emit sexp aggregate carriers6349e6106feat(mir): emit sexp nullable runtime helpers
Annotation sugar + type-call retirement: Four-stage annotation sugar implementation (attachment fix → braced parse → canonical braced emit → token-backed family promotion) plus retirement of the old type-call constructors and prefix predicate syntax.
91fd91e1bfeat(radix): annotation sugar stage 1 — attachment fix and HirAnnotation640086063feat(radix): annotation sugar stage 2 — braced parse surface6628938d9feat(radix): annotation sugar stage 3 — canonical braced emitdc159447dfeat(radix): annotation sugar stage 4 — promote token-backed familiesecb05f5f3feat(radix): retire type-call constructors and prefix predicates
Theme 9: Deferred fix campaign (~25 commits)#
Closing correctness findings from the MIR audit. Each fix(radix): close deferred X
commit resolves a stage: parser clean-break, annotation metadata, canonical
annotation, rust handled expression, MIR generic, air eligibility, MIR target
honesty, field collision, and diagnostics. Specific DEFER-* tickets are addressed:
6edf3a27cfix(radix): validate generic call sites with uninstantiated param slots (DEFER-074)1a711b9c7fix(radix): emit multi-guard custodi in source order (DEFER-068)ad8f57d20fix(radix): make Go/TS target gate a lazy spelling smoke test (DEFER-071)990b9aecafeat(mir): defer enum llvm layout explicitly5f0fe6682feat(mir): classify callable llvm deferralfcb013c9bfeat(mir): classify failable llvm cfg deferralcbc407834fix(radix): close deferred diagnostics stageda725e0e3fix(radix): close deferred proof honesty stage1058ea9aafix: address deferred fix review findings
Theme 10: faber-cli package MIR campaign (~24 commits)#
The user-facing tail of the release. The faber-cli gains full package MIR
capability: CLI option parsing (root flags, scalar operands, global options,
mounted text operands, defaulted options), command alias dispatch, zip archive
interpretation, MIR linking, MIR interpretation through the stepper, and
probe-target parity with radix emit.
3355c50c8feat(faber-cli): interpret zip package archives80bb6b44efeat(faber-cli): spike package MIR linking41b1adad9feat(faber-cli): run packages through MIR interpretation7111381e7feat(faber-cli): MIR probe target parity with radix emitb8b06bb1cfeat(faber-cli): extract package analysis API5f58668effeat(faber-cli): close package MIR CLI campaign4d2c7305efeat(faber-cli): dispatch package MIR command aliases840e91a65feat(faber-cli): parse mounted CLI text operands in package MIR7e0fad74cfeat(faber-cli): dispatch mounted CLI package MIR commands5a1db8a69feat(faber-cli): interpret root CLI packages in MIR
Interleaving note (Jul 4)#
July 4 produced 245 commits with heavy interleaving across themes 5, 6, and 7.
The diagnostic event system (Structure … diagnostics), TLA+ verification
completion markers, and Rust canonical close-out commits (RC-009, RC-008, RC-007,
RC-006, RC-005, RC-004, RC-002) all landed within overlapping hours. This is
visible in the commit log as back-to-back Structure ... diagnostics, Complete RC-...,
and Complete TLA ... commits from a single session.
Breaking / author-visible#
| Change | Migration |
|---|---|
| Type-call constructors and prefix predicates retired | Use annotation sugar syntax (@-prefixed braced forms) |
| Faber lex normalization switched from NFC to NFKC | Affects character-level source matching; NFKC normalizes more compatibility characters |
| Reader-locale substrate in design phase | No runtime impact yet; design is internal planning |
Verifying the release tag#
git log v0.65.0..v0.66.0 --oneline --no-merges | wc -l
# expect 818The commit range is RFC3339-bounded: git log v0.65.0..v0.66.0 --format="%ai" --no-merges
should show dates from 2026-07-01 through 2026-07-05 inclusive.
---