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

Build: Add more tested browsers, update existing ones #263

Merged
merged 1 commit into from Jun 9, 2014

Conversation

mgol
Copy link
Member

@mgol mgol commented May 20, 2014

Firefox: I added 3.6 and last two ESRs. Firefox 3.0 errors with Some of your tests did a full page reload. Do we want to keep supporting 3.0? We'll need to fix sth if we do; otherwise, Firefox 3.6 is old enough. (EDIT: no longer true: Firefox 29 consistently disconnects, if it starts at all, it stops at 23/35 so I couldn't update the version here. Any ideas? Can it be our bug?)

Chrome: 4.0 doesn't even exist in BrowserStack, the oldest available is 14. Is it enough? Would it be OK to bump minimal supported version to it? I added v24 as well since it shares v8 version with Node 0.10.

Safari: Added 4.0, 5.0, 5.1 & 6.0. Removed 6.1 since it shares the same engine version with 7.0 and we're already testing a lot. I know @markelog was opposed to removing in case they start differing but I don't think we should guard ourselves so much about such potential stupidity on WebKit part, especially that we don't test all 26 supported Firefox versions etc. and we already have a lot of browsers. If the rest of you feel similarly to @markelog, I'll bring 6.1 back.

Opera: tried 11.6, 12.0 & 12.6 but it still doesn't connect. @markelog, did you contact BrowserStack about it? Did they reply?

iOS: Added 5.1 to current 6.0 & 7.0.

Android: Added 4.0 & 4.2 to current 2.3 & 4.1.

@markelog
Copy link
Member

Can it be our bug?

Legitimated fail, fixed, do not afraid to check this stuff yourself :-).

was opposed

Still do, i think we need to support current-1 versions, regardless of internal cooking of browser vendors. How generated of browser versions going btw?

Opera: tried 11.6, 12.0 & 12.6 but it still doesn't connect. @markelog, did you contact BrowserStack about it?

Multiple times

Did they reply?

Not lately :-(, will cc you into this.

@mgol
Copy link
Member Author

mgol commented May 20, 2014

Safari 6.1 isn't "current - 1", it's Safari 6.0. 6.1 & 7.0 were released at
the same time & differ only in UI, they're parallel. If we tested only on
7.0 & 6.1, we'd effectively test only the latest version (twice). 6.0 is
the last previous version to both 6.1 and 7.0.

Michał Gołębiowski

@markelog
Copy link
Member

@mzgol yes, that is yours rational, i have mine –

differ only in UI

You don't know that, yes, engine numbers are the same, but you shouldn't trust it, ask any car thief.

were released at the same time
they're parallel

If they were released at the same, it qualifies them as the same? Opera 12.17 and 21 were released at the same time, should we apply the same politics to it too?

From http://jquery.com/browser-support/ -

(Current - 1) or Current denotes that we support the current stable version of the browser and the version that preceded it

6.1 is less then 7, 6 is preceded by 7, therefore Safari (Current - 1) is 6.1

In any case, i don't see the downside of checking 6.0, 6.1 and 7 versions.

I know, you can debate these stuff too, maybe you even have some clever reply for "car thief" remark, but we have been on this road before, so let's not go on the same cycle, you know my arguments, i know yours.

More importantly –

How generated of browser versions going btw?

@mgol
Copy link
Member Author

mgol commented May 21, 2014

(Current - 1) or Current denotes that we support the current stable version of the browser and the version that preceded it

6.1 is less then 7, 6 is preceded by 7, therefore Safari (Current - 1) is 6.1

The "preceded" word is important - 6.1 didn't precede 7.0. The whole idea about testing on "Current - 1" is to test on a version that most people are on before they switch to the new one. If we treated 6.1 as "Current - 1" and supported only "Current" and "Current - 1" it'd mean that the day 6.1 & 7.0 went out, we'd suddenly stop supporting 99% of Safari users.

That said, I advocated a while ago that the "Current/Current - 1" rule should be applied only to rolling release browsers; no one protested & I've seen voices of support so I updated http://jquery.com/browser-support/ to explicitly mention all supported Safari versions (the same applies to Android & iOS that are not rolling release).

Here I added all the versions back to 4.0 since that's what README says and they're on BrowserStack & they pass tests so why not.

How generated of browser versions going btw?

I didn't work on it recently. There were some voices about BrowserStack possibly supporting some of the syntax natively, specificaly "previous" alongside "current"; there has been progress on that; see:
https://github.com/browserstack/browserstack-runner#compact-browsers-configuration

Also, see the discussion about that: browserstack/browserstack-runner#28

It'd be nice if some of it could be leveraged in Karma but I haven't investigated yet if integrating it is possible. If not, I'll just go ahead & implement my own parser based on my proposal. Shouldn't be too hard.

@mgol
Copy link
Member Author

mgol commented May 21, 2014

@markelog

Can it be our bug?

Legitimated fail, fixed, do not afraid to check this stuff yourself :-).

Sorry, I didn't have time to check it myself after submitting this PR. Glad it's working now! PR updated & rebased.

@mgol
Copy link
Member Author

mgol commented May 21, 2014

cc @gibson042 since I know he had an opinion about what should be tested.

Basically, it boils to the fact we can't realistically test Sizzle on all supported browsers as there would be about 100 of them. We need to get a good coverage, though. IMO we should test newest & oldest supported versions and some in between for better coverage. In Fx case I chose ESR versions, in Chrome case the one used in Node. We don't have to test Opera's older than last 2 versions (except Presto once it works) since it's basically covered by Chrome anyway.

We might want to add older than 5.1 iOS versions as well but I had some problems with that and didn't want to mix the issues; we can add it later. In this PR I just wanted to make the coverage more reasonable.

@gibson042
Copy link
Member

Ultimately, we can't claim support for what we can't test, but inferring over ranges is obviously necessary with such wide claims. So I'm fine with bumping Firefox to 3.6 and Chrome to 14, and approve of all @mzgol's special cases (good call on the Node equivalence, btw).

As for Safari 6.1, I have no strong feelings.

@mgol
Copy link
Member Author

mgol commented May 21, 2014

@gibson042

good call on the Node equivalence, btw

I thought about including the version with v8 shared with Node 0.8 but it has v8 only 3 versions older so it wouldn't provide any significant spread in covered versions for us.

EDIT: I wrote Node 0.11 instead of 0.8, corrected.

@markelog
Copy link
Member

@mzgol

And again –

I know, you can debate these stuff too, maybe you even have some clever reply for "car thief" remark, but we have been on this road before, so let's not go on the same cycle, you know my arguments, i know yours.

And again –

In any case, i don't see the downside of checking 6.0, 6.1 and 7 versions.

@mgol mgol merged commit 10f4bdc into jquery:master Jun 9, 2014
@mgol mgol deleted the browsers branch June 9, 2014 17:18
@mgol
Copy link
Member Author

mgol commented Jun 9, 2014

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Development

Successfully merging this pull request may close these issues.

None yet

3 participants