{
  "$schema": "./features.schema.json",
  "features": {
    "bigInt": {
      "description": "JS BigInt to Wasm i64 Integration",
      "url": "https://github.com/WebAssembly/JS-BigInt-integration",
      "phase": 5
    },
    "branchHinting": {
      "description": "Branch Hinting",
      "url": "https://github.com/WebAssembly/branch-hinting/blob/master/proposals/branch-hinting/Overview.md",
      "phase": 5
    },
    "bulkMemory": {
      "description": "Bulk Memory Operations",
      "url": "https://github.com/WebAssembly/bulk-memory-operations/blob/master/proposals/bulk-memory-operations/Overview.md",
      "phase": 5
    },
    "compactImportSection": {
      "description": "Compact Import Section",
      "url": "https://github.com/WebAssembly/compact-import-section/blob/main/proposals/compact-import-section/Overview.md",
      "phase": 3
    },
    "compilationHints": {
      "description": "Compilation Hints",
      "url": "https://github.com/WebAssembly/compilation-hints/blob/main/proposals/compilation-hints/Overview.md",
      "phase": 2
    },
    "componentModel": {
      "description": "Component Model",
      "url": "https://github.com/WebAssembly/component-model",
      "phase": 1
    },
    "customAnnotationSyntaxInTheTextFormat": {
      "description": "Custom Text Format Annotations",
      "url": "https://github.com/WebAssembly/annotations/blob/main/proposals/annotations/Overview.md",
      "phase": 5
    },
    "customDescriptors": {
      "description": "Custom Descriptors and JS Interop",
      "url": "https://github.com/WebAssembly/custom-descriptors/blob/main/proposals/custom-descriptors/Overview.md",
      "phase": 3
    },
    "customPageSizes": {
      "description": "Custom Page Sizes",
      "url": "https://github.com/WebAssembly/custom-page-sizes/blob/main/proposals/custom-page-sizes/Overview.md",
      "phase": 3
    },
    "esmIntegration": {
      "description": "ESM Integration",
      "url": "https://github.com/WebAssembly/esm-integration",
      "phase": 3
    },
    "exceptions": {
      "description": "Legacy Exception Handling",
      "url": "https://github.com/WebAssembly/exception-handling/blob/master/proposals/exception-handling/legacy/Exceptions.md",
      "phase": "inactive"
    },
    "exceptionsFinal": {
      "description": "Exception Handling with exnref",
      "url": "https://github.com/WebAssembly/exception-handling/blob/master/proposals/exception-handling/Exceptions.md",
      "phase": 5
    },
    "extendedConst": {
      "description": "Extended Constant Expressions",
      "url": "https://github.com/WebAssembly/extended-const/blob/master/proposals/extended-const/Overview.md",
      "phase": 5
    },
    "extendedNameSection": {
      "description": "Extended Name Section",
      "url": "https://github.com/WebAssembly/extended-name-section/blob/main/proposals/extended-name-section/Overview.md",
      "phase": 2
    },
    "flexibleVectors": {
      "description": "Flexible Vectors",
      "url": "https://github.com/WebAssembly/flexible-vectors/blob/main/proposals/flexible-vectors/Overview.md",
      "phase": 1
    },
    "frozenValues": {
      "description": "Frozen Values",
      "url": "https://github.com/WebAssembly/frozen-values/blob/main/proposals/frozen-values/Overview.md",
      "phase": 1
    },
    "gc": {
      "description": "Garbage Collection",
      "url": "https://github.com/WebAssembly/gc",
      "phase": 5
    },
    "halfPrecision": {
      "description": "Half Precision",
      "url": "https://github.com/WebAssembly/half-precision/blob/main/proposals/half-precision/Overview.md",
      "phase": 1
    },
    "instrumentAndTracingTechnology": {
      "description": "Instrument and Tracing Technology",
      "url": "https://github.com/WebAssembly/instrument-tracing/blob/main/proposals/instrument-tracing/Overview.md",
      "phase": "inactive"
    },
    "jitInterface": {
      "description": "JIT Interface",
      "url": "https://github.com/WebAssembly/jit-interface/blob/main/proposals/jit-interface/Explainer.md",
      "phase": 1
    },
    "jsPrimitiveBuiltins": {
      "description": "JS Primitive Builtins",
      "url": "https://github.com/WebAssembly/js-primitive-builtins/blob/main/proposals/js-primitive-builtins/Overview.md",
      "phase": 2
    },
    "jsStringBuiltins": {
      "description": "JS String Builtins",
      "url": "https://github.com/WebAssembly/js-string-builtins/blob/main/proposals/js-string-builtins/Overview.md",
      "phase": 5
    },
    "jspi": {
      "description": "JS Promise Integration",
      "url": "https://github.com/WebAssembly/js-promise-integration",
      "phase": 4
    },
    "memory64": {
      "description": "Memory64",
      "url": "https://github.com/WebAssembly/memory64/blob/master/proposals/memory64/Overview.md",
      "phase": 5
    },
    "memoryControl": {
      "description": "Memory Control",
      "url": "https://github.com/WebAssembly/memory-control/blob/main/proposals/memory-control/Overview.md",
      "phase": 1
    },
    "moreArrayConstructors": {
      "description": "More Array Constructors",
      "url": "https://github.com/WebAssembly/more-array-constructors/blob/main/proposals/more-array-constructors/Overview.md",
      "phase": 1
    },
    "multibyteArrayAccess": {
      "description": "Multibyte Array Access",
      "url": "https://github.com/WebAssembly/multibyte-array-access",
      "phase": 1
    },
    "multiMemory": {
      "description": "Multiple Memories",
      "url": "https://github.com/WebAssembly/multi-memory/blob/master/proposals/multi-memory/Overview.md",
      "phase": 5
    },
    "multiValue": {
      "description": "Multi-value",
      "url": "https://github.com/WebAssembly/spec/blob/master/proposals/multi-value/Overview.md",
      "phase": 5
    },
    "mutableGlobals": {
      "description": "Import/Export of Mutable Globals",
      "url": "https://github.com/WebAssembly/mutable-global/blob/master/proposals/mutable-global/Overview.md",
      "phase": 5
    },
    "numericValuesInWat": {
      "description": "Numeric Values in WAT Data Segments",
      "url": "https://github.com/WebAssembly/wat-numeric-values/blob/main/proposals/wat-numeric-values/Overview.md",
      "phase": 2
    },
    "profiles": {
      "description": "Profiles",
      "url": "https://github.com/WebAssembly/profiles/blob/main/proposals/profiles/Overview.md",
      "phase": 1
    },
    "referenceTypes": {
      "description": "Reference Types",
      "url": "https://github.com/WebAssembly/reference-types/blob/master/proposals/reference-types/Overview.md",
      "phase": 5
    },
    "relaxedDeadCodeValidation": {
      "description": "Relaxed Dead Code Validation",
      "url": "https://github.com/WebAssembly/relaxed-dead-code-validation/blob/main/proposals/relaxed-dead-code-validation/Overview.md",
      "phase": 2
    },
    "relaxedSimd": {
      "description": "Relaxed SIMD",
      "url": "https://github.com/WebAssembly/relaxed-simd/tree/main/proposals/relaxed-simd",
      "phase": 5
    },
    "roundingVariants": {
      "description": "Rounding Variants",
      "url": "https://github.com/WebAssembly/rounding-mode-control/blob/main/proposals/rounding-mode-control/Overview.md",
      "phase": 2
    },
    "saturatedFloatToInt": {
      "description": "Non-trapping float-to-int Conversions",
      "url": "https://github.com/WebAssembly/spec/blob/master/proposals/nontrapping-float-to-int-conversion/Overview.md",
      "phase": 5
    },
    "sharedEverythingThreads": {
      "description": "Shared-Everything Threads",
      "url": "https://github.com/WebAssembly/shared-everything-threads/blob/main/proposals/shared-everything-threads/Overview.md",
      "phase": 1
    },
    "signExtensions": {
      "description": "Sign-extension Operators",
      "url": "https://github.com/WebAssembly/spec/blob/master/proposals/sign-extension-ops/Overview.md",
      "phase": 5
    },
    "simd": {
      "description": "Fixed-width SIMD",
      "url": "https://github.com/WebAssembly/simd/blob/master/proposals/simd/SIMD.md",
      "phase": 5
    },
    "stackSwitching": {
      "description": "Stack Switching",
      "url": "https://github.com/WebAssembly/stack-switching/blob/main/proposals/stack-switching/Explainer.md",
      "phase": 3
    },
    "stringref": {
      "description": "Reference-Typed Strings",
      "url": "https://github.com/WebAssembly/stringref/blob/main/proposals/stringref/Overview.md",
      "phase": 1
    },
    "tailCall": {
      "description": "Tail Call",
      "url": "https://github.com/WebAssembly/tail-call/blob/master/proposals/tail-call/Overview.md",
      "phase": 5
    },
    "threads": {
      "description": "Threads",
      "url": "https://github.com/WebAssembly/threads/blob/main-legacy/proposals/threads/Overview.md",
      "phase": 4
    },
    "typeImports": {
      "description": "Type Imports",
      "url": "https://github.com/WebAssembly/proposal-type-imports/blob/main/proposals/type-imports/Overview.md",
      "phase": 1
    },
    "typeReflection": {
      "description": "Type Reflection for JS API",
      "url": "https://github.com/WebAssembly/js-types/blob/main/proposals/js-types/Overview.md",
      "phase": 3
    },
    "typedFunctionReferences": {
      "description": "Typed Function References",
      "url": "https://github.com/WebAssembly/function-references/blob/main/proposals/function-references/Overview.md",
      "phase": 5
    },
    "wasmCApi": {
      "description": "WebAssembly C and C++ API",
      "url": "https://github.com/WebAssembly/wasm-c-api",
      "phase": 1
    },
    "webContentSecurityPolicy": {
      "description": "Web Content Security Policy",
      "url": "https://github.com/WebAssembly/content-security-policy/blob/main/proposals/CSP.md",
      "phase": 4
    },
    "wideArithmetic": {
      "description": "Wide Arithmetic",
      "url": "https://github.com/WebAssembly/wide-arithmetic/blob/main/proposals/wide-arithmetic/Overview.md",
      "phase": 3
    }
  },
  "categories": [
    { "name": "Web Browsers", "queryKey": "browsers", "default": true },
    { "name": "Standalone Runtimes", "queryKey": "standalones", "default": true },
    { "name": "Embedded Runtimes", "queryKey": "embeddeds" },
    { "name": "Tools", "queryKey": "tools" }
  ],
  "browsers": {
    "Chrome": {
      "url": "https://www.google.com/chrome/",
      "logo": "/images/chrome.svg",
      "category": "Web Browsers",
      "features": {
        "bigInt": "85",
        "branchHinting": "137",
        "bulkMemory": "75",
        "compilationHints": [
          "flag",
          "Requires CLI flag `--js-flags=--experimental-wasm-compilation-hints`"
        ],
        "customAnnotationSyntaxInTheTextFormat": null,
        "exceptionsFinal": "137",
        "exceptions": "95",
        "extendedConst": "114",
        "gc": "119",
        "instrumentAndTracingTechnology": [
          "flag",
          "Requires CLI flag `--js-flags=--experimental-wasm-instruction-tracing`"
        ],
        "jspi": "137",
        "jsStringBuiltins": "130",
        "memory64": "133",
        "multiMemory": "120",
        "multiValue": "85",
        "mutableGlobals": "74",
        "profiles": null,
        "referenceTypes": "96",
        "relaxedSimd": "114",
        "saturatedFloatToInt": "75",
        "signExtensions": "74",
        "simd": "91",
        "tailCall": "112",
        "threads": "74",
        "typedFunctionReferences": "119",
        "typeReflection": [
          "flag",
          "Requires flag `chrome://flags/#enable-experimental-webassembly-features`"
        ],
        "webContentSecurityPolicy": "97"
      }
    },
    "Firefox": {
      "url": "https://www.mozilla.org/firefox/",
      "logo": "/images/firefox.svg",
      "category": "Web Browsers",
      "features": {
        "bigInt": "78",
        "branchHinting": [
          "flag",
          "Enabled in Nightly, requires flag `javascript.options.wasm_branch_hinting` in Beta/Release"
        ],
        "bulkMemory": "79",
        "customAnnotationSyntaxInTheTextFormat": null,
        "exceptionsFinal": "131",
        "exceptions": "100",
        "extendedConst": "112",
        "gc": "120",
        "jspi": [
          "flag",
          "Requires flag `javascript.options.wasm_js_promise_integration`"
        ],
        "jsStringBuiltins": "134",
        "memory64": "134",
        "multiMemory": "125",
        "multiValue": "78",
        "mutableGlobals": "61",
        "profiles": null,
        "referenceTypes": "79",
        "relaxedSimd": "145",
        "saturatedFloatToInt": "64",
        "signExtensions": "62",
        "simd": "89",
        "tailCall": "121",
        "threads": "79",
        "typedFunctionReferences": "120",
        "typeReflection": [
          "flag",
          "Enabled in Nightly, requires flag `--enable-wasm-type-reflections` in Beta/Release"
        ],
        "webContentSecurityPolicy": "102"
      }
    },
    "Safari": {
      "url": "https://www.apple.com/safari/",
      "logo": "/images/safari.svg",
      "category": "Web Browsers",
      "features": {
        "bigInt": [
          "15",
          "`wasm-bigint` is supported in desktop Safari since 14.1 and iOS Safari since 14.5; however `BigInt64Array`, which is needed by Emscripten, was released in 15"
        ],
        "branchHinting": "16",
        "bulkMemory": "15",
        "customAnnotationSyntaxInTheTextFormat": null,
        "exceptionsFinal": "18.4",
        "exceptions": "15.2",
        "extendedConst": "17.4",
        "gc": "18.2",
        "jsStringBuiltins": "26.2",
        "multiValue": "13.1",
        "mutableGlobals": "13.1",
        "profiles": null,
        "referenceTypes": "15",
        "relaxedSimd": [
          "flag",
          "Requires JavaScriptCore flag `useWebAssemblyRelaxedSIMD`"
        ],
        "saturatedFloatToInt": "15",
        "signExtensions": [
          "14.1",
          "Supported in desktop Safari since 14.1 and iOS Safari since 14.5"
        ],
        "simd": "16.4",
        "tailCall": "18.2",
        "threads": [
          "14.1",
          "Supported in desktop Safari since 14.1 and iOS Safari since 14.5"
        ],
        "typedFunctionReferences": "18",
        "typeReflection": [
          "flag",
          "Supported in Safari 18.2, only supports `WebAssembly.Module.imports` and `WebAssembly.Module.exports`"
        ],
        "webContentSecurityPolicy": "16"
      }
    },
    "Node.js": {
      "url": "https://nodejs.org/",
      "logo": "/images/nodejs.svg",
      "category": "Standalone Runtimes",
      "features": {
        "bigInt": "15.0",
        "branchHinting": [
          "flag",
          "Requires flag `--experimental-wasm-branch-hinting`"
        ],
        "bulkMemory": "12.5",
        "compilationHints": [
          "flag",
          "Requires flag `--experimental-wasm-compilation-hints`"
        ],
        "customAnnotationSyntaxInTheTextFormat": null,
        "exceptionsFinal": "25.0",
        "exceptions": "17.0",
        "extendedConst": "21.0",
        "gc": "22.0",
        "instrumentAndTracingTechnology": [
          "flag",
          "Requires flag `--experimental-wasm-instruction-tracing`"
        ],
        "jspi": ["flag", "Requires flag `--experimental-wasm-jspi`"],
        "jsStringBuiltins": [
          "flag",
          "Requires flag `--experimental-wasm-imported-strings`"
        ],
        "memory64": "24.0",
        "multiMemory": "22.0",
        "multiValue": "15.0",
        "mutableGlobals": "12.0",
        "referenceTypes": "17.2",
        "relaxedSimd": "21.0",
        "saturatedFloatToInt": "12.5",
        "signExtensions": "12.0",
        "simd": "16.4",
        "tailCall": "20.0",
        "threads": "16.4",
        "typedFunctionReferences": "22.0",
        "typeReflection": [
          "flag",
          "Requires flag `--experimental-wasm-type-reflection`"
        ],
        "webContentSecurityPolicy": null
      }
    },
    "Deno": {
      "url": "https://deno.com/",
      "logo": "/images/deno.svg",
      "category": "Standalone Runtimes",
      "features": {
        "bigInt": "1.1.2",
        "branchHinting": "2.3.2",
        "bulkMemory": "0.4",
        "compilationHints": [
          "flag",
          "Requires flag `--v8-flags=--experimental-wasm-compilation-hints`"
        ],
        "customAnnotationSyntaxInTheTextFormat": null,
        "esmIntegration": "2.1",
        "exceptionsFinal": "2.3.2",
        "exceptions": "1.16",
        "extendedConst": "1.33",
        "gc": "1.38",
        "instrumentAndTracingTechnology": [
          "flag",
          "Requires flag `--v8-flags=--experimental-wasm-instruction-tracing`"
        ],
        "jspi": "2.3.2",
        "jsStringBuiltins": "2.1",
        "memory64": "2.2",
        "multiMemory": "1.38",
        "multiValue": "1.3.2",
        "mutableGlobals": "0.1",
        "referenceTypes": "1.16",
        "relaxedSimd": "1.33",
        "saturatedFloatToInt": "0.4",
        "signExtensions": "0.1",
        "simd": "1.9",
        "tailCall": "1.32",
        "threads": "1.9",
        "typedFunctionReferences": "1.38",
        "typeReflection": [
          "flag",
          "Requires flag `--v8-flags=--experimental-wasm-type-reflection`"
        ],
        "webContentSecurityPolicy": null
      }
    },
    "GraalWasm": {
      "url": "https://www.graalvm.org/webassembly/",
      "logo": "/images/graalvm.svg",
      "category": "Standalone Runtimes",
      "features": {
        "bigInt": "21.3",
        "bulkMemory": "23.0",
        "customAnnotationSyntaxInTheTextFormat": null,
        "extendedConst": [
          "flag",
          "Requires flag `--wasm.ExtendedConstExpressions=true`"
        ],
        "memory64": ["flag", "Requires flag `--wasm.Memory64=true`"],
        "multiMemory": ["flag", "Requires flag `--wasm.MultiMemory=true`"],
        "multiValue": "22.3",
        "mutableGlobals": "21.3",
        "referenceTypes": "23.0",
        "relaxedSimd": ["flag", "Requires flag `--wasm.RelaxedSIMD=true`"],
        "saturatedFloatToInt": "22.3",
        "signExtensions": "22.3",
        "simd": "24.1",
        "threads": ["flag", "Requires flag `--wasm.Threads=true`"],
        "webContentSecurityPolicy": null
      }
    },
    "Chicory": {
      "url": "https://chicory.dev/",
      "logo": "/images/chicory.svg",
      "category": "Standalone Runtimes",
      "features": {
        "bigInt": null,
        "bulkMemory": "1.0.0",
        "customAnnotationSyntaxInTheTextFormat": null,
        "extendedConst": null,
        "exceptionsFinal": "1.5.0",
        "exceptions": null,
        "gc": "1.7.0",
        "memory64": null,
        "multiMemory": "1.7.0",
        "multiValue": "1.0.0",
        "mutableGlobals": "1.0.0",
        "referenceTypes": "1.0.0",
        "saturatedFloatToInt": "1.0.0",
        "signExtensions": "1.0.0",
        "simd": "1.1.0",
        "threads": "1.5.0",
        "tailCall": ["1.0.0", "Optimized only in the interpreter"],
        "typedFunctionReferences": "1.4.0",
        "webContentSecurityPolicy": null
      }
    },
    "Wasmtime": {
      "url": "https://wasmtime.dev/",
      "logo": "/images/bca.svg",
      "category": "Standalone Runtimes",
      "features": {
        "bigInt": null,
        "bulkMemory": "0.20",
        "customAnnotationSyntaxInTheTextFormat": true,
        "customPageSizes": ["flag", "Requires flag `--wasm=custom-page-sizes`"],
        "esmIntegration": null,
        "exceptionsFinal": ["flag", "Requires flag `--wasm=exceptions`"],
        "extendedConst": "25",
        "gc": ["flag", "Requires flag `--wasm=gc`"],
        "jspi": null,
        "jsStringBuiltins": null,
        "memory64": "30",
        "multiMemory": "15",
        "multiValue": "0.17",
        "mutableGlobals": true,
        "profiles": true,
        "referenceTypes": "0.20",
        "relaxedSimd": "15",
        "saturatedFloatToInt": true,
        "signExtensions": true,
        "simd": "0.33",
        "tailCall": [
          "22",
          "Enabled by default when using the Cranelift backend, the s390x architecture supports it since 24"
        ],
        "threads": "15",
        "typedFunctionReferences": [
          "flag",
          "Requires flag `--wasm=function-references`"
        ],
        "typeReflection": null,
        "webContentSecurityPolicy": null,
        "wideArithmetic": ["flag", "Requires flag `--wasm=wide-arithmetic`"]
      }
    },
    "Wasmer": {
      "url": "https://wasmer.io/",
      "logo": "/images/wasmer.svg",
      "category": "Standalone Runtimes",
      "features": {
        "bigInt": null,
        "bulkMemory": "1.0",
        "customAnnotationSyntaxInTheTextFormat": true,
        "esmIntegration": null,
        "jspi": null,
        "jsStringBuiltins": null,
        "referenceTypes": "2.0",
        "threads": "4.0.0",
        "exceptionsFinal": "6.0.0",
        "multiValue": "1.0",
        "mutableGlobals": "0.7",
        "saturatedFloatToInt": true,
        "signExtensions": true,
        "simd": "2.0",
        "typeReflection": "2.0",
        "webContentSecurityPolicy": null
      }
    },
    "wizard": {
      "url": "https://github.com/titzer/wizard-engine",
      "logo": "/images/wizard.svg",
      "category": "Standalone Runtimes",
      "features": {
        "bigInt": null,
        "bulkMemory": "25",
        "customAnnotationSyntaxInTheTextFormat": null,
        "exceptionsFinal": "24",
        "exceptions": "24",
        "extendedConst": "25",
        "esmIntegration": null,
        "gc": "24",
        "jspi": null,
        "jsStringBuiltins": null,
        "memory64": "25",
        "tailCall": "25",
        "customPageSizes": ["flag", "Requires flag `--ext:custom-page-sizes`"],
        "multiValue": "21",
        "multiMemory": "24",
        "mutableGlobals": "21",
        "referenceTypes": "21",
        "relaxedSimd": "25",
        "saturatedFloatToInt": "21",
        "signExtensions": "21",
        "simd": "23",
        "stackSwitching": ["flag", "Requires flag `--ext:stack-switching`"],
        "threads": ["flag", "Requires flag `--ext:threads`"],
        "typedFunctionReferences": "24",
        "typeReflection": null,
        "webContentSecurityPolicy": null
      }
    },
    "wazero": {
      "url": "https://wazero.io",
      "logo": "/images/wazero.svg",
      "logoClassName": "invert-in-dark-theme",
      "category": "Standalone Runtimes",
      "features": {
        "bigInt": null,
        "bulkMemory": true,
        "customAnnotationSyntaxInTheTextFormat": null,
        "exceptionsFinal": false,
        "exceptions": false,
        "extendedConst": false,
        "esmIntegration": null,
        "gc": false,
        "jspi": null,
        "jsStringBuiltins": null,
        "memory64": false,
        "tailCall": "flag",
        "customPageSizes": null,
        "multiValue": true,
        "multiMemory": false,
        "mutableGlobals": true,
        "referenceTypes": true,
        "relaxedSimd": false,
        "saturatedFloatToInt": true,
        "signExtensions": true,
        "simd": true,
        "stackSwitching": false,
        "threads": "flag",
        "typedFunctionReferences": false,
        "typeReflection": null,
        "webContentSecurityPolicy": null
      }
    },
    "wasm2c": {
      "url": "https://github.com/WebAssembly/wabt",
      "logo": "/images/wasm2c.svg",
      "category": "Standalone Runtimes",
      "features": {
        "bigInt": null,
        "bulkMemory": "1.0.30",
        "customAnnotationSyntaxInTheTextFormat": null,
        "exceptionsFinal": ["flag", "Requires flag `--enable-exceptions`"],
        "exceptions": ["flag", "Requires flag `--enable-exceptions`"],
        "extendedConst": ["flag", "Requires flag `--enable-extended-const`"],
        "esmIntegration": null,
        "jspi": null,
        "jsStringBuiltins": null,
        "memory64": ["flag", "Requires flag `--enable-memory64`"],
        "multiMemory": ["flag", "Requires flag `--enable-multi-memory`"],
        "tailCall": ["flag", "Requires flag `--enable-tail-call`"],
        "customPageSizes": [
          "flag",
          "Requires flag `--enable-custom-page-sizes`"
        ],
        "multiValue": "1.0.24",
        "mutableGlobals": "1.0.1",
        "referenceTypes": "1.0.31",
        "saturatedFloatToInt": "1.0.24",
        "signExtensions": "1.0.24",
        "simd": "1.0.33",
        "typeReflection": null,
        "webContentSecurityPolicy": null
      }
    },
    "Owi": {
      "url": "https://github.com/ocamlpro/owi",
      "logo": "/images/owi.webp",
      "logoClassName": "rounded",
      "category": ["Tools", "Standalone Runtimes"],
      "features": {
        "bigInt": null,
        "bulkMemory": true,
        "customAnnotationSyntaxInTheTextFormat": true,
        "exceptionsFinal": false,
        "exceptions": false,
        "extendedConst": true,
        "esmIntegration": null,
        "gc": false,
        "jspi": null,
        "jsStringBuiltins": null,
        "memory64": false,
        "tailCall": true,
        "customPageSizes": false,
        "multiValue": true,
        "multiMemory": true,
        "mutableGlobals": true,
        "referenceTypes": true,
        "relaxedSimd": false,
        "saturatedFloatToInt": true,
        "signExtensions": true,
        "simd": false,
        "stackSwitching": false,
        "threads": false,
        "typedFunctionReferences": true,
        "typeReflection": false,
        "webContentSecurityPolicy": null
      }
    },
    "Binaryen": {
      "url": "https://github.com/WebAssembly/binaryen",
      "logo": "/images/binaryen.svg",
      "category": "Tools",
      "features": {
        "bigInt": true,
        "branchHinting": true,
        "bulkMemory": true,
        "customAnnotationSyntaxInTheTextFormat": true,
        "customDescriptors": true,
        "exceptionsFinal": true,
        "exceptions": true,
        "extendedConst": true,
        "esmIntegration": null,
        "gc": true,
        "jspi": true,
        "jsStringBuiltins": true,
        "memory64": true,
        "tailCall": true,
        "customPageSizes": false,
        "multiValue": true,
        "multiMemory": true,
        "mutableGlobals": true,
        "referenceTypes": true,
        "relaxedSimd": true,
        "saturatedFloatToInt": true,
        "signExtensions": true,
        "simd": true,
        "stackSwitching": true,
        "threads": true,
        "typedFunctionReferences": true,
        "typeReflection": null,
        "webContentSecurityPolicy": null
      }
    },
    "wasm-language-tools": {
      "url": "https://github.com/g-plane/wasm-language-tools",
      "logo": "/images/wasm-language-tools.svg",
      "category": "Tools",
      "features": {
        "bigInt": null,
        "branchHinting": null,
        "bulkMemory": true,
        "compilationHints": "0.9.0",
        "customAnnotationSyntaxInTheTextFormat": "0.7.0",
        "customPageSizes": "0.8.0",
        "esmIntegration": null,
        "exceptionsFinal": "0.7.0",
        "extendedConst": "0.7.0",
        "extendedNameSection": null,
        "gc": "0.4.0",
        "jsPrimitiveBuiltins": null,
        "jsStringBuiltins": null,
        "jspi": null,
        "memory64": "0.7.0",
        "multiMemory": "0.4.0",
        "multiValue": "0.1.0",
        "mutableGlobals": "0.1.0",
        "referenceTypes": "0.1.0",
        "relaxedSimd": "0.7.0",
        "saturatedFloatToInt": "0.3.0",
        "signExtensions": "0.3.0",
        "simd": true,
        "tailCall": true,
        "threads": "0.8.0",
        "typeReflection": null,
        "typedFunctionReferences": "0.4.0",
        "webContentSecurityPolicy": null,
        "wideArithmetic": "0.8.0"
      }
    },
    "wasmedge": {
      "url": "https://github.com/WasmEdge/WasmEdge",
      "logo": "/images/wasmedge.svg",
      "category": "Standalone Runtimes",
      "features": {
        "bigInt": null,
        "branchHinting": null,
        "bulkMemory": "0.7.1",
        "customAnnotationSyntaxInTheTextFormat": false,
        "customPageSizes": false,
        "esmIntegration": false,
        "exceptionsFinal": "0.14.0",
        "extendedConst": "0.10.0",
        "gc": "0.14.0",
        "jsPrimitiveBuiltins": null,
        "jsStringBuiltins": null,
        "jspi": null,
        "memory64": false,
        "multiMemory": "0.9.1",
        "multiValue": "0.6.2",
        "mutableGlobals": "0.2.0",
        "referenceTypes": "0.7.1",
        "relaxedSimd": "0.14.1",
        "saturatedFloatToInt": "0.6.2",
        "signExtensions": "0.6.2",
        "simd": "0.7.2",
        "tailCall": "0.10.0",
        "threads": "0.10.1",
        "typeReflection": false,
        "typedFunctionReferences": "0.14.0",
        "webContentSecurityPolicy": null,
        "wideArithmetic": false
      }
    },
    "Soup": {
      "url": "https://github.com/calamity-inc/Soup/tree/senpai/CLI#soup-cli",
      "logo": "/images/soup.png",
      "category": "Standalone Runtimes",
      "features": {
        "bulkMemory": true,
        "multiValue": true,
        "mutableGlobals": true,
        "referenceTypes": true,
        "saturatedFloatToInt": true,
        "signExtensions": true,
        "simd": ["flag", "Compile with `SOUP_WASM_SIMD` set to `true`"],
        "memory64": true,
        "multiMemory": ["flag", "Compile with `SOUP_WASM_MULTI_MEMORY` set to `true`"],
        "extendedConst": ["flag", "Compile with `SOUP_WASM_EXTENDED_CONST` set to `true`"],
        "tailCall": ["flag", "Compile with `SOUP_WASM_TAIL_CALL` set to `true`"],
        "exceptionsFinal": ["flag", "Compile with `SOUP_WASM_EXCEPTIONS` set to `true`"],
        "bigInt": null,
        "branchHinting": null,
        "customAnnotationSyntaxInTheTextFormat": null,
        "webContentSecurityPolicy": null,
        "esmIntegration": null,
        "typeReflection": null,
        "customPageSizes": ["flag", "Compile with `SOUP_WASM_CUSTOM_PAGE_SIZES` set to `true`"],
        "compilationHints": null,
        "numericValuesInWat": null,
        "relaxedDeadCodeValidation": null
      }
    },
    "watr": {
      "url": "https://github.com/dy/watr",
      "logo": "/images/watr.svg",
      "category": "Tools",
      "features": {
        "bigInt": true,
        "branchHinting": true,
        "bulkMemory": true,
        "customAnnotationSyntaxInTheTextFormat": true,
        "esmIntegration": null,
        "exceptionsFinal": true,
        "extendedConst": true,
        "gc": true,
        "jsPrimitiveBuiltins": null,
        "jsStringBuiltins": true,
        "jspi": null,
        "memory64": true,
        "multiMemory": true,
        "multiValue": true,
        "mutableGlobals": true,
        "referenceTypes": true,
        "relaxedSimd": true,
        "saturatedFloatToInt": true,
        "signExtensions": true,
        "simd": true,
        "tailCall": true,
        "threads": true,
        "typedFunctionReferences": true,
        "typeReflection": null,
        "webContentSecurityPolicy": null,
        "wideArithmetic": true
      }
    }
  }
}
