Memory64, Multiple Memories and Other Proposals
i64 addresses, memories > 4 GiB ((memory i64 1)). Useful for big data/ML. May be slower (bounds checks).
Multiple memories Several memories per module (i32.load 1...), for isolating data, merging modules, and secure buffers Extended constant expressions
i32.add/mul in global initializers (helps dynamic linking) JS String Builtins
Fast JS string operations imported from wasm:js-string Branch hinting Shipped (some engines)
@metadata.code.branch_hint custom section for likely/unlikely branches Custom page sizes
Pages smaller than 64 KiB (embedded devices) Wide arithmetic
128-bit multiply/add (i64.mul_wide_s) for crypto/bignums Shared-everything threads
Shared globals/tables/GC objects across threads, thread-local storage Stack switching Coroutines/effect handlers (Module 25)
ESM integration / source phase imports Import Wasm as ES modules
Compact import section, compilation hints, profiles Startup and size improvements
Custom annotations in WAT ((@name...)) Flexible vectors
Track: github.com/WebAssembly/proposals, the webassembly.org/features support table.