Releases: clojurewasm/ClojureWasm
Releases · clojurewasm/ClojureWasm
v0.5.0 — Zig 0.16.0 migration
Highlights
- Zig 0.16.0 + zwasm v1.11.0 — full toolchain bump (D111). All
std.Ioreshapes centralized behindsrc/runtime/io_default.zig, so module-level mutexes / condvars / sleeps / env lookups don't have to threadiothrough every call site. - Performance (ReleaseSafe, macOS aarch64): Binary 4.12 MB / Startup 4.1 ms / RSS 8.2 MB
- Green gate: 1324/1324 unit tests, 83 cljw test namespaces, 6 wasm e2e, deps.edn e2e — all passing.
Toolchain
build.zig.zonminimum_zig_version→0.16.0flake.nixpin → 0.16.0 (sha256 mirrored from zwasm).github/workflows/{ci,nightly,release}.ymlsetup-zig version pin → 0.16.0link_libc = trueenabled (inherited from zwasm v1.11.0). Several stdlib removals (std.posix.{getenv,write,isatty,mprotect},std.fs.cwd().realpath) bridged to libc viastd.c.*. Stripping libc back out is tracked as F146.
Temporarily disabled (Phase 7 follow-ups)
The 0.16 stdlib reshapes were large enough that four features were collapsed to runtime-error stubs to land the migration cleanly. Each prints a clear error pointing at the F## item, and the original code is preserved in source or git history.
| F## | Feature | Reason |
|---|---|---|
| F140 | cljw.http/run-server |
std.net.{Server,Stream} removed; needs std.Io.net rewrite |
| F141 | cljw.http/get|post|put|delete |
std.http.Client now requires .io field |
| F142 | --nrepl-server (nREPL) |
Same std.Io.net work + std.posix.poll replacement |
| F143 | Raw-mode line editor | runRepl falls through to runReplSimple (functional) |
| F144 | cljw build self-bundling |
Needs std.fs.selfExePath replacement |
| F145 | OrbStack Ubuntu re-validation | --seed 0 workaround needs re-test on 0.16 |
| F146 | Strip link_libc = true |
After std.c.* shims have pure-Zig replacements |
Full list in .dev/checklist.md.
See also
- Migration narrative:
.dev/decisions.mdD111 - Full CHANGELOG:
CHANGELOG.md
v0.4.0
Full Changelog: v0.3.0...v0.4.0
Full Changelog: v0.3.0...v0.4.0
v0.3.0
Full Changelog: v0.2.0...v0.3.0
v0.2.0
Full Changelog: v0.1.0...v0.2.0
Full Changelog: v0.1.0...v0.2.0
v0.1.0
Full Changelog: https://github.com/clojurewasm/ClojureWasm/commits/v0.1.0