
JQuery 2.0 Drops Support for IE6/7/8; API-Compatible with jQuery 1.9. - wycats
http://blog.jquery.com/2012/06/28/jquery-core-version-1-9-and-beyond/
======
51Cards
I don't know if I can get behind this or not. I understand their desire but I
don't see this as a viable option just yet. I'm not so concerned with 2.0 and
1.9 as you can load the right one, but what about when 2.1 comes out? Are they
going to back-port all the new features to 1.9.1? If not then I now have a big
fragmentation issue if I rely on anything specific to 2.1.

Don't forget that IE 8 is the last version XP will get and XP is going to be
out there for a long time yet (sadly), especially in corporate environments.
Effectively (as far as IE only environments are concerned) JQuery has just set
a time limit on proper web access for an entire OS.

~~~
melling
People will switch from IE when they have to. Firefox, Chrome, and Opera all
run well on XP. As for corporate America, they'll wait it out as long as they
can too.

However, if forced, technology departments are quite capable of installing
Chrome or Firefox. I don't feel sorry for corporations who have IE[6-8] only
apps. I was there 10 years ago when people said that it only had to run in IE,
when I said we should test in Firefox too.

~~~
jakejake
agreed. They'll only replace those systems when the expense of maintaining
them is greater than re-writing. I'm 100% in favor of making it increasingly
more painful for companies to hold back progress.

I do have to say that my impression from comments that some devs don't
actually comprehend the scope of the trouble for some of these companies. On
the surface you might think it's just a lazy IT department who won't upgrade
the browsers. But really the situation is that companies built their internal
infrastructure using things like ActiveX components for IE and these systems
are probably more like desktop apps than web-based apps. They use all of the
old IE components to interact with the desktop and do things that may still
not even be possible with a regular web-based app. So it is not necessarily
that they're surfing the web with IE6 because they're too lazy to upgrade the
browsers or their javascript code - rather they are stuck with it because they
have huge infrastructure that depends on those old components to run. It's
hard to actually understand that now, but at the time 15 years ago it was
really cutting edge stuff and MS managed to get some serious vendor lock-in.

~~~
jtheory
Add in that they may be using these custom apps to handle medical data, or
financial data, or something similar that can cost lives or staggering sums of
money if a browser upgrade causes even subtle errors... so there's a time-
consuming and very costly certification process that must happen even for
rewritten software, on top of the cost of development.

And certification would need to happen again before any subsequent browser
upgrades.

So I hate supporting IE6, but I'm working in health care, so I'm pretty sure
that I'm going to be supporting IE6 for a while yet.

------
tambourine_man
Sorry, but this is a disaster. Dropping support for IE6 may be OK, IE7 is a
bit too soon, but IE8?

I haven't tested my stuff on IE6 and IE7 for a long time, but I still do it on
IE8 everyday. It was released in 2009! And it's decent enough, PNG
transparencies, etc.

jQuery's main raison d'être might have gone out the window.

~~~
wycats
The premise is that jQuery 1.9 and 2.0 are API-compatible, so you can do
something like:

    
    
        <!--[if lt IE 9]>
            <script src="jquery-1.9.0.js"></script>
        <![endif]-->
        <!--[if gte IE 9]><!-->
            <script src="jquery-2.0.0.js"><</script>
        <!--<![endif]-->
    

New browsers will get a lighter download and a faster runtime. oldIE will
still work with all the hacks required to make it work.

~~~
tambourine_man
We deal with enough conditionals already. Besides, sharing the same API won't
stop you from bumping into some bug that's present in one version and not the
other.

We'll have to deal with two codebases.

Download and runtime speed are not a problem on the Desktop.

They should have had the guts to admit that this is all about mobile. Their
denial at the end of the post is symptomatic.

~~~
dspillett
_> Download and runtime speed are not a problem on the Desktop._

When I'm stuck in the wilderness with nothing but an atom based netbook
tethered to a patchy and expensive GPRS connection, I beg to differ.

Anyway, it isn't just about _your_ bandwidth to _your_ desktop - if each user
is transferring less it can be significant for the server-side.

If they make proper efforts to maintain 1.9.x for a goodly amount of time the
"hitting a bug in one version but not the other" issue shouldn't be more
significant than the current "hitting a bug in a third party library (jQuery)
which I don't have the expertise to locate+fix" issue that we already have to
consider. Of course the "if" at the start of that sentence could be cause for
concern but I think the jQuery project has done well enough at QA in the past
for me to give them the benefit of the doubt (or at least to reserve judgment)
at this point.

