Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[Schema] Define version number schemas for the different browsers #168

Closed
Elchi3 opened this issue May 3, 2017 · 10 comments
Closed

[Schema] Define version number schemas for the different browsers #168

Elchi3 opened this issue May 3, 2017 · 10 comments
Assignees
Labels
linter 🏡 Issues or pull requests regarding the tests / linter of the JSON files. schema ⚙️ Isses or pull requests regarding the JSON schema files used in this project.

Comments

@Elchi3
Copy link
Member

Elchi3 commented May 3, 2017

We need to investigate validating version numbers for different browsers. Otherwise we might end up with inconsistencies like "53.0" and "53", or things like "5.3" which would make no sense for Firefox, for example.

@Elchi3 Elchi3 added the schema ⚙️ Isses or pull requests regarding the JSON schema files used in this project. label May 4, 2017
@Elchi3 Elchi3 self-assigned this May 10, 2017
@Elchi3
Copy link
Member Author

Elchi3 commented May 10, 2017

Lets collect valid versions for UAs. I'm afraid we are not able to code this into the schema, but we need to put it somewhere as a reference for contributors and make it part of a review checklist.

Firefox and Firefox for Android

I think we want to use Firefox versions, not Gecko versions. I'm not 100% sure if we want "55.0" or "55". Leaning towards "55" until I hear differently.

Valid

Firefox Desktop: "1" - "60" (and higher), "1.5", "3.5", "3.6"
Firefox for Android: "4" - "60" (and higher)

Invalid

"1.7" (Fx 1)
"1.8" (Fx 1.5)
"1.8.1" (Fx 2)
"1.9" (Fx 3)
"1.9.1" (Fx 3.5)
"1.9.2" (Fx 3.6)
"2.0" (Fx 4)
"25.5", "5.3" etc.

Android WebView, Chrome, Chrome for Android

Chromes wants to display just integers, no "57.0" just "57".

Valid

"1" - "60" (and higher)

Invalid

"5.0", "57.0"

IE and IE mobile

Leaning towards integers for IE as well.

Valid

Desktop: "1", "1.5", "2", "3", "4", "5", "5.5", "6", "7", "8", "9", "10", "11"
IE mobile: "6", "7", "8", "9", "10", "11"

Invalid

"12", "13"
"6.0", "8.0"

Edge and Edge mobile

"The 2-digit EdgeHTML version (12 through 15 so far) is generally how we track web platform support".

Valid

"12", "13", "14", "15"

Invalid

"13.11099", "15.14986", "28", "37", "20"

Safari

I think it makes sense to use "10.0" instead of "10", as there is also "10.1" etc.

Valid

"1.0", "1.1", "1.2", "1.3", "2.0", "3.0", "3.1", "3.2", "4.0", "4.1", "5.0", "5.1", "6.0", "7.0", "8.0", "9.0", "9.1", "10.0", "10.1".

Invalid

"536.25" (webkit versions), "6.1.4", "5.2"

Safari iOs

Valid

Invalid

Opera

Valid

"5.00", "6.00", "7.00", "7.50", "8.00", "8.50", "9.00", "9.50", "10.00", "10.50", "10.60", "11.00", "11.10", "11.50", "11.60", "12.00", "12.10"
"15" - "45" (and higher)

Invalid

"2.4", "2.12" (Presto versions)
"36.0.1985.125" (Chromium versions)

Servo

I think it makes sense to only allow "false", "true", "null" for now as there are no versions, and maybe there won't be any.

Valid

"false", "true", "null"

Invalid

Any numbers

@jpmedley
Copy link
Collaborator

You have the numbering correct for Chrome and Chrome for Android. That scheme also applies to Android Webview.

@a2sheppy
Copy link
Contributor

I agree that Firefox should be "45" and not "45.0". We only add the decimal point once there's a non-zero digit somewhere after it.

@a2sheppy
Copy link
Contributor

I also agree that the time has come to bail on Gecko version numbers. Nobody cares anymore about pre-4.0 Firefoxes. :)

@wbamberg
Copy link
Collaborator

Also Edge is the two-digit EdgeHTML version, according to mdn/kumascript#131 (comment). So "12", "13", "14", "15".

I agree that we should use "45" not "45.0" for Firefox, but might we sometimes want to include point releases in the compat data? They do exist after all.

@Elchi3 Elchi3 moved this from To Do to In Progress / Review Needed in Migration of compat data from MDN pages May 11, 2017
@Elchi3
Copy link
Member Author

Elchi3 commented May 15, 2017

Thanks for all the comments! I've updated the overview above.
I think I need help with iOS Safari versions, and the rest could use a double check as well. We discussed that we want to add a validation script to this repository that makes sure versions are valid as per these rules. I'm going to use this issue to gather the version schemas for the first set of browsers which can then be used in such a validation script. If you have more comments on correct versions of browsers, let us know here!

@stephaniehobson
Copy link

Safari iOS is tied to the operating system. The operating system definitely has point releases. Not sure where to find a full list.

@a2sheppy
Copy link
Contributor

a2sheppy commented May 15, 2017 via email

@a2sheppy
Copy link
Contributor

Wikipedia has a list of iOS releases. The format kind of stinks, but it's pretty thorough: https://en.wikipedia.org/wiki/IOS_version_history

@Elchi3
Copy link
Member Author

Elchi3 commented Nov 2, 2017

The testing infrastructure and an initial set of browsers to validate the version data against landed with PR #439. The remaining work is tracked in issue #591.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
linter 🏡 Issues or pull requests regarding the tests / linter of the JSON files. schema ⚙️ Isses or pull requests regarding the JSON schema files used in this project.
Projects
None yet
Development

No branches or pull requests

5 participants