v0.9.0
Pre-release
Pre-release
What's Changed
- types: R1 escape-awareness for --warn-unbounded-alloc + precision scope (GH #18 item 1) by @rileyr in #120
- notes: drop R3 (lifetime-awareness) from the precision plan — unsound by @rileyr in #121
- unbounded-alloc: name bounded fixes in the warning + fix moving-average in place by @rileyr in #122
- examples: fitter updates the kernel in place (clears the last unbounded-alloc warnings) by @rileyr in #123
- cli: turn --warn-unbounded-alloc on by default (GH #18 item 1) by @rileyr in #124
- notes: scope bounded bus queue + backpressure (GH #125) by @rileyr in #126
- runtime: bound the cooperative bus queue + backpressure (GH #125 v1) by @rileyr in #127
- runtime: cross-pool (any->pinned) bus backpressure via bounded mailbox (GH #125) by @rileyr in #128
- post-audit hardening: WS0–WS5 (verification + 3 real fixes + docs) by @rileyr in #129
- fix(codegen): locus-field reassignment is a lifecycle transition (WS1#4) by @rileyr in #130
- io::tls recv/send timeouts + recv-timeout sentinel (WsClient liveness, Part A) by @rileyr in #132
- notes: corrected verdict on TLS concurrent-recv starvation + pond liveness handoff by @rileyr in #131
- fix(runtime): close use-after-free race in the TLS handle table by @rileyr in #133
- fix(runtime): serialize the shared bus-payload arena's bump by @rileyr in #134
- feat(stdlib): std::io::tcp::set_nodelay + TCP_NODELAY constant by @rileyr in #135
- feat(diag): alloc/syscall gate counters (std::diag) by @rileyr in #137
- feat(stdlib): recv_stamped_into — kernel RX timestamps (one recvmsg) by @rileyr in #138
- feat(stdlib): std::bytes find_byte + block-XOR masking by @rileyr in #139
- feat(ring_layout): record_header framing + post_copy recheck by @rileyr in #140
- feat(stdlib): std::io::MirrorRing — double-mmap wrap-free buffer by @rileyr in #141
- test(io): recv_into zero-alloc audit + gate (fast-protocol-I/O #6) by @rileyr in #142
- feat(ring_layout): in-band record-header field delivery (std::shm::last_record_*) by @rileyr in #143
- docs(notes): fast-protocol-I/O substrate scoping note (shipped) by @rileyr in #144
- chore: neutralize external/internal proper-noun references in foreign-ring work by @rileyr in #145
- feat(stdlib): TLS fast-path siblings — set_nodelay + recv_stamped_into by @rileyr in #146
- fix(tls): recv_stamped kernel timestamp via recvmsg cmsg (not SIOCGSTAMPNS) by @rileyr in #147
- fix(shm): post_copy torn-read guard resyncs at cap-S, not a full lap by @rileyr in #148
- verify: GenMC model for the arena subregion-slot lock (#18 item 2) by @rileyr in #150
- docs: sync spec + book with the foreign-ring + lifecycle surface by @rileyr in #151
- feat: WebAssembly compilation target (Phases 0–2) by @rileyr in #152
- feat(wasm): host interface — @export/entry-inversion + persistent locus by @rileyr in #153
- fix(wasm): heap-allocate the @export-locus singleton (was a dangling stack alloca) by @rileyr in #154
- feat(stdlib): expose std::io::tcp::__set_recv_timeout_ns (bounded accept) by @rileyr in #155
- fix(wasm): silence -Wbuiltin-requires-header on the freestanding shim by @rileyr in #156
- feat(stdlib): std::math::round / trunc — Float→Int with rounding mode by @rileyr in #157
- fix(wasm): real snprintf in the libc shim — String+Int no longer emits empty by @rileyr in #158
- fix(wasm): Decimal i128 builtins + @ffi("js") Int↔number marshaling by @rileyr in #159
- docs: sync spec + book with the stdlib / WASM / syntax surface by @rileyr in #160
- feat(alloc): memory-bound proofs — opt-in gating + capacity-aware bounding (GH #18 item 1) by @rileyr in #166
Full Changelog: v0.8.3...v0.9.0