~~~
betterth
>When I'm stuck in the wilderness with nothing but an atom based netbook
tethered to a patchy and expensive GPRS connection, I beg to differ.

Who cares about outliers like that? How many people using your webpage are
connecting like that? 1%? 0.1%? Less? Are you really going to make major
decisions based on 0.1% of your users?

And what's more, if you're building a website for that kind of usage, you
probably shouldn't be using a big javascript library in the first place. And
the people on those connections should experiment with scriptblocking and
selective script whitelisting so they're in control of their poor connection.

Know your audience, I think, is the most important factor when deciding how to
go forward.

------
nilliams
I think there's a key point that hasn't been mentioned yet, that there may
just be no need to deliver JavaScript to IE 6-8 _at all_. A lot of smart devs
are already taking a similar approach with CSS, serving up a minimal 'print'
stylesheet for oldIE [1] [2].

\- If you're using JS for progressive enhancement on an otherwise static site,
e.g. form validation, pjax, image carousels, tabs, animations... simply drop
that JS for 6-8. Form validation should just round-trip to the server as it
has to do anyway, pages should just link normally, other visual enhancements
can be dropped. That's the progressive enhancement way after all.

\- If you're trying to build a single-page web app for IE 6-8 and this is your
reason for wanting jQuery to work, then you're going to find those browsers
have JS engines that are _incredibly slow_ and a JS-heavy web app for oldIE is
_not_ going to deliver a good user experience even if you get it to 'work'. I
think frankly this is an unrealistic goal from the get-go. The pitiful speed
of JS on these browsers is something that does seem to be often overlooked.

If you absolutely have to push a single-page web app to a corporate customer
stuck on oldIE, Chrome Frame is a very sensible option. This has served us
well and we've yet to encounter a customer who complains, as long as you give
them plenty of forewarning and explanation. It can be tied down to only
trigger on your site, so sysadmins really have nothing to gripe about with
respect to FUD about attack vectors etc.

Anyway I'm not saying 'you definitely shouldn't be serving JS to oldIE' I'm
just putting it out there as something to consider, as usual in this business
there's no single answer.

[1] <http://css-tricks.com/> (serves a print stylesheet for oldIE - possibly
just IE6 I forget)

