2024
1 featuresThe i32.add, i32.sub, i32.mul, i64.add, i64.sub, and i64.mul operations extend constant expressions to include arithmetic.
2023
1 features128-bit SIMD (Single Instruction Multiple Data) performs one instruction on multiple units of data, when running on hardware that supports such instructions. Also known as vector instructions.
2022
1 featuresExceptions break the normal control flow of execution to represent exceptional behavior, such as an error. You can respond to the exception in JavaScript code.
2021
6 featuresThreads in WebAssembly run code in parallel, while atomic memory instructions can guarantee that no two threads can read or write to shared memory at the same time.
The externref type can be both a value type and a table element type, while funcref can be a value type.
Bulk memory operations, such as copy and init, mirror the efficiency of native memcpy and memmove operations.
Saturating floating-point to integer conversion operators return the maximum or minimum integer value on overflow instead of trapping.
Integer values pass bidirectionally between JavaScript and WebAssembly, converted to i64 values in WebAssembly or BigInt values in JavaScript.
Sign-extension operator instructions extend the width of 8-bit, 16-bit, and 32-bit values to 32-bit and 64-bit values.
2020
2 featuresInstructions and blocks can produce multiple result values.
Mutable global variables are importable and exportable.
2017
1 featuresThe WebAssembly.instantiate() and WebAssembly.instantiateStreaming() global static methods load WebAssembly code (also known as Wasm), a portable binary instruction format.