WebAssembly has reached version 3.0 with groundbreaking improvements that significantly expand its capabilities. The update brings 64-bit address spacing, multiple memories, a low-level garbage collector, and enhanced language support.
64-Bit Address Expansion
The transition to 64-bit addressing allows memories and tables to use i64 in addition to i32 for address spacing. This dramatically expands the available address space:
- Beyond 4 gigabytes limitation
- Up to 16 exabytes theoretical capacity
- Enhanced memory management capabilities
Multiple Memory Support
A single Wasm module can now:
- Declare and access multiple memory objects directly
- Eliminate the need for separate module declarations
- Enable isolated address spaces for security
- Separate private data from buffers and instrumentation
Low-Level Garbage Collector
The introduction of a low-level garbage collector represents a major advancement:
- Compilers can declare memory layouts for runtime data structures
- Support for struct and array types
- Extended type system with richer reference forms
- Improved memory management efficiency
Enhanced Language Support
WebAssembly 3.0 now supports compilation from high-level programming languages, expanding compatibility with:
- Java
- OCaml
- Scala
- Kotlin
- Scheme
- Dart
Browser Integration
All Wasm 3.0 features are already integrated into major browsers:
- Chrome
- Firefox
- Safari