[2]
[http://www.stuffandnonsense.co.uk/blog/about/universal_inter...](http://www.stuffandnonsense.co.uk/blog/about/universal_internet_explorer_6_css)

------
jorgem
Isn't one of the reasons for jquery to "abstract away" the differences between
browsers so I don't have to worry about it?

Dropping support for popular browsers doesn't seem to help me much.

~~~
zanny
Here is the magic: IE 6 - 8 are not popular browsers. They are only used if
the person using them doesn't know what a browser is. And all it would take
for them to switch is one webpage they use popping up "You are using an
outdated unsupported vulnerable awful browser, here are Firefox or Chrome,
take your pick and don't ruin your web experience any more".

And the corporate clients could finally get through their heads it is not ok
to expect employees to be accessing the internet through IE. Businesses don't
have the rights to stick their fingers in their ears singing 'lalala' while
the internet attempts to grow around the tumour of conditional comments and
other crap.

~~~
barryfandango
Unfortunately it's not a matter of sticking fingers in your ears, I can tell
you. If you've got 50-100,000 workstations to worry about, and a couple of
intranet apps that only run in older versions (there are more of these than
you might think,) upgrading IE could be a fabulously large and expensive
project.

Still you gotta catch up at some point. The product I work on is dropping IE8
in January, which will cause some of our larger and less nimble customers to
get stuck on an older version until they can fix their browser situation.

~~~
mgkimsal
"If you've got 50-100,000 workstations to worry about, and a couple of
intranet apps that only run in older versions (there are more of these than
you might think,) upgrading IE could be a fabulously large and expensive
project."

So... don't upgrade IE, but give people the option of - you know - running
another browser. The IT folks can even lock it down so no one can do anything
useful with it, but they could give people firefox, chrome, safari or opera as
another tool on their desktop.

Holding back an entire company's ability to do any modern browsing because
you're still tied to one HR intranet app from 2003 is just silly. There's no
sane argument to be made _for_ it, in light of the short- and long-term
opportunity costs it imposes.

------
nfriedly
I'm seeing a lot of hate here, but I think this is a good decision. I know
what a pain it is to support older versions of IE because I was doing it
before jQuery came onto the scene. They took a lot of that pain from us and
hoisted it onto themselves, but we can't expect them to carry that burden
forever.

My company dropped IE 7 support months ago, I look forward to the day we can
drop IE 8. We'll probably be suck with jQuery 1.9 for a while, but my side
projects will start using 2.0 right away.

------
drags
I think this makes a lot of sense.

One of our products is a B2B analytics tool that leverages a custom Chrome
extension for one piece of functionality. As a result, all of our users are on
Chrome.

We already use chai for testing, which doesn't really work in older IE
versions, and it'll be great to get the performance improvement from this
change as well.

------
dinkumthinkum
To all the people upset about IE8 being the last browser supported on XP ...
Isn't that Microsoft's problem rather than JQuery's? Apparently, Microsoft is
not interested in providing a modern Web experience to their users.

I don't really see the problem anyway. JQuery can move forward, and those that
want to support IE8 have JQuery 1.9 and I'm sure there will be a cottage
industry of people maintaining updates to support IE8 for the next 20 or 30
years. In the meantime, the rest of the world will be able to move on. Perhaps
people could even use UserAgents to provide legacy experiences for the IE8
crowd ... multiple views ... what a concept.

~~~
slig
But it's not the last. Chrome, FF and Opera works. I can't understand all the
whining here. Corporate world can run IE for it's shitty apps and a modern
browser for whatever else. Also, that's their problem, not mine, jQuery's or
the majority of people that have to download a bloated codebase to support a 3
year old, no standards browser.

------
ericb
So if the market share report links below are in the ballpark, that is about
60% of IE's current 49% market share, or about 29% of all current browsers.
This makes jquery 2 a non-starter. Even using 1.9 is suspect because the
questionable decision making process here makes me think I will have more
headaches in the future if I stick with jQuery.

IE Market Share: <http://bit.ly/LUhxlA>

IE Version Market Share: <http://bit.ly/LUh9n2>

~~~
chris_wot
Interesting way of looking at it. Except that is about 70% of browsers that
will work with jquery 2.0. Puts it into perspective!

------
AgentConundrum
So does this mean that there will be ongoing development in the 1.9 line which
will add new features available in the 2.0 line, or is this just the end of
the line for IE <= 8? The blog seems to imply the latter, and that 1.9.x is
only going to be used for bug/security updates, without new functionality.

If that's true, this seems like an odd line in the sand for them to draw. IE9
isn't available before Win7, so it can't die until users upgrade their OS.

According to StatCounter[1], IE8 still represents 13.78% of Worldwide visits
(plus 1.4% for IE7; IE6 is just part of 'other' now), and 14.92% of North
America (IE7; 1.79%).

[1] [http://gs.statcounter.com/#browser_version-ww-
monthly-201206...](http://gs.statcounter.com/#browser_version-ww-
monthly-201206-201206-bar)

~~~
slexaxton
You don't have to go from IE8 to IE9. You can go from IE8 to _any other
browser_, and things will look up.

~~~
baq
Tell that to corporate IT.

------
nakedgremlin
I love this product roadmap write up!

Explanations littered with reasoning and also a code-level solution for
something that won't be an issue until one year down the road. Hopefully that
93KB (un-Gzipped) beast can be knocked down a bit with 2.X.

------
elclanrs
I think this is a good move from jQuery. Other popular software/services
should do it too, and it'll be THE END of awful IE versions.

I still do support IE8 but it is a pain in the ass to have to work around
stupid bugs...pseudo elements are not well supported, font rendering is
subpar, no css3 support, sloooow JavaScript engine...and I could go on for
ever.

------
Uchikoma
For all the "just upgrade" comments:

Internal IT departments have no, no, no incentive to upgrade browsers.
"Surfing the internet" is not a reason for IT departments to upgrade.

~~~
dougbarrett
Yup, a lot of web apps are using ancient versions of JS libraries, aren't
compatible cross browser, and updates are few and far between. The issue is
with enterprise apps, you really need to have a solid release schedule/plan.
If you update an app and say "You are now forced to use a new browser to get
the functionality of this." you will piss off a lot of people.

It's much easier for the app developer to create poorly written hacks for the
older js libraries, because they are less likely to force a browser
requirement change.

For enterprise apps, 1.9 is going to be around for an extremely long time.

~~~
Uchikoma
It's not for enterprise apps.

If your startup is C2C, everything is fine, if your B2C or B2B your in
trouble. If your B2X then you even do not have the leverage of a contract etc.

------
dave1010uk
I wonder if the code would be a bit cleaner if they dropped IE9 and year-old
Firefox / Chrome / Safari support too. That would allow them to use new stuff
like XMLHttpRequest 2, ECMAScript 5 Strict Mode, Typed Arrays,
requestAnimationFrame and CSS transitions / animations.

------
andersnolsen
There are so many reasons for using jQuery. Myself, I'm using it for a ton of
reasons: speed up development, create more compact and readable code for
myself and coworkers, enjoy the huge range of plugins, theming... you name it.
Support for IE-ancient is not on my list. Actually I would love to see it
gone, die, disappear, vanish.

Even though jQuery handles most of my cross-browser issues I still have to
test and worry, create workarounds and lots of additional code, consider it in
my architecture, take care in the design and handle it in the application
lifecycle.

I have been looking for and at able framework that DON’T support old browsers.
Thank you for not supporting IE-ancient in your 2.+ releases, I will continue
using you jQuery!

------
gouranga
This is a retarded decision which I do not support.

IE6 fine, IE7 fine but not IE8. IE8 is required for most corporate
environments where they haven't killed of Windows XP yet. That is a
surprisingly large amount of people.

If this happens, we'll fork jQuery 1.9 and support it separately.

~~~
sanswork
2 will come out in 2013 just a bit before Microsoft officially removes all
support for XP. If your IT department hasn't made moves to upgrade everyone
from XP by this point you have bigger issues to deal with than jQuery
availability.

~~~
gouranga
Forced obsolescence doesn't mean people aren't still using it and it doesn't
mean that because Microsoft stop patching that it's still vulnerable. Using it
after April 2014 is not a problem.

The NHS in the UK has over 1 million Windows XP deployments out there still on
NHSnet which is a nationwide secure private WAN. A lot of software vendors
have to support that.

Your view is popular but naive.

~~~
sanswork
Ok how about this then. If you're still supporting an unsupported OS why do
you care about using the cutting edge version of a JS library?

~~~
gouranga
Because historically jQuery has been a buggy pos that we've had to work around
a lot.

~~~
sanswork
That argument doesn't really hold though. You're not upgrading your base(the
OS) to fix the problems with it yet you're complaining about a minor(in the
grand scheme of things) library removing support in a modern version. If your
network is closed off like the NHS one you mention, why not just stick with
the old versions you've already fixed?

