Repository navigation
v2026.8.0
What's Changed
- native: fallback/error messages name the fix instead of "rebuild loft" by @jjstwerff in #508
- native: self-heal the runtime rlib after a rustc change (auto-rebuild) by @jjstwerff in #509
- Copy-diagnostics phase A (
--report-copies) · #506&-write-back fix · formal specs · W4 lint flip by @jjstwerff in #510 - parser:
as N ?? dnarrows-with-fallback to type N (checked cast + discharge) by @jjstwerff in #512 - @PLN90 phase B: last-use MOVE-elision (default-on) by @jjstwerff in #514
- @PLN93 (#511): collection capture into closures — borrow by shared DbRef; +#513 store re-init fix by @jjstwerff in #515
- @PLN90 copy diagnostics — close-out: A1b UAF + par-native fixes, enforced lint, all 9 items resolved by @jjstwerff in #516
- @pln28 — better error messages: closeout + native stack-overflow guard by @jjstwerff in #518
- ci: label-guard — auto-apply + enforce required issue triage labels by @jjstwerff in #519
- @PLN94: CFG+dataflow ownership oracle (pure-observer cross-check, 3 gates) by @jjstwerff in #524
- @PLN97: formal store-layout contract (B–F) + arc G persist foundations (#521, #523) by @jjstwerff in #526
- catalog: tag ownership_cfg.rs @i60 (green the Feature-catalogue gate) by @jjstwerff in #525
- @PLN97 arc G — remote working-set store loader + layout-identity gate by @jjstwerff in #527
- @PLN98 — live/debug tier: the interpreter over the shared live store (completes loft-lang/plans#98) by @jjstwerff in #529
- @Pln100: declarative project build & test phase (build/asset/test + loft build/check) by @jjstwerff in #531
- First-grade custom types (@PLN99) + zero-cost value structs (@PLN101) by @jjstwerff in #532
- parser: diagnose (not panic) a for-loop with an unresolvable iterable by @jjstwerff in #535
- Native codegen fixes (#520/#533/#534) + wasm-oracle 3rd backend + value-struct docs + plan-tracker cleanup by @jjstwerff in #536
- HTTP/file store loading with a trust model (@PLN97 arc G): authenticity + fail-closed structural validation by @jjstwerff in #538
- @PLN47: complete binary file I/O type matrix (write ↔ read round-trip) by @jjstwerff in #537
- @PLN54: sanitizer coverage — TSan + poison(store+stack) + native-ASan + debug-asserts + notifier; fix Miri-timeout nightly by @jjstwerff in #539
- @PLN97: store_load_url_trusted functions in wasm (--html) — same synchronous API via asyncify by @jjstwerff in #540
- Parallel-compile isolation (per-process scratch) + install native runtime registry/remote-store parity by @jjstwerff in #541
- @PLN53 F1–F3: program-level fuzz harness (raw-source + keyed-container + differential) + F1-1 fix by @jjstwerff in #542
- docs: sync stability roadmap/hotspots + @PLN53/@PLN90 status to merged work by @jjstwerff in #543
- @PLN85: interpreter text-leaks → 0 + enforcing nightly leak gate by @jjstwerff in #544
- @PLN25 narrow-nullable follow-ups (returns, casts, boolean? codegen, packed-field clobber) by @jjstwerff in #545
- @PLN25: vector<narrow?> null representation +
not nulldeprecation warning by @jjstwerff in #546 - @PLN85: CORPUS text-leakers → 0 (enforcing leak gate green); close @PLN53/@PLN54 by @jjstwerff in #547
- Fix the native text-branch delivery divergence (unblocks main); reconcile the docs ledger; wire the nightly notifier; open @PLN102 by @jjstwerff in #548
- @PLN48: spacial<T[x,y]> — Morton/Z-order radix spatial index by @jjstwerff in #550
- Seal gate 1 (Cluster C fold + store-lifetime fixes + widened sanitizer gates) and land @PLN102 arc B (the compatibility contract) by @jjstwerff in #551
- @PLN35: Match PEG patterns — design + Phase 1 (nested) + Phase 2 (name:pat, M-Total, ..rest) by @jjstwerff in #554
- @PLN35 Phases 3–6: PEG match patterns (alternation/optional/repetition/lexeme) + vector-slice codegen fixes by @jjstwerff in #558
- @PLN102 null-flow: flip the model default-on + the compatibility doctrine by @jjstwerff in #559
- @PLN35: scalar captures, field projection, non-literal tails + Phase 7 streaming iterator match by @jjstwerff in #561
- @PLN35 PC1–PC5: sub-rule / parser-combinator cursor layer + cursor-repetition fix by @jjstwerff in #562
- @PLN102: compatibility contract + C1 compat-gate MVP (
loft api-surface) + surfaced fixes by @jjstwerff in #563 - tests: fix ASan stack-overflow + Windows registry-skip guard (#559 fallout) by @jjstwerff in #564
- @PLN103: lifetime inspector —
--show-ownershipoverlay +LOFT_STORES=timelineby @jjstwerff in #565 - @PLN35: mark the plan doc CLOSED / historical record (docs) by @jjstwerff in #566
- @pln20: record first live-audit findings + add C86 write-through lint (REPORT-only) by @jjstwerff in #567
- @PLN104: fix loft#568 owned-text-return interpreter leak via targeted promotion by @jjstwerff in #569
- @PLN102 compat-gate: close the ?? heap-ownership leaks + arc E + @PLN105 Phase 0-1 by @jjstwerff in #570
- test stability: reap s5/s7 swap-child orphans + serialize wasm_debug_relay by @jjstwerff in #571
- @PLN102 docs: DN3-Float SHIPPED status + arc-A warnings-never-break ruling by @jjstwerff in #572
- @PLN102 F2: compound-assign evaluates its place once — decision (C92) + fix scope by @jjstwerff in #573
- @PLN102 C93 par-capture-readonly + C94 floor_mod + C95 no-silent-redefinition by @jjstwerff in #575
- Dead-store lint (default-on) + complete the Android build target by @jjstwerff in #576
- @PLN107: close the value-struct-field-copy dead-store gap + shelve Phase 2 by @jjstwerff in #577
- @PLN102 pre-freeze: library ship/namespacing contract (C96/C97/C98) + shipping infra + consumer fixes by @jjstwerff in #578
- @PLN105: layout-aware zero-copy FFI delivery (deliver/expose binary bridge) by @jjstwerff in #580
- @PLN102: null-flow ?? softening (E/B/C) + --native warm-cache fix + revalidate-libs hardening by @jjstwerff in #581
- @PLN40: const struct fields (write-once-at-construction) by @jjstwerff in #582
- @PLN102: gate-2 soundness fixes + strict-index lint + arc-C design + alias-where-correct by @jjstwerff in #583
- Two-level const model + null-flow diagnostics + gate-2 reconciliation by @jjstwerff in #584
- Parser-driven
loft fmt+loft::hostcall API + corpus normalization + @PLN108 par-store sharing by @jjstwerff in #586 - @PLN110 len/size flip + @PLN102 stability (F2, arcs) + formatter fixes by @jjstwerff in #587
- @PLN109 JSON on loft's lexer (fixes @PLN102 H5) + @PLN108 par-store single-impl + native ref-return/var-thread fixes by @jjstwerff in #589
- Stability + green-board sweep: @PLN102 K1 + Windows/flake/ASan-gate/CI fallout fixes by @jjstwerff in #590
- CI hardening: nightly lib-validation logging + coverage guard, ASan leak-gate fixes, lib-branch reports + @PLN102 arc-C survey by @jjstwerff in #591
- fix(@PLN102): unary op on an unresolved-forward operand must stay re-typeable by @jjstwerff in #592
- fix(@PLN35): captured-group store-UAFs (35m + 35c) + two static --show-ownership UAF gates by @jjstwerff in #594
- @PLN102 arc-E: pre-freeze error surface + CI drift gates + test-hygiene + F9 by @jjstwerff in #595
- @PLN112 state-of-the-distribution view + @PLN102 arc-E
??soundness fix + @Pln13 scripts by @jjstwerff in #605 - release: bump to v2026.7.2 — @PLN110 len/size flip + stability (prep; owner tags/publishes) by @jjstwerff in #606
- Nightly gate fixes (debug-asserts + macOS ASan) + @PLN113 contract-keying plan + flip-rollout runbook by @jjstwerff in #607
- docs(libcatalogue): refresh for 2026.7.2 + published flip libs (markdown 0.2.0 / graphics 0.5.0 / time 0.3.0) by @jjstwerff in #608
- libcatalogue: make the catalogue a local build, not committed data (kills the nightly-churn bot + PR ceremony) by @jjstwerff in #609
- feat(@PLN63): loft-lsp language server + Neovim plugin (LSP.1 + LSP.2 + @PLN115) by @jjstwerff in #610
- Backend parity: two silent no-ops on --native, a store-ownership fix, narrow-int widths, and @PLN114 tuple layout by @jjstwerff in #611
- @PLN63 LSP.2 + LSP.3: extract-function + loft-dap debug adapter (D0–D6) + advanced tools (VE/SF/DB/RX) by @jjstwerff in #612
- CI: fix the three red steps — and the reporter that was hiding them by @jjstwerff in #613
- Browser threading complete + gated in CI (@PLN117), store-UAF fixes (@PLN118), x?/enum soundness (@PLN116), exposed-collection iteration (@PLN105) by @jjstwerff in #614
- Fix the red CI steps, a store leak (#615), and finish @Pln13's browser + docs phases by @jjstwerff in #616
- build: macOS — auto-export SDKROOT so cc-rs finds the SDK headers by @jjstwerff in #617
- Fix eleven issues: entry-fn heap returns (#618), diagnostic line drift (#625), narrow-vector slicing, native codegen, label guard by @jjstwerff in #630
- Consumer-driven fixes + @pln14 session persistence + @PLN13/116, bundled by @jjstwerff in #633
- SEO: JSON-LD + "programming language" in page titles by @jjstwerff in #637
- Fix the Windows LSP hang: platform-agnostic file:// URI abstraction by @jjstwerff in #640
- Fix the nightly ASan gate (stdlib root for any cargo layout) + library warning dashboard by @jjstwerff in #641
- registry-validation: a malformed field must cost one package, not the whole sweep by @jjstwerff in #642
- lib_warning_scan: a zero is only as good as the evidence behind it by @jjstwerff in #644
- library-ci-reusable: discovery must not fail the job when it finds nothing by @jjstwerff in #645
- CI budget: design + implementation — PR gate under 20 min, gates adopted, one daily view by @jjstwerff in #646
- CI budget: macOS off the PR matrix + the measured corrections by @jjstwerff in #647
- Revert the test sharding — measured at 15 seconds for double the minutes by @jjstwerff in #648
- loops: give each
for _its own counter — nested anon loops ran once (moros H5/H8) by @jjstwerff in #649 - Debugger frames, two consumer defects, and the tooling that would have shown them by @jjstwerff in #650
- Unblock main's nightly, three consumer defects, a diagnostic-tier split, and the library compatibility contract (steps 1-4) by @jjstwerff in #653
- Library compatibility contract (steps 0-6, floors seeded) + three codegen/parser fixes by @jjstwerff in #657
- compat step 7: the release gate proves the whole claim, and an overrun fails it by @jjstwerff in #658
- Every open bug: the store-lifetime substrate (#673/#666/#664), six consumer faults, and the instruments that found them by @jjstwerff in #674
- #675 reserve the heap return buffer where the type is finally known, plus two CI gates from #674 by @jjstwerff in #676
- Both open bugs: a promotion rule that deleted a borrow (#677), and browser paging for the working-set loaders (#678) by @jjstwerff in #679
- Close every open bug: store leak, keyed ranges, loop-variable typing, CLI arg routing by @jjstwerff in #692
- Two red CI signals, and the instruments to read the soak by @jjstwerff in #694
- #695 a closure's captured cell lives as long as the variable, not the closure by @jjstwerff in #696
- Lower every default that builds; give a keyed literal a value form; gate store_load on the layout it was written with by @jjstwerff in #705
- @PLN78: the toolchain is an artifact in the index we already have by @jjstwerff in #707
- Four consumer reports, and the reproducible-build chain by @jjstwerff in #711
- Five consumer bugs, and the store's file size by @jjstwerff in #716
- Seven open bugs, @pln123's store file size, and the 2026.8.0 release prep by @jjstwerff in #724
- Three store leaks the debug-assertions gate caught, and a diagnostic reading a header wrong by @jjstwerff in #726
Full Changelog: v2026.7.1...v2026.8.0