November 15th, 2013
The latest betas of jQuery 1.11 and 2.0 have arrived! You can get them here:
Don’t forget that jQuery 1.x supports IE 6/7/8 and jQuery 2.x does not.
What’s in the beta
Asynchronous Module Definition (AMD): The biggest change in 1.11/2.1 continues to be AMD. jQuery has supported having the library itself loaded by an AMD loader ever since version 1.7. Now, we’re using AMD internally as well, replacing our old modular build system. If you want to know more, read the README file.
Published on npm: The 2.x branch of this beta and all our future 2.x releases will be published on npm so that you can use it with node or packages like browserify. Note that the main jquery page is currently not up to date, and won’t be until we push the final 2.1.0 to it. If you want to install the beta, you can use
npm install firstname.lastname@example.org. Many thanks to Domenic Denicola who has already reported bugs #14548 and #14549 that will be fixed in the next go-round.
Performance: Our new “lazy feature detects” reduce the startup time for the library, which is especially good for mobile devices. If you never call the API, you never even need to run that code! We also found and removed some situations where jQuery unnecessarily forced a page layout to occur.
Bug fixes: Lots and lots of bug fixes are in this release, including several to ensure the latest versions of browsers like IE11 work smoothly and eliminate console warnings in Chrome. Many fixes are shared across both versions. You can see the complete changelog below.
Please do give these betas a try and let us know whether everything is working as you’d like. It’s always frustrating to us when we make a new production release and people find bugs that could have been fixed during the beta process. It only takes a few minutes to smoke-test your code against these betas, and it will save both you and us a lot of future heartache!
Sad sourcemap story
One of the changes we’ve made in this beta is to remove the sourcemap comment. Sourcemaps have proven to be a very problematic and puzzling thing to developers, generating scores of confused questions on forums like StackOverflow and causing users to think jQuery itself was broken.
We’ll still be generating and distributing sourcemaps, but you will need to add the appropriate sourcemap comment at the end of the minified file if the browser does not support manually associating map files (currently, none do). If you generate your own jQuery file using the custom build process, the sourcemap comment will be present in the minified file and the map is generated; you can either leave it in and use sourcemaps or edit it out and ignore the map file entirely.
We will be encouraging browser makers to come up with better ways to handle sourcemaps for situations like jQuery’s, where there are widely distributed files on CDNs. We’d like sourcemaps to be robust and gracefully handle situations like file renaming or missing files. See our bug ticket for more information.
Let’s give thanks
As Thanksgiving Day approaches, let’s give a hand to the great people who have contributed to jQuery core code since the last release: Amey Sakhadeo, Anthony Ryan, Chris Antaki, Chris Price, Corey Frang, Daniel Herman, Dominik D. Geyer, George Kats, Guy Bedford, Ilya Kantor, Jeremy Dunck, Jörn Zaefferer, Lihan Li, Marian Sollmann, Michał Gołębiowski, Mike Sidorov, Noah Hamann, Oleg Gaidarenko, Richard Gibson, Ronny Springer, Scott González, Sindre Sorhus, Terry Jones, Timmy Willison, and Timo Tijhof.
jQuery 1.11 and 2.1 Beta 2 Changelog (common to both)
- #14036: ajaxLocation Includes HTTP Basic Authentication Info
- #14356: Remove string indexing used in AJAX
- #14379: Issue with xhr.js
- #12757: Enforce style guide via build process
- #13983: Switch to //# for sourcemap directives
- #14113: AMD-ify jQuery source
- #14118: Use bower to include Sizzle and QUnit (remove submodules)
- #14163: Make Deferreds/Callbacks/.ready() optional modules
- #14415: Remove sourcemap comment
- #14450: Remove CommonJS+AMD syntax from source
- #14164: Reduce forced layout reflows in init or methods
- #14492: parseJSON incorrectly accepts comma expressions
- #14150: IE9-10 curCSS => “Interface not supported” in for popups (and probably frames)
- #14394: style=”x: y !important;” doesn’t get changed when calling el.css(x, z) in Chrome and Safari but it works in Firefox
- #14101: JQUERY 1.10′S .DATA() RESULT DIFFERS FROM 1.8 WHEN ATTEMPTING TO GET DATA FROM A NON-EXISTENT OBJECT.
- #14459: data-* attribute parsing bypasses jQuery.parseJSON (inconsistent with 1.x)
- #13993: .triggerHandler doesn’t return value from handler for DOM0 events
- #14180: focusin/out special events don’t work cross-window
- #14282: Don’t call getPreventDefault() if there is a defaultPrevented property
- #14142: Wrong number of elements returned in XML document with numeric IDs in Safari
- #14351: Exception thrown when running `find` in a non-attached DOM node
- #14535: Selection fails in IE11 when the last context is a no-longer-present iframe document
- #10814: make support as lazy as possible with closure in mind
- #14084: elem.css(‘width’) provides incorrect output with `box-sizing: border-box` if run before document ready
- #14401: Error when loading a page with application/xhtml+xml
- #14496: jQuery 2.1.0-beta1 fails to initialize in a XHTML page
jQuery 1.11 Beta 2
- #14074: jQuery 1 throws an error on window ready when there is an element in the DOM with the id ‘nodeName’
jQuery 2.1 Beta 2
- #13768: Error trying to load jQuery from node.js
- #14340: Remove oldIE code from support tests on master