It's like complaining your 56' Chevy doesn't work with the new battery
technology coming out in the Chevy Volt.

~~~
gouranga
The problem comes is that the older versions that we've fixed have the fixes
integrated in later versions.

We really don't want to have to maintain the versions that we've fixed as that
kills the entire value proposition of using it in the first place.

It's nothing like the 56' Chevy / Volt analogy. The technology is the same -
they just can't be bothered with supporting one vendor's product any more.

~~~
sanswork
Why do those fixes matter? Again if you're in a closed environment then you
can surely control the versions of a JS library. So fix it until it works in
your space then move on. Them dropping support for your outdated choice of
platform isn't a problem. Your desire to use cutting edge software with your
outdated platform is the problem.

Picking a platform and sticking with it is a nobel and occasionally needed
position to have. Expecting everyone else to hold themselves back because you
chose to do so is impossibly greedy however.

------
s0me0ne
Did anyone read the post? 1.9 will still support ie6/7/8, so just use that for
compatibility. Let's move the web forward. I still use XP at home and don't
care because I use Firefox. So if grandma/grandpa and corporate america don't
get all the new bells and whistles, they are probably used to it, because they
don't have rounded corners, text-shadow and box-shadow on everything anyway.
They probably won't even know what they are missing on that HP/Dell POS. :p

------
rads
All this talk about IE usage numbers led me to a website Microsoft made to say
goodbye to IE6: <http://www.ie6countdown.com/>

The site reports that in the US, IE6 has 0.6% market share — relatively
nothing. But look over at China: 22.4% of its 500 million Internet users still
browse with IE6. Moving forward benefits the Internet as a whole, but the
Chinese market is one instance where backward compatibility is important.

~~~
formatjam
I grew up in China and this is def true. IE6 is still popular in China is
because a lot of banks and governments website only works in IE(6). Since
banks are state owned, they don't have incentive to compete to make their site
better. I think the only hope is to wait till their computers die and when
they install new windows IE6 will be gone.

------
juddlyon
Kudos to the jQuery team for taking a risk.

~~~
zalew
it's not their risk, it's ours.

~~~
bentlegen
It isn't your risk. You can continue to use jQuery 1.x.

