jQuery 1.9 and 2.0 — TL;DR Edition

Posted on by

It seems that many people had questions and misconceptions about the last post, so let’s try a short Q&A format to answer some of the comments left there.

Why is the jQuery core team dropping support for oldIE (IE 6/7/8)? We’re not! jQuery 1.9 will support oldIE when it’s released next year. The jQuery team will continue to support and maintain version 1.9 even after jQuery 2.0 is released.

Why are you making me use conditional comments to include jQuery? We’re not! You can use jQuery 1.9 for all the browsers we support, from IE6 all the way up to the latest versions of Chrome, Safari, Opera, or Internet Explorer.

What happens when jQuery 2.1 is released and adds APIs, will jQuery 1.9 support them? Can we borrow your crystal ball? jQuery 2.1 isn’t likely to arrive until 2014, so it’s hard to say what jQuery 2.1 will look like as we sit here in the middle of 2012. Our general goal is to keep the 1.x and 2.x lines in sync and add functionality via plugins; see the keynote from last week’s conference.

How long will you support jQuery 1.9? As long as oldIE is a significant factor on the web. It’s even possible that there will be further releases in the 1.x line, but we haven’t yet received the crystal ball requested in the previous question. When Microsoft drops Windows XP support in April 2014, however, it will put a hurt on the oldIE installed base.

I still have a lot of IE8 users, can’t you just drop IE6 and IE7? The oldIE browsers share many of the same flaws, so it doesn’t help to do anything less than remove all three in jQuery 2.0. If you need oldIE support of any kind, a supported jQuery 1.9 will be right there for you.

My website is in China and 22 percent of our users are still using IE6! Seems like some sort of human rights violation. Oh, and that wasn’t a question.

