September 20th, 2013
Ahoy Matey! Do you know what today is? It’s Talk Like a Pirate Day!
Before the jQuery team weighed anchor and ran for the grog, we left a treasure chest on the jQuery CDN filled with beta versions of jQuery 1.11 and 2.1. Here be the treasure map to the bounty:
Don’t forget that jQuery 1.x supports IE 6/7/8 and jQuery 2.x does not. Here are the highlights of what changed:
Asynchronous Module Definition (AMD): In this release we’re going full-mast with 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. Colin Snover started it with some fine cutlass work, then Timmy Willison made sure the whole library was drawn and quartered properly with AMD. He even mollycoddled you with a fine README file so you can be buildin’ yer own custom version. And because we’re pirates, we’re using aaaarrrrr.js to build it.
Performance: Michał Gołębiowski led the charge to reduce jQuery’s startup time by deferring much of the feature detection code so that it runs the first time you use an API call, rather than on page load. 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.
Bower support: We’re now using Bower for a lot of our internal dependency management, and plan to publish production versions of jQuery to Bower in the future.
Bug fixes: We keelhauled a few scurvy bugs since the last versions. There’s a list down the way if you want to be knowin’.
API changes: None! With all the internal code changes for AMD, we didn’t want to change a lot of APIs in this version. Your old scurvy code should work with no problems as long as you already did an upgrade to 1.9+ or are using the jQuery Migrate plugin.
Now we know some of you may not be takin’ the time to try this beta. We got a name for you: bilge rats. Don’t be comin’ to us after the release and complainin’ about bugs. Get on board and man the lines so we can get this code shipshape before the beta is over!
A tip of the pirate hat to the sea dogs and scallywags who got this release under way: Timmy Willison, Michał Gołębiowski, Oleg Gaidarenko, Richard Gibson, Amey Sakhadeo, Jörn Zaefferer, Chris Price, Daniel Herman, Guy Bedford, Jeremy Dunck, Mike Sidorov, and Terry Jones. And of course an aye-aye shout-out to the original jQuery pirate, Long John Resig!
jQuery 1.11 and 2.1 Changelog (common to both)
- #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
- #14351: Exception thrown when running `find` in a non-attached DOM node
- #14142: Wrong number of elements returned in XML document with numeric IDs in Safari
- #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