------
benatkin
This is worst of both worlds. Compared to naming branches, they both encourage
sites to unnecessarily break compatibility, and are held back from developing
new features.

They should give 1.9, 2.0, and 2.1 names, and make 2.0 mainline, and call 1.9
"compat" or something and encourage the conditional comments. Then, soon, they
should start working on 2.1, which isn't API compatible with a version that's
compatible with IE 6/7/8. The current plans for 2.1 are an awfully long time
to wait for features that aren't available with IE 6/7/8, for apps and sites
that need such things (and have a target audience that is ready for it).

------
Uchikoma
You will not only be stuck with 1.9, but every other library you use that is
based on jQuery - and most in my stack are - can't be upgraded as I assume
those libraries will not play conservative but switch to 2.0 (and 2.1 next)

~~~
grabastic
1.9 and 2.0 have the same api

------
sampl
Zepto is already a popular option for those who want jQuery features in a
lightweight library. The API is essentially identical to jQuery, making it a
drop-in replacement at a fraction of the size.

zeptojs.com

~~~
wycats
Zepto is not drop in. Not even close.

~~~
davidlumley
Could you expand on that at all? I realise that Zepto covers a (very) small
subset of jQuery functions, but I thought that in a lot of use cases it would
be an appropriate substitute?

~~~
mark_story
Last I checked zepto doesn't have support for any of the simulated selectors
like `:checked`, `:input` and friends. If you use any of them, its not drop
in.

~~~
sebastianmck
If you build zepto with experimental CSS selectors you can.
[https://github.com/madrobby/zepto/blob/master/src/selector.j...](https://github.com/madrobby/zepto/blob/master/src/selector.js)

------
Fizzadar
Good stuff IMO; those who continue to insist on using IE<9 deserve a degraded
experience. Those who are forced by their employers should lobby them to
upgrade/move to FF/Chrome (and when they inevitably don't listen, then it's
really too bad - but if said employer wants to use a service w/o old IE
support it might force the upgrade).

In a world where technology is developing at such a pace, it really is time we
stopped worrying about old, poorly built bits of software.

------
wildtype
So i have to stick with jquery 1.9. People that ask me to create web page are
IE user. Here, those who use firefox, opera, or safari can create their own
web by themself.

------
sageikosa
I was just thinking that it Netflix can be sued under ADA for not close-
captioning material that didn't provide closed captioning, then someone is
eventually going to sue someone for not providing access to a public website
via the only browser they can use.

The real losers will probably be the public libraries that provide Internet
access, but don't have the resources to afford equipment or manpower to
upgrade machines and browsers.

------
mkmcdonald
I'll play the cynic here and try to diagnose why this is even being
considered.

jQuery is a very invasive API. Its goal is to steal all the work from the
developer, and to "guarantee" what it deems to be "correct" input for a
certain subset of browsers. This approach may ostensibly work, but inevitably
falls apart, which leads to thousands of "bugs" being reported.

Because the API has grown to be so massive, goalposts "must" be moved in order
to create a lighter API. Once again, this is because of a design flaw.
Goalposts will continue to be moved in cyclical fashion unless an alternative
design is used. Fellow developers may denigrate me for it, but I will explain
how this problem can be avoided.

An API that tries to cater to everyone cannot and will not succeed. This is
evidenced by the upcoming "fork". Conversely, an API that provides a set of
tools to developers without catering can work in many environments. The burden
is then placed upon the developer to choose which environments matter. As has
been outlined by mobile developers, object inferences for IE 6 really are
unnecessary for mobile Webkit environments. I have written here on this
concept before, mostly on the topic of "graceful degradation". Browser
specificity can and will kill a client-side API.

~~~
secoif
I don't know what your definition of software success is if jquery doesn't
fall in that category.

------
jetz
Jquery does what most open source projects do not. That is providing a clear
roadmap with 99% questions answered.

------
codgercoder
Hard to tell whether this will be good or bad; it does bring to mind some of
the gyrations commercial software vendors have forced, from time to time.

------
wildster
I won't be using for a few a years but I am glad it is leading pushing people
to CSS3 compliance.

~~~
redslazer
huh?

~~~
zaptheimpaler
IE 7 and 8 are still a huge chunk of the market, and they dont support CSS3.

~~~
mpd
The important metric is how much of a chunk they are to _your_ business. You
shouldn't care if some other site (or all other sites!) have significant
traffic from such old browsers. Measure _your_ traffic.

