📜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
- 2013asm.js: ein streng typisierbares Teilmengen-JavaScript als Kompilierziel (Mozilla).
- 2017WebAssembly-MVP in allen großen Browsern verfügbar.
- 5. Dez. 2019WebAssembly Core 1.0 wird W3C Recommendation. Quelle
- Dez. 2024Release 2.0 „offiziell“ (Candidate Recommendation); als W3C-Candidate-Recommendation-Draft als lebender Standard gepflegt. Quelle
- 17. Sep. 2025Wasm 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.
| Feature | Phase | Chrome | Firefox | Safari | Node.js | Wasmtime | Wasmer |
|---|---|---|---|---|---|---|---|
| Wasm 2.0 | |||||||
| Multi-value | 5 · standardisiert | 85 | 78 | 13.1 | 15.0 | 0.17 | 1.0 |
| Sign-extension Operators | 5 · standardisiert | 74 | 62 | 14.1 | 12.0 | ✓ | ✓ |
| Non-trapping float-to-int Conversions | 5 · standardisiert | 75 | 64 | 15 | 12.5 | ✓ | ✓ |
| Reference Types | 5 · standardisiert | 96 | 79 | 15 | 17.2 | 0.20 | 2.0 |
| Bulk Memory Operations | 5 · standardisiert | 75 | 79 | 15 | 12.5 | 0.20 | 1.0 |
| Fixed-width SIMD | 5 · standardisiert | 91 | 89 | 16.4 | 16.4 | 0.33 | 2.0 |
| Wasm 3.0 | |||||||
| Extended Constant Expressions | 5 · standardisiert | 114 | 112 | 17.4 | 21.0 | 25 | 7.1 |
| Tail Call | 5 · standardisiert | 112 | 121 | 18.2 | 20.0 | 22 | 7.1 |
| Exception Handling with exnref | 5 · standardisiert | 137 | 131 | 18.4 | 24.15 | 47 | 6.0 |
| Multiple Memories | 5 · standardisiert | 120 | 125 | – | 22.0 | 15 | 7.3 |
| Memory64 | 5 · standardisiert | 133 | 134 | Flag | 24.0 | 30 | – |
| Typed Function References | 5 · standardisiert | 119 | 120 | 18 | 22.0 | 47 | – |
| Garbage Collection | 5 · standardisiert | 119 | 120 | 18.2 | 22.0 | 47 | – |
| Relaxed SIMD | 5 · standardisiert | 114 | 145 | Flag | 21.0 | 15 | 7.1 |
| Custom Text Format Annotations | 5 · standardisiert | – | – | – | – | ✓ | ✓ |
| Weitere Vorschläge & JS-API-Erweiterungen (nicht in der Core-Change-History) | |||||||
| Threads | 4 · Standardisierung | 74 | 79 | 14.1 | 16.4 | 15 | 4.0 |
| JS String Builtins | 5 · standardisiert | 130 | 134 | 26.2 | Flag | – | – |
| JS Promise Integration | 5 · standardisiert | 137 | 153 | 27 | 26.0 | – | – |
| Branch Hinting | 5 · standardisiert | 137 | Flag | 16 | Flag | Flag | – |
| Wide Arithmetic | 4 · Standardisierung | Flag | Flag | Flag | Flag | Flag | 7.1 |
| Stack Switching | 3 · Implementierung | Flag | – | – | – | – | 7.0 |
| Custom Page Sizes | 3 · Implementierung | – | – | – | – | Flag | – |
| ESM Integration | 3 · Implementierung | – | – | – | – | – | – |
| Component Model | 1 · 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
- https://webassembly.org/specs/
- https://webassembly.github.io/spec/
- https://webassembly.github.io/spec/core/appendix/changes.html
- https://webassembly.org/features/
- https://webassembly.org/news/2025-09-17-wasm-3.0/
- https://webassembly.org/news/2025-03-20-wasm-2.0/
- https://www.w3.org/TR/wasm-core-2/
- https://www.w3.org/2019/12/pressrelease-wasm-rec.html
- https://github.com/WebAssembly/proposals
- https://wasi.dev/roadmap
- https://component-model.bytecodealliance.org/