6.0.10
emscripten-core/emscripten6.0.10Sep 21, 2026by emscripten-bot
Upgrading?
AI Summary
Stabilizes the SDL3 port, deprecates WASM compilation options, and introduces Embind stack optimizations alongside mimalloc updates and timeout fixes.
Key Highlights
- SDL3 port is no longer experimental
- WASM=0 and WASM=2 marked as deprecated
- mimalloc updated to version 3.5.1
- Embind temporaries moved to the wasm stack
- NODE_CODE_CACHING setting removed
Breaking Changes
- NODE_CODE_CACHING setting removed
- WASM=0 and WASM=2 marked as deprecated
- Embind ABI changes require rebuilding object files
New Features
- -sWASM_BINDGEN supports post-link usage
- Embind stack placement for trivially constructible types
- emscripten_clear_timeout releases runtime keepalive
Full Release Notes
## What's Changed - The SDL3 port is no longer considered experimental, and the compiler diagnostic warning has been removed. (#27646) - `WASM=0` and `WASM=2` (wasm2js) were marked as deprecated. (See #27608) - mimalloc was updated to 3.5.1. (#27662) - `-sWASM_BINDGEN` supports emcc usage as a post-link step, where `EXPORTED_FUNCTIONS` is authoritative. wasm-bindgen processing is only performed when the linker inputs carry the wasm-bindgen Emscripten marker section, so `-sWASM_BINDGEN` can safely be passed to non-wasm-bindgen builds. (#27208) - Embind `value_object` and `value_array` argument temporaries for trivially constructible/destructible types (up to `alignof` 16) are now placed on the wasm stack instead of being heap-allocated per call, and per-field destructor bookkeeping is skipped when the type registers no destructor. This removes the per-call garbage on such calls. The registration ABI gained size and triviality parameters, so object files built against an older `bind.h` need to be rebuilt. (#27610) - `emscripten_clear_timeout` now releases the runtime keepalive held by the pending timeout, and both `emscripten_clear_timeout` and `emscripten_clear_immediate` are no-ops for ids that already fired. (#27720) - The `NODE_CODE_CACHING` setting was removed, as node's support for serializing WebAssembly modules has been missing for over 5 years now. ## Contributors Thanks to the following contributors: @sbc100 (46) @guybedford (9) @aheejin (4) @dschuff (4) @dimokol (2) @kleisauke (2) @brendandahl (1) @jeremy-code (1) @jrcain-usgs (1) @Kammu2000 (1) @kripken (1) @mrnickzh (1) @tlively (1) ## New Contributors * @mrnickzh made their first contribution in https://github.com/emscripten-core/emscripten/pull/26886 * @Kammu2000 made their first contribution in https://github.com/emscripten-core/emscripten/pull/27671 * @jrcain-usgs made their first contribution in https://github.com/emscripten-core/emscripten/pull/27691 * @dimokol made their first contribution in https://github.com/emscripten-core/emscripten/pull/27610 **Full Changelog**: https://github.com/emscripten-core/emscripten/compare/6.0.9...6.0.10
Related Repositories
ggml-org/llama.cpp★ 131,949
LLM inference in C/C++
LadybirdBrowser/ladybird★ 66,607
Truly independent web browser
ClickHouse/ClickHouse★ 50,529
ClickHouse® is a real-time analytics database management system
LizardByte/Sunshine★ 42,491
Self-hosted game stream host for Moonlight.
deskflow/deskflow★ 29,980
Share a single keyboard and mouse between multiple computers.