Drop official support for Firefox 2, Safari 3, Opera 9, Chrome 4?
Hi everyone,
I just wanted to briefly take the temperature of the group in seeing whether or not we should drop official support for some of these older browsers. There a few outstanding bugs in the bug tracker related to these browsers, some of which have been sitting for over two years without any action. Either jQuery supports these browsers, which means these bugs should be fixed…or jQuery doesn’t really support these browsers, in which case it should not say it does. (Crashes and broken document.ready support would be fixed immediately if these bugs were filed against Chrome 6!)
In addition to allowing the core team to better focus its limited resources on browsers that people actually use, dropping support should make testing quicker and easier and potentially allow for the removal of some hacks in the jQuery codebase—but of course, this only makes sense if there is a strong consensus to do so.
So, here is the list of browsers that I support removing, along with their support EOL and current market share (as presented by NetApplications):
Browser
|
Manufacturer support EOL
|
Market share[3]
|
Firefox 2
|
18 Dec 2008
|
0.38%
|
Safari 3
|
12 May 2009[1]
|
0.19%
|
Opera 9
|
3 Mar 2009[1] |
0.35%
|
Chrome 4
|
25 May 2010[2] |
0.26%
|
[1] Based on the date of the last provided security update. Outstanding security vulnerabilities exist in both of these products.
[2] Google drops support for the previous “stable” release once the next stable version is released and pushes upgrades to all users receiving automatic updates within 7 days.
[3] Netscape 6 has 0.42% market share.
For comparison, the current state of browser support in other frameworks looks like this:
Framework
|
Fx
|
Saf
|
Chr
|
IE
|
Opera
|
Dojo 1.5/1.6
|
3.6
|
4
|
5
|
6
|
10.5
|
YUI 3.2 [4]
|
3
|
4
|
4
|
6
|
none
|
MooTools 1.3 [5]
|
3.6
|
4
|
5
|
6
|
latest
|
qooxdoo 1.2
|
2
|
3
|
2
|
6
|
9
|
qooxdoo 1.3[6]
|
3
|
?
|
5
|
6
|
10.10
|
My Library 0.99
|
3.6
|
4
|
3
|
5.5
|
10.5
|
SproutCore 1.0
|
3.6[7]
|
5[7]
|
6[7]
|
6
|
none
|
Ext JS 3.2
|
1.5
|
3
|
3
|
6
|
9
|
Ext JS 4[8]
|
3
|
3.6
|
4
|
6
|
latest
|
[4] Explicitly states that only the latest stable point release of each version is supported.
[5] Thanks to Christoph Pojer for the information.
[6] From blog posts.
[7] I could not find specific version numbers except for IE; other than that, they say they run unit tests in IE6-8, Chrome, Safari, and Firefox. I can only assume this means they only test against current versions.
[8] Not finalized. Thanks to Evan Trimboli for the information.
As you can see from the above table, pretty much everyone has already, or will shortly, be dropping support for these browser versions, so jQuery would certainly not be alone in moving on.
While there is always a good counter-argument that keeping support for these older versions is not a big deal because they generally don’t cause many problems and it makes the library look good, it does mean some effort must still be spent maintaining code for these old browsers (either in testing or in actually fixing obscure bugs). At the least, if jQuery insists on continuing to advertise support for these older browsers, it does mean that serious bugs in supported browsers shouldn’t be allowed to just sit, which will take away from time spent fixing browsers that people actually use.
Regards,