Skip to content

v2026.8.0

Choose a tag to compare

@jjstwerff jjstwerff released this 01 Aug 19:19
· 120 commits to main since this release
1cc51f5

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 ?? d narrows-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 null deprecation 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-ownership overlay + LOFT_STORES=timeline by @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::host call 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