You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Release v1.10.0
FEATURES
- crymble-web build --release is now LLVM-optimized (-O3): in the browser an app's own frame work runs
2.6 to 5.9 times faster, and pages are about 40% smaller (Embrace 7.9 -> 5.1 MB, 1.85 MB gzipped).
A release compile takes about 1.7 times longer; builds without --release stay quick (-O0).
- After updating, run bin/crymble-web setup once: the toolchain's compiler is rebuilt (a few minutes).
crymble-web, tools/wasm/spec.sh and an app's own checks now refuse a toolchain built from anything
else (tools/wasm/setup.sh --check), naming the stale step.
BUGFIXES
- Web builds could copy an object only partly (dup) or get its size wrong when one of its fields is
typed by a generic module whose struct appears later in the program - in Embrace, Enter on a
reference cell crashed the browser tab. A Crystal compiler bug (upstream too, on every target): the
toolchain patch now computes these sizes from complete types, and a size that would still be wrong
stops the build with an error naming it.
CLEANUP
- README and docs: the browser version is tested in Chromium and Firefox (Safari not yet).
- tools/wasm/spec.sh and check.sh run every part twice, unoptimized and optimized; new checks for
exceptions in optimized code and for object sizes typed early.