- Mentioned In
T211168: Prevent memory leaks from the nextState() function
T188937: Replace jQuery.Deferred.done/fail/always()
- Mentioned Here
T102318: Convert startup blacklist to feature test
T121517: Drop support for Opera 12 at some point
T141344: Remove JSON polyfill
T187869: Drop Grade A support for IE10
T136203: Drop Grade C support for IE8
@Nirmos: I assume that means stalled status for this task?
The main condition is percentage of browser support. Exactly what percentage to wait for hasn't been decided, but here's a few past decisions of similar nature:
- September 2014: Dropped support for IE7, ~1% – Wikitech, 116d1828. (mainly motivated by EOL and lack of TLS; Opera 12 with the same usage level at the time was specifically not dropped)
- November 2015: Dropped support for IE8, ~0.55% pageview traffic. – T118303
- November 2016: Dropped support for JSON polyfill, <0.1% pageview traffic (mainly Safari 4.x). – T141344#2818497
- April 2017: Dropped support for ES3, ~0.59% pageview traffic (mainly IE9, Android 2). – T128115#3066522
- For this change, we aimed at ~99.5% adoption before switching. We explicitly didn't switch at 98%.
- November 2017: Dropped support for Opera 12, <0.1% pageview traffic (below threshold for public analytics, post-2015). – T121517
- February 2018: Dropped support for IE10, 0.07% pageview traffic. – T187869
In April 2016, we also did a two-month analytics campaign to know the remaining percentage of page views from Grade A clients – T102318:
- 95.43% of pageview traffic supported Grade A feature test (86.27% browsers we officially support, 9.16% unofficially works, aka "Grade X"; tends to be beta versions of browsers and browsers derived from supported ones, such as UC Browser and Yandex).
- 4.58% of pageview traffic degraded as Grade C (mostly Opera Mini, and older versions of IE/Safari/Android).
Support for ES2015 (ES6) is not as easy to measure (yet) given the many new built-ins weren't implemented a the same time. We're technically still waiting for the first browser to fully implement it. Though, Kangax's tables indicate we're getting close:
- Current Firefox and Chrome implement 97 to 98% of the spec,
- Edge about 93 to 96%,
- Safari 9 implemented 53%, but Safari 10+ shows 99% of the spec being implemented,
- IE 11 implemented 11% only.
At this point, we should probably wait for IE11 traffic to drop more (last week: 7%), and for the remaining browsers to finish their implementation, and then for the now-current versions of non-evergreen browsers (Safari and Edge) to drop off a bit more.
When we get further along in this, we should remember that among contributors (compared to readers) browser usage biases more towards older browsers. One could argue that Grade A features are more important to editors than to readers (Grade C reading's pretty good, Grade C editing – not so much). See also T128115#3066697.
Haven't checked recently, but we might be getting close to dropping Grade A support for non-ES6 browsers. I don't think we're there yet, but we're close enough that this is worth keeping in mind during the 2020-2012 planning process (starting 1 year from now). So putting in that column for us to see at that time.