Description
Today I was googling for information on WebAssembly memory.size
instruction, and trying to answer whether I can safely use it and expect it to work on all Wasm implementations. Was it part of MVP? When was it introduced? Do I need to feature test for support for that? If so, which "feature package" is it part of?
While looking for answers, I stumbled to find that https://webassembly.github.io/spec/core/index.html now reads "Release 1.1". I have definitely missed the 1.1 release. My understanding from before was that we had Wasm "MVP", and then on top of that a large collection of individual features that are displayed in https://webassembly.org/roadmap/ that one needs to feature test for.
All of this gets more confusing the more I read:
- which browsers support Wasm 1.1?
- which browser versions did different browsers adopt Wasm 1.1?
- when was it introduced?
- what is different between Wasm 1.0 (== was that what we called the Wasm "MVP"?) and Wasm 1.1?
- looking at https://webassembly.org/roadmap/, it highlights that browsers are shipping Wasm 1.0. Then maybe it means that Wasm 1.1 is still in draft stage, and no browser is shipping it? Or is that page out of date and 1.1 is ubiquitous?
- How do the different features in https://webassembly.org/roadmap/ relate to Wasm 1.1? Are some of the features "subsumed" into Wasm 1.1? Or will they be separate?
Would it be too much to ask if each browser vendor could drop in comments to one of the issues, e.g. at WebAssembly/website#187 or Fyrd/caniuse#5687 to when they ship a Wasm feature in a browser?
Would it be possible to maintain a ChangeLog to list the changes between versions?
It feels like any time I need to figure out browser marketshare for Wasm features to answer whether we can use feature X of WebAssembly (or whether X even is a feature, or if it is something that has been part of it from the MVP) when shipping Unity or Tiny, it ends up in a hours long googling spree to WebKit/Chromium/Bugzilla bug trackers to try to figure out which browser vendor published what when, and in the end using mozregression and/or manual bisecting to try out different browser versions. I wish there was a better way. 😭
Activity