Announcement post in March 2025 summarizes the changes from WASM 1.0.<p>Wasm 2.0 Completed - <a href="https://webassembly.org/news/2025-03-20-wasm-2.0/" rel="nofollow">https://webassembly.org/news/2025-03-20-wasm-2.0/</a><p>> ..here is the summary of the additions in version 2.0 of the language:<p>Vector instructions: With a massive 236 new instructions — more than the total number Wasm had before — it now supports 128-bit wide SIMD (single instruction, multiple data) functionality of contemporary CPUs, like Intel’s SSE or ARM’s SVE. This helps speeding up certain classes of compute-intense applications like audio/video codecs, machine learning, and some cryptography.<p>Bulk memory instructions: A set of new instructions allows faster copying and initialization of regions of memory or ranges of tables.<p>Multi-value results: Instructions, blocks, and functions can now return more than one result value, sometimes supporting faster calling conventions and avoiding indirections. In addition, block instructions now also can have inputs, enabling new program transformations.<p>Reference types: References to functions or pointers to external objects (e.g., JavaScript values) become available as opaque first-class values. Tables are repurposed as a general storage for such reference values, and new instructions allow accessing and mutating tables in Wasm code. In addition, modules now may define multiple tables of different types.<p>Non-trapping conversions: Additional instructions allow the conversion from float to integer types without the risk of trapping unexpectedly.<p>Sign extension instructions: A new group of instructions allows directly extending the width of signed integer value. Previously that was only possible when reading from memory.