6.0.4

emscripten-core/emscripten6.0.4Jul 27, 2026by emscripten-bot

Upgrading?

Release notes summary

Emscripten 6.0.4 updates the LLVM libc and mimalloc libraries while removing legacy support for ancient DOM APIs and deprecated JS symbols. It also introduces enhanced configuration file handling for environment variables and implements message passing functions.

Key Highlights

  • Config file parser can now handle environment variables (e.g., $HOME) and the ~/ prefix
  • Legacy support for ancient vendor-prefixed DOM APIs and JS library symbols removed
  • llvm-libc updated to version 22.1.8
  • mimalloc updated to version 3.4.1
  • Backport fix for musl's qsort (CVE-2026-40200)

Breaking Changes

  • Legacy vendor-prefixed DOM APIs were removed
  • Legacy JS library symbols ($ALLOC_NORMAL, $ALLOC_STACK, $allocate) were removed

New Features

  • Config file parser now supports environment variables and the ~/ prefix
  • recvmmsg and sendmmsg are now implemented

Full Release Notes

## What's Changed
- The emscripten config file parser can now handle strings that contain
  environment variables (e.g. `$HOME`) and that use the `~/` prefix.  This means
  that it should be possible, in most cases, to avoid the use of python's
  `os.path` within the the config file itself. (#27215)
- Legacy support for ancient vendor-prefixed DOM APIs was removed (#27341,
  #27339, #27338, #27340, #27347)
- Removed legacy JS library symbols symbols: `$ALLOC_NORMAL`, `$ALLOC_STACK`,
  and `$allocate`. (#27378)
- llvm-libc was updated to LLVM 22.1.8. (#27374)
- mimalloc was updated to 3.4.1. (#27380)
- Backport fix for musl's qsort (CVE-2026-40200) (#27029)
- `recvmmsg` and `sendmmsg` are now implemented in terms of `recvmsg` and
  `sendmsg`. (#27395)


## Contributors
Thanks to the following contributors: @sbc100 (42) @guybedford (7) @aheejin (1) @brendandahl (1) @HCL-JasonR (1) @kleisauke (1) @stephenduong1004 (1)

**Full Changelog**: https://github.com/emscripten-core/emscripten/compare/6.0.3...6.0.4

Related Repositories