Skip to content

Support only last 3 iOS versions and drop Android Browser in jQuery 4.0+ #3950

Closed

Description

@mgol

Description

We currently support most browsers in their current & current-1 versions. The exceptions are IE, iOS & Android. Wrt to IE it's obvious we can't switch to the "current & current-1" scheme as this browser is dead and we support it for legacy reasons. Android Browser 4.0-4.3 still has around 6.1% of Android Browser market share (91.8% of which are Android 4.1-4.3) so we can't drop Android Browser just yet.

iOS is different. It doesn't progress as quickly as desktop rolling-release browsers as Safari cannot be updated separately from the OS but people update the OS pretty quickly. Stats show hardly anyone uses an iOS version older than current-2 at any given moment. Apple stats provide some insight but they don't separate current-2 from older versions.

Currently we explicitly support iOS 7+. This means as long as we don't release a new major jQuery version we have to test on more & more iOS versions (currently 4 of them). Could we limit ourselves to a specific number of iOS versions supported in line with most of the desktop browsers? I feel current & current-1 might be too little but perhaps we can limit ourselves to last 3 stable versions?

This would have to happen in jQuery 4.0 & newer as we try to not limit https://jquery.com/browser-support/ in patch/minor releases.

Link to test case

N/A

Activity

  1. added this to the 4.0.0 milestone on Jan 22, 2018
  2. timmywil commented on Jan 29, 2018

    @timmywil
    Member

    Decided on last 3 stable for iOS. Android 4.0 will go away.

  3. thecodingdude commented on Feb 1, 2018

    @thecodingdude

    In issue #3886 timmy said "A complete rewrite using next generation JavaScript...we want to use es2015 modules."

    Would it not make sense to remove support for browsers that don't implement the latest web features and let them continue using jQuery 3.x? That way a huge amount of cruft can be removed for such old and dated browsers.

  4. mgol commented on Feb 1, 2018

    @mgol
    MemberAuthor

    @thecodingdude We'll still have to support IE in the foreseeable future (at least IE 11; currently IE 9+ but it doesn't change that much) so we can't do that, unfortunately.

  5. thecodingdude commented on Feb 1, 2018

    @thecodingdude

    I mean, there's already president for removing browsers - your blog post mentions "If you need to support older browsers like Internet Explorer 6-8, Opera 12.1x or Safari 5.1+, use jQuery 1.12." so it would be no different here right? If you want IE 9-11 use jQuery 3.x

    IE 11 literally supports no modern web platform features so how you plan on using next generation JS like modules and supporting IE11 is a mystery. Starting from a modern foundation (not IE) would be much easier to attract pull requests and such rather than working with such an old codebase.

    There's no conceivable reason I can think of to support IE in any capacity in version 4, and not require people to use v3 if they want that support. The idea is to let go of browsers over time, and IE has certainly had its day by now...

    Just my thoughts...

  6. mgol commented on Feb 1, 2018

    @mgol
    MemberAuthor

    how you plan on using next generation JS like modules and supporting IE11 is a mystery

    We'd use modules during development but we'd transpile using something like rollup so that the final bundle is one JS script that doesn't use modules.

    There's no conceivable reason I can think of to support IE in any capacity in version 4, and not require people to use v3 if they want that support.

    We only work on the latest version of jQuery. Releasing version 4 that doesn't support IE would mean 95% of users wouldn't upgrade to this version, they wouldn't get new features & bug fixes. It's not worth it, basically every library in the world supports IE 11. There are just way too many users of that browser.

  7. thecodingdude commented on Feb 1, 2018

    @thecodingdude

    Makes sense - thanks for the clarification. I'd imagine in that case we would be able to make our own builds with the config we want (such as removing any code designed for IE11), that could satisfy the best of both worlds :)

  8. coliff commented on Feb 6, 2018

    @coliff
    Contributor

    IE 11 is still more popular than Edge with 6.2% desktop marketshare (more than Safari!) . REF: http://gs.statcounter.com/browser-version-partially-combined-market-share/desktop/worldwide/#monthly-201801-201801-bar

    IE11 is the only available Microsoft browser on Windows 7 and 8 (which are still supported by Microsoft). It's really too early to think about dropping IE11 support imho.

    Back on topic - I think it makes sense to support last 3 versions of iOS. iOS 8 (combined) has less than 1% market share of iOS according to this: https://data.apteligent.com/ios/

  9. changed the title [-]Support only last n (3?) iOS versions in jQuery 4.0+[/-] [+]Support only last 3 iOS versions and Android Browser >=4.1 in jQuery 4.0+[/+] on Feb 12, 2018
  10. mgol commented on Mar 23, 2018

    @mgol
    MemberAuthor

    It turns out BrowserStack is in the process of removing emulators for mobile devices in favor of real ones. They seem to work really well which is why I was able to add Android 8.0 to our main run instead of the periodic one.

    Unfortunately, this planned removal of emulators means all Android Browser instances will disappear (as Android <4.4 is only available via emulators). This will happen in the next 3 months so we even need to figure out how to handle this in 3.x where we still support those browsers.

    Sauce Labs has already removed Android Browser some time ago. In light of all this I think we definitely should drop all Android <4.4 in jQuery 4.0. Marking as Needs review for a discussion.

  11. mgol commented on Mar 23, 2018

    @mgol
    MemberAuthor

    FWIW, Androids older than 4.4 currently have 5.7% of market share of all Android devices according to https://developer.android.com/about/dashboards/index.html.

  12. 8 remaining items

  13. added a commit that references this issue on Apr 10, 2019
    ba2c346
  14. added 5 commits that reference this issue on Apr 10, 2019
    108d0a0
    496b142
    2fc644c
    3f6f9ea
    40567ca
  15. self-assigned this
    on Apr 15, 2019
  16. added 3 commits that reference this issue on Apr 17, 2019
    d28163c
    6cc67b6
    896ef67
  17. added a commit that references this issue on Apr 29, 2019
    cf84696
  18. locked as resolved and limited conversation to collaborators on Oct 26, 2019
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

Type

No type

Projects

No projects

    Milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions