github emscripten-core/emscripten 6.0.3

13 hours ago

What's Changed

  • Fixed UTF8ToString with GROWABLE_ARRAYBUFFERS set. String decoding now
    copies the data when the heap buffer is resizable, just like it does in
    the shared memory case. (#27242)
  • Added support for compiling FMA intrinsics. All 32 FMA intrinsics are
    supported, with 256-bit variants emulated via two 128-bit operations. Pass
    -msimd128 -mfma to enable. With -mrelaxed-simd -mfma, Wasm relaxed
    SIMD FMA is used. (#27183)
  • New AUTO_INIT setting to opt an instance ES module (MODULARIZE=instance or
    WASM_ESM_INTEGRATION) into self-initialization via top-level await on import,
    rather than exporting a default init function. Since there is no
    init/moduleArg, module-level configuration is unavailable:
    INCOMING_MODULE_JS_API is disabled and passing a non-empty one is an error.
  • The async poll()/select() implementation was refactored onto a per-inode
    readiness wait-queue. As part of this, the (undocumented) stream_ops.poll
    FS-backend handler signature changed from poll(stream, timeout) to
    poll(stream) returning the current readiness mask; out-of-tree custom FS
    backends with a poll handler must update. (#27226)
  • compiler-rt and libunwind were updated to LLVM 22.1.8. (#27245, #27246)
  • -fcoverage-mapping is currently broken due to a mismatch between the version
    of LLVM used and the imported version of compiler-rt. We hope to fix this
    in the next release. (#27261)
  • The default value for GROWABLE_ARRAYBUFFERS was reverted to 0 since we
    found issues with Web API compatibility. (#27260)

Contributors

Thanks to the following contributors: @sbc100 (38) @guybedford (11) @aheejin (7) @brendandahl (4) @kleisauke (3) @tlively (2) @duerrbaby (1) @fanchenkong1 (1) @heyparth1 (1) @hoodmane (1) @JAicewizard (1) @pavelsavara (1) @tomayac (1) @WebCoder49 (1) @Young-Lord (1)

New Contributors

Full Changelog: 6.0.2...6.0.3

Don't miss a new emscripten release

NewReleases is sending notifications on new releases.