v0.59.4
v0.59.4
Released 2026-06-29.
Patch release. Native-Messaging memory + packaging follow-ups from the
#389 thread, plus a couple of compiler fixes. (No published-package
features; the #2827 statusline/dashboard change is repo tooling only.)
Packaging
- #2828 — the npm package now ships
examples/(the native-messaging hosts
and the other examples). Previously onlydist/was published, so
npm i @loopdive/js2did not include the hosts and you had to fetch them from
GitHub.
Native Messaging (#389)
- #2832 —
nm_js2wasm_node_processnow bounds its read-side memory. It
previously buffered the entire incoming frame, so peak RSS scaled ~8× the frame
size (≈530 MB for a 64 MiB request, ≈2 GB at 256 MiB) and could exhaust memory
on a constrained machine. It now streams the input through a reused bounded
window like the other three hosts — peak RSS is flat ~35 MB regardless of
frame size. (0.59.2's #2814 bounded the write side; this completes it.) All
four hosts round-trip byte-exact under wasmtime 46.0.1 at 1/64/128/256 MiB with
flat memory.
Compiler fixes
- #2809 — sparse-array
reduceRightwith no initial value (funcIdx desync);
new Array(undefined, …)builds an externref vec. - #2806 — narrow the void-undefined slot rule to
void-expression
initializers;var x = (void 0)stays evolving-any/externref.
Full changelog: v0.59.3...v0.59.4