📜Standard & Feature-Status

WebAssembly wird von der W3C Community Group (Vorschläge in Phasen 0–5) und der W3C Working Group (Spezifikation) entwickelt. Hier: was in welcher Version steckt und wer es unterstützt.

🗓️Zeitleiste

  1. 2013
    asm.js: ein streng typisierbares Teilmengen-JavaScript als Kompilierziel (Mozilla).
  2. 2017
    WebAssembly-MVP in allen großen Browsern verfügbar.
  3. 5. Dez. 2019
    WebAssembly Core 1.0 wird W3C Recommendation. Quelle
  4. Dez. 2024
    Release 2.0 „offiziell“ (Candidate Recommendation); als W3C-Candidate-Recommendation-Draft als lebender Standard gepflegt. Quelle
  5. 17. Sep. 2025
    Wasm 3.0 fertiggestellt – das bislang größte Update. Quelle

🧩Was steckt in 2.0 und 3.0?

Release 2.0

  • Sign-Extension-Befehle (i32.extend8_s …)
  • Nicht-trappende Float→Int-Konvertierung (0xFC 0–7)
  • Mehrere Rückgabewerte (Multi-value)
  • Referenztypen (funcref, externref), Tabellenbefehle, mehrere Tabellen
  • Bulk Memory (memory.copy, memory.fill …)
  • Vektorbefehle: 128-Bit-SIMD (v128)

Release 3.0

  • Erweiterte Konstanten-Ausdrücke
  • Tail Calls (return_call)
  • Exception Handling (mit exnref, try_table)
  • Mehrere Speicher (Multi-Memory) und 64-Bit-Adressraum (Memory64)
  • Typisierte Referenzen und Garbage Collection (WasmGC: struct, array)
  • Relaxed SIMD, Profile (u. a. deterministisches Profil), Custom Annotations im Textformat

Die Ankündigung zu 3.0 nennt zusätzlich die JS String Builtins (Teil der JS-API).

Quelle: Spezifikation, Anhang „Change History“ – webassembly.github.io/spec/core/appendix/changes.html

🧪Unterstützung in Engines

Versionsnummer = unterstützt ab dieser Version. Daten: webassembly.org/features.json, abgerufen am 25.09.2026.
FeaturePhaseChromeFirefoxSafariNode.jsWasmtimeWasmer
Wasm 2.0
Multi-value5 · standardisiert857813.115.00.171.0
Sign-extension Operators5 · standardisiert746214.112.0✓✓
Non-trapping float-to-int Conversions5 · standardisiert75641512.5✓✓
Reference Types5 · standardisiert96791517.20.202.0
Bulk Memory Operations5 · standardisiert75791512.50.201.0
Fixed-width SIMD5 · standardisiert918916.416.40.332.0
Wasm 3.0
Extended Constant Expressions5 · standardisiert11411217.421.0257.1
Tail Call5 · standardisiert11212118.220.0227.1
Exception Handling with exnref5 · standardisiert13713118.424.15476.0
Multiple Memories5 · standardisiert120125–22.0157.3
Memory645 · standardisiert133134Flag24.030–
Typed Function References5 · standardisiert1191201822.047–
Garbage Collection5 · standardisiert11912018.222.047–
Relaxed SIMD5 · standardisiert114145Flag21.0157.1
Custom Text Format Annotations5 · standardisiert––––✓✓
Weitere Vorschläge & JS-API-Erweiterungen (nicht in der Core-Change-History)
Threads4 · Standardisierung747914.116.4154.0
JS String Builtins5 · standardisiert13013426.2Flag––
JS Promise Integration5 · standardisiert1371532726.0––
Branch Hinting5 · standardisiert137Flag16FlagFlag–
Wide Arithmetic4 · StandardisierungFlagFlagFlagFlagFlag7.1
Stack Switching3 · ImplementierungFlag––––7.0
Custom Page Sizes3 · Implementierung––––Flag–
ESM Integration3 · Implementierung––––––
Component Model1 · Vorschlag––––––
💡 Feature-Erkennung zur Laufzeit
Statt Browser-Versionen zu prüfen: ein winziges Testmodul mit dem Feature an WebAssembly.validate(bytes) geben (so arbeitet die Bibliothek wasm-feature-detect).
⚠️ „–“ heißt „keine Angabe“
Ein Strich bedeutet, dass die Quelle keinen Eintrag hat – nicht zwingend, dass das Feature fehlt. Die Komponentenunterstützung von Laufzeiten wie Wasmtime ist z. B. in dieser Tabelle nicht erfasst.

🔗Quellen