6.0.1
emscripten-core/emscripten6.0.1Jun 22, 2026by emscripten-bot
Upgrading?
Release notes summary
This release focuses on modernizing the build system with experimental features like wasm-bindgen integration and cross-origin storage support. It also improves the startup process by using async/await more frequently for better error handling.
Key Highlights
- Added `-sWASM_BINDGEN` support to integrate wasm-bindgen into Emscripten builds
- Added experimental `-sCROSS_ORIGIN_STORAGE` linker flag for Wasm loading
- Deprecated `-sUSE_PTHREADS` and `-sMEMORY64` in favor of `-pthread` and `-m64`
- Startup process now uses async/await more often, improving error visibility
- Removed `EMCC_STDERR_FILE` redirect (use `EMCC_DEBUG` instead)
Breaking Changes
- The ability to redirect JS compiler stderr using `EMCC_STDERR_FILE` was removed
New Features
- wasm-bindgen integration support
- Cross-Origin Storage browser API integration
- Enhanced async startup error handling
Full Release Notes
## What's Changed - The ability to redirect JS compiler stderr using `EMCC_STDERR_FILE` was removed. These days you can use `EMCC_DEBUG` and/or `EMCC_DEBUG_SAVE` to preserve all the intermediate JS compiler files. (#27101) - The installed versions of the compiler-rt library now follow the upstream naming convetion of `libclang_rt.<something>.a`. (#27089) - Dynamic linking now explicitly requires asynchronous Wasm compilation. The process of loading side modules at startup currently depends on this. (#27086) - New experimental `-sCROSS_ORIGIN_STORAGE` linker flag integrating the proposed [Cross-Origin Storage browser API](https://github.com/WICG/cross-origin-storage) as a progressive enhancement for Wasm loading on the web target. See `docs/compiling/CrossOriginStorage.rst` for details. (#27066) - The `-sUSE_PTHREADS` and `-sMEMORY64` flags have been deprecated in favor of the more standard `-pthread` and `-m64` (or `--target=wasm64`) flags. (#27025) - Adds wasm-bindgen support. When `-sWASM_BINDGEN` is set, Emscripten will call out to `wasm-bindgen` in the users's path and integrate the wasm-bindgen JS with the normal Emscripten JS. Some wasm-bindgen features may not yet be fully supported. (#23493) - Fixed `getentropy`/`random_get` spuriously failing under Node.js and the shell environment for small requests. (#27122) - The startup process for the generated program now makes use of `async` / `await` under more circumstances (specifically when using `setStatus`, or run dependencies). This means that errors during startup (or during the `main()` function) will more often show up as unhandled promise rejections (`onunhandledreject`) rather than synchronous errors (`onerror`). (#27121) ## Contributors Thanks to the following contributors: @sbc100 (48) @brendandahl (3) @hwhsu1231 (3) @kleisauke (3) @Diyou (2) @arsnyder16 (1) @guybedford (1) @hoodmane (1) @iakovgi (1) @juj (1) @stevenwdv (1) @tomayac (1) @valadaptive (1) @walkingeyerobot (1) ## New Contributors * @iakovgi made their first contribution in https://github.com/emscripten-core/emscripten/pull/27109 **Full Changelog**: https://github.com/emscripten-core/emscripten/compare/6.0.0...6.0.1
Related Repositories
ggml-org/llama.cpp★ 132,131
LLM inference in C/C++
LadybirdBrowser/ladybird★ 66,637
Truly independent web browser
ClickHouse/ClickHouse★ 50,563
ClickHouse® is a real-time analytics database management system
LizardByte/Sunshine★ 42,550
Self-hosted game stream host for Moonlight.
deskflow/deskflow★ 30,072
Share a single keyboard and mouse between multiple computers.