Versions are tagged with vX.Y.Z and capture user-visible changes — compiler
features, language rules, runtime additions, and fixes that change observable
behaviour. Point-releases under the same minor typically group related
work; the headline of each entry matches the tag's commit subject.
a182665..96e2ab4) caused stack overflows in the recursive mark phase on
large heap graphs. Leaking GC is correct for short-lived WASM modules
with explicit cleanup paths. NeedsStackObjects disabled, __heap_base
/ __data_end exports removed, stack size override removed.
arch-specific wrapper functions (trap_arch, moxie_longjmp_arch).
llvm.sponentry.p0) for stackpointer on function entry.
with swapStackChain support.
os/osexec.mx - errno checkedcorrectly for non-zero pid returns.
of stuck spawn channels.
conservative GC's LTO preservation requirements.
timeout), WASM GC column updated.
end-to-end. Four-stage fix:
1. splitConstBlocks cascade-demotes const specs that depend on
already-demoted []byte vars (fixed crc32 + similar patterns).
2. New RewriteAddToPipe AST pass converts + to | in non-main
packages so dnsmessage-style s := "a" + "b" + "c" on []byte
vars typechecks.
3. patch-gotypes.go patch 12: matchTypes.mayConvert allows
untyped-string ↔ []byte conversion.
4. patch-gotypes.go patch 7 widened: | accepted when either
operand is a slice or a string (covers []byte(lit | var)
where the constant path converts the literal to typed String).
5. CheckPlusOnText and FindPipeConcat now handle []byte(...)
wraps correctly — skip pure-literal chains (Go folds them);
descend into mixed chains (rewrite to __moxie_concat).
shim entries; CLAUDE.md WASM directive narrowed (native targets
remain first-class).
crypto/secp256k1, crypto/schnorr, base58) so downstream projects stop carrying the
BIP340/secp256k1 implementation.
crypto/ec/p256 with the host crypto.subtle.* bridge for js/wasm and a pure-Go path for native.
dom.Remove bridge.| folded to + in const string expressions so const X = "a" | "b" typechecks as a constant. (Note: a four-stage
interaction with splitConstBlocks, FindPipeConcat, and the patched
matchTypes.mayConvert was identified and fixed in the following
development cycle — native builds of stdlib packages with mixed
[]byte/literal | chains now work end-to-end.)
+ on text types is now a compile error in user/main-module packages; use |. Stdlib and vendor packages
still accept + syntactically (rewritten to | by the loader before
the first typecheck) so pre-v1.1.1 vendored code continues to build.
key material, wiped on free.
types.Info.Implicits tracking, and a copy() fix that lost slice lengths on same-type-reference copies.
EPOLLOUT no longer busy-spins when a socket's writableside is already drained.
PUBLISH_TO relay routing for targeted publishes.ext.mjs — one signer shim auto-detectsextension-vs-in-page environment.
signer.mjs: check error and sig fields on signEvent resolution.signer.mjs error reporting improved.sw.mjs Log / SetTimeout helpers.dom.OnPullRefresh — scroll-to-refresh gesture support.cap instead of len.dom.mjs guards for non-Element nodes.dom.FirstElementChild.| lowered to __moxie_concat in the JSbackend.
moxie/mxtext so rewrite logic is shareable between the native compiler (moxie build) and moxiejs.
makeSlice deep-clones object zero values so default element statedoesn't alias across slice slots.
signer.ResetExtension bridge.dom.QuerySelector / GetElementById: return 0 (valid ref) instead of -1 (invalid) when an element is found.
uint64 correctness.js/wasm build context exposed.Sprintf pool-aliasing fix (output buffer was shared with earlier results under string = []byte unification).
[]T{:n}, chan T{n}, etc.). (no goroutines, no make, no new, no + on text), spawn as
a builtin, moxie.Codec IPC boundary, secalloc for key material.
(117+ packages compile under Moxie restrictions), int=int32 on all
targets, string=[]byte unification via patched go/types, spawn
for inter-domain concurrency replacing go.