Skip to content

v0.1.704

Choose a tag to compare

@github-actions github-actions released this 05 Nov 04:45
· 24 commits to main since this release
2612b9b

Changes since v0.1.698

  • The interpreter claims released OwnedVec storage atomically, so only one domain can acquire it. Ordinary Vec shared-bit updates also use atomics.
  • Vec conversions, traversals, failed bounds checks and file output now mark previously missed foreign reads on the affected interpreter, C and LLVM paths, including empty vectors.
  • LLVM Map iteration marks reads for both hashed and linear layouts, including empty and fully deleted Maps. C region-loop copies mark the Maps and Vecs they read, including nested containers, while their copies retain independent storage and ownership.
  • Wasm's linear Map lookup raises a catchable missing-key failure. Map iteration propagates failures from either callback stage and stops before visiting later entries.
  • C and Wasm guarded matches preserve the remaining arms correctly. Curried closures avoid repeated body emission, and LLVM IR containing musttail calls builds with optimizations enabled.
  • Generated C on macOS reuses same-size mapped blocks through a cache bounded to 256 blocks and 16 MiB.
  • CI now requires 185 integration checks, including common Vec and Map read/failure matrices with explicit expected results and negative controls.

Programs that relied on writing a Vec or Map after another thread read it may now fail on paths whose runtime checks were previously missing. Give mutable storage one owner and exchange messages over Channels; independent immutable snapshots remain shareable.

The hand-written documentation includes inventories of Vec read boundaries and Map read boundaries, including backend support limits.

Downloads

Prebuilt binaries are available for Linux x86_64 and macOS arm64. SHA256SUMS contains their SHA-256 digests. The installer verifies the checksum, version and execution before replacing an existing binary.

Full changelog