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