6.0.10

THU-MAIC/OpenMAIC6.0.10Sep 21, 2026by emscripten-bot

Upgrading?

AI Summary

This update stabilizes the SDL3 port and removes obsolete settings like `NODE_CODE_CACHING`. It also includes performance optimizations for Embind and support for WASM_BINDGEN as a post-link step.

Key Highlights

  • SDL3 port is no longer considered experimental.
  • Removed deprecated `WASM=0` and `WASM=2` (wasm2js) options.
  • Removed obsolete `NODE_CODE_CACHING` setting.
  • Embind temporaries for trivial types are now placed on the wasm stack.

Breaking Changes

  • Removed deprecated `WASM=0` and `WASM=2` options.
  • Removed `NODE_CODE_CACHING` setting.

New Features

  • SDL3 stability and compiler warning removal.
  • WASM_BINDGEN support as a post-link step.
  • Performance optimization for Embind trivial types.
  • Updated mimalloc to version 3.5.1.

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