6.0.10
ingelibre/ingetrazo6.0.10Sep 21, 2026by emscripten-bot
Upgrading?
AI Summary
This release marks the SDL3 port as stable, updates WASM compilation options by deprecating legacy flags, and enhances runtime performance through memory allocator updates and improved timeout handling.
Key Highlights
- SDL3 port is no longer considered experimental
- WASM=0 and WASM=2 (wasm2js) marked as deprecated
- emscripten_clear_timeout now releases runtime keepalive
- NODE_CODE_CACHING setting removed
- Embind optimizations for trivially constructible types
Breaking Changes
- NODE_CODE_CACHING setting was removed
- Embind registration ABI gained size and triviality parameters (requires rebuild of object files against newer bind.h)
New Features
- -sWASM_BINDGEN supports emcc usage as a post-link step
- Embind temporaries for trivially constructible types placed on wasm stack
- emscripten_clear_timeout releases keepalive for pending timeouts and is a no-op for fired ids
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
public-apis/public-apis★ 491,196
A collective list of free APIs
NousResearch/hermes-agent★ 256,050
The agent that grows with you
yt-dlp/yt-dlp★ 200,229
A feature-rich command-line audio/video downloader
microsoft/markitdown★ 191,546
Python tool for converting files and office documents to Markdown.
Significant-Gravitas/AutoGPT★ 187,699
AutoGPT is the vision of accessible AI for everyone, to use and to build on. Our mission is to provide the tools, so that you can focus on what matters.