61 thoughts on “jQuery 1.9 and 2.0 — TL;DR Edition

  1. Well, IE7 changed the DOM very little, but IE8 did change the DOM to be a bit more conforming with DOM level 1, though it took until IE9 to support DOM level 2.

  2. Edwin on said:

    I can’t understand why people shouting on the drop legacy browsers support, in fact it is inside the upcoming jQ 1.9. Some developers just failed to ready the blog carefully.

  3. iamybj on said:

    var isIe6=!-[1,]&&!window.XMLHttpRequest;
    while(isIe6)
    {
    alert(“What make you use IE6??”);
    }

  4. Shawn on said:

    Like the idea “Our general goal is to keep the 1.x and 2.x lines in sync and add functionality via plugins”.

    Just extra code base support for jQuery team.

  5. Alhadis on said:

    Why version 2.0? Just run off a separate version of jQuery called “jQuery Lite” or something, and develop it in tandem with the core framework.

    If the whole point of v2.0 is to make the framework lighter and faster, you’re probably better off keeping the approach simple and not having a tangled history of versions. For instance, are you going to release successive updates for v1.9 when new technologies start rolling out? For how long are you going to cater to us “play safe” developers who begrudgingly support IE users?

    Unless support for the latter is being dropped in the near future, I’d perhaps propose that you isolate the “light” jQuery from the “fat” jQuery. *shrugs*

    ~ 2 cents

  6. I think this is a positive step forward. The longer dated tech is supported the longer it will be a bane on us. But i also think the balance in continued support for a while longer is also very good too. :)

  7. Kamule on said:

    Come on guys, stop hating, it was just a joke about China, nothing else.

    Btw, if you can provide a better implementation for modern browsers and keep compatibility with oldIE it’s a good news.

  8. Good work jquery team, this is awesome. Thank you for spelling it out for those that just dont get it. This is a huge step forward for the web. This is especially going to help the mobile web. I’ve NOT used jquery in projects on mobile before because of its size (resorting to jqMobi or zepto). Once 2.0 comes out, that worry will be gone, and i will have a trimmed down version of jquery that loads fast.

    Thank you!

  9. Ryan Kaldari on said:

    Dropping support for IE8 is premature. It still has a large percentage of the browser market. Why not create a jQuery Lite as others have suggested for people that are doing mobile development or don’t have to worry about supporting old browsers?

  10. @Ryan Kaldari, aren’t you the least bit embarrassed that you didn’t even read the answer to the first question before posting? Also, just s/Lite/2.0/ and your wish has been granted.

  11. MrOBrian on said:

    I wonder how many of the people worrying about version 2.1 (which wasn’t even mentioned in the first blog post) are even using the latest version right now in all of their projects. Most projects I’ve seen use the version that was available at the time development started, and don’t necessarily upgrade as releases come out because of possible breaking changes and a “if it ain’t broke, don’t fix it” mentality.

  12. Harry on said:

    Developers who support really old browsers (in 2014) would use a slightly old version of jQuery. So what’s the problem here?

  13. Sometimes forward progress requires some difficult decisions and standing by those decisions. Yes, it may be painful for users (us developers, in this case), but it’s not the end of the world and is two years away at a minimum.

    Just look at the decline of Flash after Apple took a stand against it. People were floored, but Apple knows that Flash had become abused by developers over the years and was weighing down the web. It served its purpose, but better technologies were emerging and the only way for them to flourish was to create a void to fill. And now look where we are today, five years later. A far better position. The web has evolved. This forward progression of jQuery is no different. Some things (oldIE) just need to be choked off for them to eventually die.

  14. devin on said:

    I think it is a good thing , because the skill develop quickly ,we must eliminate the out skill .I support the jQuery team,good job.

  15. What happens when new features are added to 2.x that are not back-ported to 1.9? We then need to make a tough choice between using cool new features, or dropping support for IE7, IE8 and IE9 (which may be impossible for some).

    It’s nice that you have a “general goal” to keep them in sync, but that is hardly the kind of certainty and guarantee that businesses need and demand, something you open-source hacktards don’t seem to realize.

  16. With 2.0 and the removal of support for Internet Explorer 8 and below, why not have a separate file (that will also go on Google’s CDN) that is just for those versions? That way we can have the main 2.0 referenced in our HTML headers followed by an IE conditional to load the additional file with the removed features if that browser is in use.

    One of the great perks of jQuery has been its support of IE 6-8 and the ability to code once and have it work pretty much the same across the board. It would be a shame to piss off developers with the removal in 2.0 without an option to load older IE features if that browser is detected. Some will blindly update to 2.0 and say jQuery is now “broke” or stick with 1.9 as long as they can because their boss would chew their butt out if their large site stopped working all of a sudden.

  17. Daniel on said:

    I have to agree with Teg above, keeping support for earlier versions of IE as plugins would be more helpful then splitting jquery into 2 code branches. It would allow website developers the ability to keep up with the latest code improvements for standards browsers and their wonderful customers that use them while also allowing them to drop support of older IE versions as those users update their browsers or move on (Example: only 5% of my users now use IE7 ok I can remove the IE7 support plugin from my code). As someone that designs large corporate intranet sites let me tell you IE (the bane of my existence) and it’s never ending problems is not going away anytime soon. Trust me 5 years from now we’ll all be talking about how much it sucks having to support IE8-9 if not also 10.

  18. lijie on said:

    Are you sure? YOU DONN’T WANT SUPPORT IE6 FOREVER?……fuck..I’m a programmer from China…
    you can use <2.0 forever

  19. This is my real experiences and not a single case.

    China Clients told me: My site is broken in IE6.
    My answer: You browser is too old
    My China clients: I see.

    US/UK Clients told me: My site is broken in IE6.
    My answer: You browser is too old
    US/UK Clients: can you fix it?

  20. Would it be possible for another developer to extend jQuery to support an old version of IE in a plugin? Given your schedule, I’m not even sure that that will be necessary, but it could be nice to be able to do that.

  21. MrOBrian on said:

    I think the issue a lot of people are having is with the version numbering. When 2.0 comes out it doesn’t mean that 1.9 is dead. Maybe it would have been better to give them names, like “jQuery Classic” and “jQuery Modern” and then keep them both at the same version number.

    You don’t need a plugin to achieve oldIE support in future versions of jQuery, just use the 1.9 branch which, as was stated in the TL;DR version above, will continue to be supported for as “long as oldIE is a significant factor on the web.”

    Did people only read the questions above and not the answers?

  22. rphcrosby on said:

    I agree with a few others here. Have a jquery core that follows the usual versioning and have support for older browsers as plugins. It removes the necessity for two code branches whilst maintaining a small file size for those who don’t need old browser support.

  23. @Daniel

    The reason I said that is because I’ve been developing websites since the late 90s and uniformity is key. The modern programmer talks about progressive enhancement and says that it doesn’t really matter that the site doesn’t look the same in every browser.

    In my experience from working with clients, they DO want the site to look the same in every browser and it is your job to make that happen. They want a uniform look and for the interactive features to be the same. Until IE 6-8 get 0% market share, we continue to have to use conditional comments and browser specific CSS tweaks. jQuery really helped cut down on debugging JavaScript code for those browsers too.

    Have a problem with that? They find a new employee who will or another contractor who wants to actually get paid. It sounds fine and dandy to try to support the most bleeding edge browser tech, but many people still use XP and the latest version is 8 if they stick with Internet Explorer. Do you want the client to show his mother the site he paid for to find out that it is broken?

  24. Very good, I rarely use IE6, but do not want to go with IE5, I just want to use chrome or IE9, because those who support for JQ will be better.

  25. James on said:

    @teg

    This isn’t going to break what you have.

    Who says IE6-8 should get the latest features? They don’t support them without hacks anyways (polyfills). I’d love for my old IPhone to run the latest games but it won’t. It’s not fast enough. Same with browsers. The games I have on it work great, just not the newest ones. Boo hoo.

    If your clients don’t get the fact that they can make a choice on whether to go with full support of less features in all browsers OR new features in just modern browsers, then you are not doing your job.

  26. Spudley on said:

    [quote]
    How long will you support jQuery 1.9? As long as oldIE is a significant factor on the web. It’s even possible that there will be further releases in the 1.x line
    [/quote]

    Yep, that’s all I needed to hear. Thank you.

    (though a better definition of “significant” would help ;-))

    [quote]
    …The oldIE browsers share many of the same flaws…
    [/quote]

    Really? Well, yes, I know they share *some* of the same flaws, but many? Really? Oh well, you’re the guys with your fingers in the jQuery code, so you’re the ones who really know what’s involved, but I don’t think I’m alone in being surprised to hear that IE8’s flaws are so similar to IE6’s that they can’t be separated. How much code are we talking about here?

    But to be honest, I’m really not that worried now, after your definitive answer in the first point I quoted above: if you’re planning to keep supporting 1.9 as long as necessary, then the whole issue becomes somewhat moot; my objections are satisfied. But I do still find it curious, so it would be good to hear some more about the implications of IE8 support.

    Thanks again.

    Oh, and by the way: I don’t think anyone commenting on either of these posts has actually stopped to say “thank you for all the hard work you’ve done creating and maintaining jQuery over the years”. So let me do that now too. Thank you. :-) A little bit of love goes a long way.

  27. nick on said:

    Ah great, just when I thought we had finally seen the light and decided to create a way to make uniform(ish) web sites without all the conditional stuff, we are now told the new JQuery won’t support browsers that have fallen out of favour with the development team. Let’s ignore the fact that it’s open source and free and that we should stop whining for a moment and pretend JQuery is a commercial product.

    IE8 is just a little over three years old and still the only option for XP users (ignoring FF,Opera,Chrome etc), well plenty of my Government clients are still toying with moving away from IE6. I am in the luxurious position of being able to choose JQuery 1.9 to solve the problem, but what if I want to target the public? I would either need to detect the client browser and switch sites (exactly the problem JQuery was supposed to solve) or choose to ignore JQuery 2+. And what if I want to future proof my site so that I don’t have to go back and rewrite it all again in another few years when the clients eventually reach IE11 and JQuery 1.9 has long since stopped being developed?

    What if I were a JQuery plugin writer? Do I create two versions or just maintain either the latest or the older JQuery?

    The problem that JQuery was designed to solve, sites that simply work cross browser with all DOM’s, is now effectively abandoned. Perhaps someone could create another library that wraps JQuery versions to make it work with all browsers. :-)

  28. Martijn on said:

    It might sound like a weird suggestion, but add oldIE functionality to jQuery 2.0 via a plugin? Just sayin’…

  29. Kevin Teljeur on said:

    What the jQuery team have done is worse than if they had stopped developing jQuery altogether. Everyone is going to have to switch to Prototype 1.7 or something now, or spend 7 years writing their own libraries with a big team of highly talented unpaid developers. It’s a disaster for the Internet, no-one will ever be able to create websites again because there will be two versions of jQuery sometime next year, one of which drops support for older browsers to get a performance increase for developers who do not ever need to target older versions of IE, such as me.

    I wouldn’t be at all surprised if people die because of this. It’s a fiasco. I hope you never sleep again, dmethvin.

  30. The splitting a very good decision.

    It is utterly difficult to support latest goodies on old browsers which in fact do not conform HTML5.

    It’s Microsoft fault and people have a fiasco with Microsoft, not jQuery, if the new nice APIs don’t work with their fancy websites.

  31. For those still confused, IE9 was a major rewrite of core code by Microsoft. It is leaps and bounds over IE8 and earlier in terms of performance, which is how they achieved significant improvements in that newer version. But what was sacrificed was completeness, which is why it’s still behind the other browsers in terms of supporting the latest standards and methods.

  32. nick on said:

    OK yesterday I ranted about how JQuery was meant to hide the differences between browsers DOMs. I thought I’d back this up by trying to snag a bit of text from the JQuery site that proves my point and then quote it here. The nearest I could find was on the home page when you hover over cross-browser and it says “IE 6+, FF 3.6+, Safari 5.0+, Opera, Chrome”.

    It does not say that it is intended to make your site cross browser compliant, so perhaps that is my misconception. However I’d prepared to bet that it is a common misconception and I’d even point out that wikipedia erroneously states “jQuery is a cross-browser JavaScript library…”.

    So if JQuery is a library designed to make traversing the DOM easier for very specific browsers and not a library designed to make targeting multiple browsers easier with lowest common denominator support then I’d like to ask all you experts the following. What commercial or none commercial library IS designed to make cross browser coding easier by providing lowest common denominator support?

  33. @nick, jQuery 1.9 supports IE 6/7/8 and (when it is released next year) it will be supported by the team–even after jQuery2.0 comes out. So what are you talking about?

  34. Matt on said:

    Little known fact – When jQuery 2.0 is released it won’t cause jQuery 1.9 to stop working. How many of you complaining about the ‘dropping’ (rtfa) of IE678 support are even using the latest jQuery version?

  35. I didn’t misunderstand, but I’m still concerned. When 2014 comes around, I will want to use 2.1.

    IE8 is the last version that XP will support and the first version that Win7 supports. If there is to be a belligerent browser version that refuses to goes away (post IE6), it’ll be IE8.

    If a large percentage of my client’s user base are still using IE8 in 2014, I will be restricted to a 1.9/2.0 combo. I’ll be unable to make use of 2.1 functionality without resorting to browser sniffing that has been removed from the core library.

    I appreciate the need to move forward and possibly the question will be mute in 2014 (I doubt it), but these are my concerns for a library that built itself on IE6 compatibility.

    Rich

  36. Kevin Teljeur on said:

    @Matt – I’m going to stop you right there. It’s well known that if there is a future, as-yet-unannounced version of the library you are using, which adds features that you don’t currently have any knowledge of, but which you won’t be able to use for compatibility reasons, then you immediately have to stop using the current version. Clearly, your sites will stop working as soon as the future version is released. jQuery 1.4.2, still use on many sites because of it’s robust, no-nonsense reliability? Ha, it will fail immediately!

    @Nick – it’s nothing you couldn’t achieve by spending 7 years writing your own libraries with a big team of highly talented unpaid developers. Seriously, what will jQuery 2.1 in 2014 do that the unreleased jQuery 1.9 of 2013 will not do? Why does this matter? Sites are still using jQuery 1.4.2 without any problems, because it just works. Sites will continue to use jQuery 1.7.2 until 2016 and beyond without anyone noticing. So why stop using jQuery now, for the sake of something you won’t be able to not use until up to 2 years from now?

    Even if it was a commercial library, you couldn’t expect eternal support for the old browsers. Not even Microsoft wants them to be supported. It’s like expecting the jQuery team to support Netscape layers or ActiveX controls in perpetuity. Eventually, it just has to go.

  37. Joel Coehoorn on said:

    The problem here is that IE8 is **NOT** a legacy browser. It’s still the **CURRENT** version of IE for Windws XP, and XP s still supported and still runs in a lot f systems. Sadly, XP isn’t likely to disappear for a bit yet.

    April 8, 2014. That’s the day IE8 becomes a truly legacy browser. Please don’t treat those of us who must support it as second-class citizens before then.

  38. Good LORD, I am just amazed at how people cannot read even the simplest English sentences. @Richard and @Joel, I am not sure how you are both unable to read these blog posts and my comments and somehow not understand that jQuery 1.9 will be supported far into the future.

    This is not a debate about whether the jQuery project will support IE 6/7/8, it says that we will all over these blog posts.

  39. Aalaap Ghag on said:

    I agree with @Alhadis about forking jQuery into a Lite version and keeping the main jQuery as-is with support for all browsers.

    Alternatively, there could custom jQuery download builder with ‘Legacy IE support’ as an optional add-on.

  40. @dmethvin – Thank you for your straight, simple answers. I look forward to seeing the improvements that the team will be making for both of these new versions.

  41. Stuart Ellis on said:

    The main thing that I would ask is that the jQuery core team provide as much support and guidance as they can for third-party plugin authors. The 1.9/2x split means that it’s likely that plugin authors and users will sometimes be on different versions, and that this will sometimes matter (because bugs happen).