0.3.0
Breaking changes
- Compilation is native-only. The
--dynamicoption and embedded JavaScript execution runtime have been removed. Eligible dependencies compile natively by default; unsupported packages receive build diagnostics. QuickJS remains only in the native compiler's isolatedcomptimehelper and as standalone regex/Unicode libraries.
Features
process.constrainedMemory()andprocess.availableMemory()read the process's own cgroup limits, as Node.js does through libuv.
Performance
- Map and string lookups do less work. Absent string keys are rejected before the map is probed, and multi-byte substring searches no longer call
memchrfor every first-byte hit. - Class property bags are read without being created.
- Runtime packs for Linux musl, Windows and WASI are much smaller. Their dev runtime objects no longer carry undefined-behavior checks, matching the glibc and macOS packs.
Fixes
- Native program objects use runtime ABI v14. The embedded JavaScript runtime's symbols were removed, so external object consumers must link the matching v0.3.0 runtime pack; the versioned marker rejects incompatible runtime objects at link time.