Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Build: Drop io.js testing, test on latest Node.js
Node.js & io.js have merged, there will be no more major io.js releases. Also, as of today io.js is officially unsupported (even if it still gets some updates) while Node.js 4.0.0 (just released!) will be supported until 2018.
- Loading branch information
250a199
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Why we didn't drop
.10
when.12
come up?250a199
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
One reason is that Node 0.10 will be supported until 2016-10-01, Node 0.12 until 2016-12-31 (Node 4 will be supported until 2018-04-01). More details at https://github.com/nodejs/LTS (but look at PRs as some things changed).
More importantly, though, most Node.js users didn't switch to io.js (I've seen stats from npm installs that showed all io.js share below 5% of total Node.js+io.js) and most of them were still on 0.10 so we'd drop a massive number of users this way.
io.js has a smaller market share and it doesn't have such a long support strategy (in fact, it doesn't have any official one) so it will die soon. Also, there were problems with io.js on Windows due to weird linking issues (the binary was named
iojs
butnode
was linked to it for back compat reasons and it was causing all sorts of issues).250a199
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I'd love to drop 0.10 since it includes npm 1.4 by default - an old version with lots of problems. I'd love to drop 0.12 as well so that we don't have to deal with its jsdom problems. But we'll need to wait a little until more people move to Node.js 4.
Also, we'll have to update our Jenkins first - it still runs on Node 0.10. This, in turn, requires checking with all jQuery Foundation projects using our Jenkins if they work with a newer Node. At this point I think it'd be best to wait until all of them work on Node 4 (I don't think it will require a lot of effort, just checking some things) and update to Node 4, skipping 0.12.
250a199
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Of course, it only affects developing jQuery. Installing should work even on Node 0.4 as we don't depend on any Node features in our published package. ;)
250a199
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I would wait on removing, but i guess when we actually release, io users would be non-existent. It was just alarming how easily we dropped support for this environment
250a199
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
When io.js 3 came out we "dropped" io.js 2 automatically as this entry started to install io.js 3.
I would be more careful if this was required for a published package, not only for jQuery development. :) Published jQuery will work everywhere.
250a199
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
That sounds like a mistake
Not sure if i understand, we checked code in io env now we are not.
250a199
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
We've never claimed io.js support so I added it as experimental; also, io.js hasn't been supporting non-latest versions for too long so I didn't want to clutter the matrix. The experiment is now over. ;)
In fact, no published stable jQuery was tested in anything above Node 0.10. :-) (just look at
2.1-stable
&1.11-stable
branches)Right, I didn't take Node-based tests into account. Nevertheless, as you said - we won't release for some time yet and io.js 3 will most likely die at this point. Claiming support would require us keeping it until jQuery 4 and the last thing I want is us testing on a long unsupported io.js version. Also, this version will be a major bump so if someone's deploying jQuery on io.js it won't get the jQuery 3.0 update without manually changing the dependency version.
So we should be good here. :)
250a199
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Well, we actually don't claim node support either.
Yep, it was just suddenly :-)
250a199
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Yeah, we have
note, but its hardly appealing, comparing to http://jquery.com/browser-support/