Browser-compat-data: Edge browser vs EdgeHTML engine versions

Created on 3 Dec 2018  Â·  12Comments  Â·  Source: mdn/browser-compat-data

MDN uses EdgeHTML versions instead of browsers versions. This is kind of weird (counter-intuitive) because e.g. for Chrome engine version is not used, browser version is used.

It should at least be mentioned in some readme (like suggested in issue #2620), but adding that in readme of this repo would mean only persistent seekers ;-) would get to this knowledge.

So either change versions of Edge to actual Edge versions (like other browsers) or maybe add some notice in the MDN tables (some star* with tooltip in the header maybe?).

data

Most helpful comment

We've always referenced platform version (rather than browser version) in our developer-facing communications, as EdgeHTML applies both to browser and Windows platform for JavaScript apps. That said, I agree its weird for Edge to be different than the other browsers.

That said, Edge versioning in BCD will likely change dramatically in the future, so maybe this issue is best handled as part of that larger change.

All 12 comments

Well we (Chrome) use the same numbering scheme for both. Someone from Microsoft would have to tell us if what you propose is even appropriate for Edge. Generally speaking, the only thing you should expect to be the same between browsers is that engines follow the same spec. @erikadoyle

Really? Chrome versions don't seem to be in sync with it's engine/engines (from an outsider perspective).
Chrome 70.0.3538 = Blink 537.36 = V8 7.0.276
Chrome 40.0.2214 = Blink 537.36 = V8 3.30.33
V8 engine version seems kind of similar for Chrome 40+, but other then that ¯\_(ツ)_/¯

That's not what we use in documentation.

Well, BCD uses the EdgeHTML browser version, whereas the old, now‑removed, {{CompatEdge}} macro used to use the Edge version.

needinfo?(@erikadoyle)

We've always referenced platform version (rather than browser version) in our developer-facing communications, as EdgeHTML applies both to browser and Windows platform for JavaScript apps. That said, I agree its weird for Edge to be different than the other browsers.

That said, Edge versioning in BCD will likely change dramatically in the future, so maybe this issue is best handled as part of that larger change.

Also, EdgeHTML's version numbers continue of it's predecessor, IE. The compatibility for HTML, CSS, JS, etc. depends on changes to EdgeHTML, not Edge itself.

@patrickkettner can you advise on this?

On https://en.wikipedia.org/wiki/Microsoft_Edge#Release_history I see that the mapping between Edge and EdgeHTML versions isn't 1:1. Edge 39.* versions were based on EdgeHTML 14-15, and EdgeHTML 14 was used for both Edge 34-39.

What does this mean for API support? Were new APIs always added with bumps in the EdgeHTML version, or were they sometimes introduced with point releases?

New APIs were added at point releases as well as major releases. We also do bug fixes throughout, so tests will sometimes start to pass on platform version 15.xx even though they fail on 14.yy, which would both be identified as Browser Version 39.zz

I'm not too concerned with our (Edge's) long past results for WPT.FYI and would generally be ok with a mapping that looks like this:

| Browser Version | EdgeHTML Platform Version |
|:-------------:|:-------------:|
| 20 | 12 |
| 25 | 13 |
| 38 | 14 |
| 40 | 15 |
| 41 | 16 |
| 42 | 17 |
| 44+ | 18 |

Thanks @thejohnjansen! It sounds like for the BCD data in this repo to be accurate in the case of point releases adding APIs, the exact version strings like 39.14951 or 15.14951 would have to be included. But figuring out what was added when would be impossible without VMs for each version. In https://github.com/mdittmer/web-apis/issues/74 I went to quite some length to get Edge 12 in a VM, I don't suppose images for all versions of Windows 10 are available somewhere?

This issue seems to be the same issue that #3264 intends to fix. It's true, it seems weird that Edge versions are stored as their engine version, not the browser version, and I think that it's also based upon the User Agent string -- Edge includes the engine version rather than the browser version. But as pointed out earlier, Microsoft uses the engine versions in documentation (and not to mention all testing labs like SauceLabs and BrowserStack use the engine versions).

P.S. @Eccenux Regarding the Blink version number, I did a little research and found out why it's always been "537.36". Blink is a fork of WebKit, and its version number in the User Agent was never updated since the fork was created. Blink's true versions are the same as Chrome's, as @jpmedley is trying to explain.

We've added engines in https://github.com/mdn/browser-compat-data/issues/3264 and soon there is going to be Edge on Chromium, so I think we can close this issue.

Was this page helpful?
0 / 5 - 0 ratings