What is the difference between jQuery version 1, version 2, and version 3?

JavascriptJquery

Javascript Problem Overview


I recently stumbled upon a page webchart.js design using jQuery version 2, and I am using jQuery version 1.

For the code to work see to it to use now the latest version, then I checked jQuery core support and they have jQuery 3 released.

I am thinking of using version 3 now, but I am looking for if version 3 has compatibility issues, that it may only be used on specific devices.

Javascript Solutions


Solution 1 - Javascript

Major Versions

Version 1.0: First stable release.
Version 2.0: Dropped IE 6–8 support for performance improvements and reduction in filesize
Version 3.0: Promises/A+ support for Deferreds, $.ajax and $.when, .data() HTML5-compatible

All Versions

+----------------+--------------------+----------------------------+----------------+---------------------------------------------------------------------------------------+
| Version Number |    Release Date    |       Latest Update        | Size Prod (KB) |                                   Additional Notes                                    |
+----------------+--------------------+----------------------------+----------------+---------------------------------------------------------------------------------------+
| 1.0            | August 26, 2006    |                            |                | First stable release                                                                  |
| 1.1            | January 14, 2007   |                            |                |                                                                                       |
| 1.2            | September 10, 2007 | 1.2.6                      | 54             |                                                                                       |
| 1.3            | January 14, 2009   | 1.3.2                      | 55.9           | Sizzle Selector Engine introduced into core                                           |
| 1.4            | January 14, 2010   | 1.4.4                      | 76             |                                                                                       |
| 1.5            | January 31, 2011   | 1.5.2                      | 83             | Deferred callback management, ajax module rewrite                                     |
| 1.6            | May 3, 2011        | 1.6.4                      | 89             | Significant performance improvements to the attr() and val() functions                |
| 1.7            | November 3, 2011   | 1.7.2 (March 21, 2012)     | 92             | New Event APIs: .on() and .off(), while the old APIs are still supported.             |
| 1.8            | August 9, 2012     | 1.8.3 (November 13, 2012)  | 91.4           | Sizzle Selector Engine rewritten, improved animations and $(html, props) flexibility. |
| 1.9            | January 15, 2013   | 1.9.1 (February 4, 2013)   | 90             | Removal of deprecated interfaces and code cleanup                                     |
| 1.10           | May 24, 2013       | 1.10.2 (July 3, 2013)      | 91             | Incorporated bug fixes and differences reported from both the 1.9 and 2.0 beta cycles |
| 1.11           | January 24, 2014   | 1.11.3 (April 28, 2015)    | 95.9           |                                                                                       |
| 1.12           | January 8, 2016    | 1.12.4 (May 20, 2016)      | 95             |                                                                                       |
| 2.0            | April 18, 2013     | 2.0.3 (July 3, 2013)       | 81.1           | Dropped IE 6–8 support for performance improvements and reduction in filesize         |
| 2.1            | January 24, 2014   | 2.1.4 (April 28, 2015)     | 82.4           |                                                                                       |
| 2.2            | January 8, 2016    | 2.2.4 (May 20, 2016)       | 85.6           |                                                                                       |
| 3.0            | June 9, 2016       | 3.0.0 (June 9, 2016)       | 86.3           | Promises/A+ support for Deferreds, $.ajax and $.when, .data() HTML5-compatible        |
| 3.1            | July 7, 2016       | 3.1.1 (September 23, 2016) | 86.3           | jQuery.readyException added, ready handler errors are now not silenced                |
| 3.2            | March 16, 2017     | 3.2.1 (March 20, 2017)     | 84.6           | Hotfixes for regressions that were introduced in the 3.2.0                            |
| 3.3            | January 19, 2018   | 3.3.1 (January 20, 2018)   | 84.8           | Deprecation of old function calls, functions that accept classes now support them     |
|                |                    |                            |                | defined in an array                                                                   |
| 3.4            | April 10, 2019     | 3.4.1 (May 1, 2019)        | 86.1           | Performance improvements, nonce and nomodule support, fixes for radio elements, a     |
|                |                    |                            |                | minor security fix                                                                    |
| 3.5            | April 10, 2020     | 3.5.1 (May 4, 2020)        | 87.4           | Security fixes, .even() & .odd() methods, jQuery.trim deprecated                      |
| 3.6            | March 2, 2021      | 3.6.0 (March 2, 2021)      | 90.0           | Bug fixes, return JSON when there is a JSONP error                                    |
+----------------+--------------------+----------------------------+----------------+---------------------------------------------------------------------------------------+

Reference: https://en.wikipedia.org/wiki/JQuery#Release_history

Detailed Explanation on Major Versions

Version 1.0 was the first stable release of jQuery. This release supports older web browsers that aren't even supported by their respective developers any longer. If you expect a large amount of visitors with older web browsers, this would definitely be the version to go for.

Versions 2.0 dropped support for Internet Explorer 6-8 to increase jQuery's overall performance and reduce the library's filesize. In simple words: Version 2.0 is faster and smaller in filesize than version 1.0, but it no longer supports older web browsers. Since Microsoft dropped the support for Windows XP, it's reasonably safe to assume that your visitors will be using a browser compatibile with version 2.0 unless you know beforehand this won't be the case (see version 1.0).

With the release of version 3.0 both versions 1.11.1 and 2.1.1 will be upgraded to jQuery Compat 3.0 and jQuery 3.0. jQuery Compat 3.0 will still support older browsers like Internet Explorer 8 while the regular version 3.0 will only support evergreen browsers (the current and previous versions of a specific browser).

With the release of Version 3.0 there's no reason to stick to either version 1.0 or 2.0. A few notes from the official jQuery blog:

>

  • If you need support for the widest variety of browsers including IE8, > Opera 12, Safari 5, and the like, use the jQuery-Compat 3.0.0 package. > We recommend this version for most web sites, since it provides the > best compatibility for all website visitors.
  • > >
  • If your web site is built only for evergreen leading-edge browsers, or > is an HTML-based app contained in a webview (for example PhoneGap or > Cordova) where you know which browser engines are in use, go for the > jQuery 3.0.0 package.
  • > >
  • Until we announce otherwise, both packages will contain the same > public APIs in correspondingly-numbered major and minor versions. This > should make it easy for developers to switch between the two and be > maximally compatible with third-party jQuery plugins.

Reference: https://blog.jquery.com/2014/10/29/jquery-3-0-the-next-generations/

Attributions

All content for this solution is sourced from the original question on Stackoverflow.

The content on this page is licensed under the Attribution-ShareAlike 4.0 International (CC BY-SA 4.0) license.

Content TypeOriginal AuthorOriginal Content on Stackoverflow
Questionzero8View Question on Stackoverflow
Solution 1 - JavascripticecubView Answer on Stackoverflow