The thing is, when you have a massive monolithic API like ZMQ or (the worst) "HTML5", version numbers cannot be useful.
Semantic versioning does make sense and (usually) works when your modules are all small, specific, and self-contained.
This is one thing that the web assembly people may be missing. When I suggested they do semantic versioning for web assembly, one of them told me something along the lines of "feature detection". I.E. referring to the situation we have where you write code in JS and just don't know if it will work until runtime when you check if that feature exists.
One of the reasons they have to do that for the web is that there is a single module version packaged in the browser for everything anyone could think of to put in the browser, so a "Browser API" version number could not give any information about compatibility of specific sub-APIs.
In the context of self-contained, decoupled web assembly modules with specific narrowly defined purposes, semantic versioning will be important. If we can't get those types of modules with web assembly in some context then we will be missing something important I believe.
Semantic versioning does make sense and (usually) works when your modules are all small, specific, and self-contained.
This is one thing that the web assembly people may be missing. When I suggested they do semantic versioning for web assembly, one of them told me something along the lines of "feature detection". I.E. referring to the situation we have where you write code in JS and just don't know if it will work until runtime when you check if that feature exists.
One of the reasons they have to do that for the web is that there is a single module version packaged in the browser for everything anyone could think of to put in the browser, so a "Browser API" version number could not give any information about compatibility of specific sub-APIs.
In the context of self-contained, decoupled web assembly modules with specific narrowly defined purposes, semantic versioning will be important. If we can't get those types of modules with web assembly in some context then we will be missing something important I believe.