Volunteers Wanted: Trac Enhancements

Posted on by

The jQuery and jQuery UI teams use Trac to do their bug reporting and tracking. The jQuery Core bug tracker could really use a Trac expert to migrate us to Trac 1.0 and fix a few nagging issues we’ve been having. If you’re an expert Trac-meister, or just someone with good Trac setup/configuration experience who’s up to the challenge, we’d love to talk with you! Send a message to dave(at)jquery.com and we’ll be in touch.

Since some of you will inevitably ask: GitHub’s integration between issues and commits is wonderful, but it’s not anywhere near as powerful as Trac when it comes to searching and reporting. In addition, our projects have more than seven years of history comprising thousands of bug reports with important data in them. That’s a non-trivial amount of data to import into GitHub issues and groom to be useful once it’s imported. We feel that staying with Trac is the lowest-effort way for us to give us the bug tracking abilities we need.

Don’t Use jquery-latest.js

Posted on by

Earlier this week the jQuery CDN had an issue that made the jquery-latest.js and jquery-latest.min.js files unavailable for a few hours in some geographical areas. (This wasn’t a problem with the CDN itself, but with the repository that provides files for the CDN.) While we always hope to have 100% uptime, this particular outage emphasized the number of production sites following the antipattern of using this file. So let’s be clear: Don’t use jquery-latest.js on a production site.

We know that jquery-latest.js is abused because of the CDN statistics showing it’s the most popular file. That wouldn’t be the case if it was only being used by developers to make a local copy. The jquery-latest.js and jquery-latest.min.js files were meant to provide a simple way to download the latest released version of jQuery core. Instead, some developers include this version directly in their production sites, exposing users to the risk of a broken site each time a new version of jQuery is released. The team tries to minimize those risks, of course, but the jQuery ecosystem is so large that we can’t possibly check it all before making a new release.

To mitigate the risk of “breaking the web”, the jQuery team decided back in 2013 that jquery-latest.js could not be upgraded to the 2.0 branch even though that is technically the latest version. There would just be too many sites that would mysteriously stop working with older versions of Internet Explorer, and many of those sites may not be maintained today.

As jQuery adoption has continued to grow, even that safeguard seems insufficient to protect against careless use of http://code.jquery.com/jquery-latest.js. So we have decided to stop updating this file, as well as the minified copy, keeping both files at version 1.11.1 forever. The latest released version is always available through either the jQuery core download page or the CDN home page. Developers can download the latest version from one of those pages or reference it in a script tag directly from the jQuery CDN by version number.

The Google CDN team has joined us in this effort to prevent inadvertent web breakage and no longer updates the file at http://ajax.googleapis.com/ajax/libs/jquery/1/jquery.js. That file will stay locked at version 1.11.1 as well. However, note that this file currently has a very short cache time, which means you’re losing the performance benefit of of a long cache time that the CDN provides when you request a full version like 1.11.1 instead.

So please spread the word! If you see a site directly using the jQuery CDN’s jquery-latest.js or the Google CDN equivalent in their script tags, let them know they should change to a specific version. If you need the latest version, get it from the download page or our CDN page. For both the jQuery and Google CDNs, always provide a full version number when referencing files in a <script> tag. Thanks!

jQuery 1.11.1 and 2.1.1 Released

Posted on by

Ah, the air is sweet with the scent of spring and new jQuery 1.11.1 and 2.1.1 are in bloom. These are minor patch releases and shouldn’t pose any major compatibility issues. Throw a Cinco de Mayo party and have your friends come over to test. If you dig up a problem, let us know at bugs.jquery.com, and be sure to provide a simple test case using jsfiddle.net or jsbin.com to demonstrate the problem.

You can include these files directly from the jQuery CDN if you like, or copy them to your own local server. The 1.x branch includes support for IE 6/7/8 and the 2.x branch does not.

http://code.jquery.com/jquery-1.11.1.js
http://code.jquery.com/jquery-2.1.1.js

The Google and Microsoft CDNs will be getting their copies today just like you did, so please give them a few days to post the files and don’t be impatient. If you’re anxious to get a quick start, just use the files on our CDN until they have a chance to post.

Minified files (for production use) and map files (for debugging) are also available. If you want to use the map file for debugging the minified code, copy the minified file and add a //# sourceMappingURL comment to the end of the file.
http://code.jquery.com/jquery-1.11.1.min.js
http://code.jquery.com/jquery-1.11.1.min.map
http://code.jquery.com/jquery-2.1.1.min.js
http://code.jquery.com/jquery-2.1.1.min.map

Many thanks to all of you who participated in this release by testing, reporting bugs, or submitting patches, including Benjy Cui, Christian Kosmowski, Jason Frank, Julian Aubourg, Jens Simon, John Hoven, John Madhavan-Reese, Jonathan Sampson, Jörn Zaefferer, Leo Balter, Louis-Rémi Babé, Michał Gołębiowski, Oleg Gaidarenko, Philip Jägenstedt, R.G. Otten, Rhys Evans, Richard Gibson, Rick Waldron, Rob Graeber, Rodrigo Rosas, Roman Reiß, S. Andrew Sheppard, Scott González, and Timmy Willison.

Here are the changes since the last official releases (1.11.0 and 2.1.0):

Common to jQuery 1.11.1 and 2.1.1

Ajax

Attributes

Build

Core

Css

Data

Dimensions

Effects

Event

Misc

jQuery 2.1.1

Ajax

Attributes

Core

Css

Event

Manipulation

Selector

Support

jQuery 1.11.1

Css

jQuery 1.11.1 RC2 and 2.1.1 RC2 Released

Posted on by

Spring has sprung, and these release candidates for jQuery 1.11.1 and 2.1.1 are in full bloom. You know what that means? It’s time to get serious about testing! We really want our next release to be solid and reliable, and to do that we need your help. Please try out these files in your projects and pages, just a quick test would be appreciated. If you unearth any problems, let us know at bugs.jquery.com.

The beta files are located on the jQuery CDN, you can include them directly from the CDN if you like (but don’t use them in production!). As always, the 1.x branch includes support for IE 6/7/8 and the 2.x branch does not:

http://code.jquery.com/jquery-1.11.1-rc2.js
http://code.jquery.com/jquery-2.1.1-rc2.js

Here are the bugs fixed since the last official release (1.11.0 and 2.1.0):

Common to jQuery 1.11.1 RC2 and 2.1.1 RC2

Ajax

Attributes

Build

Core

Css

Dimensions

Event

Misc

jQuery 1.11.1 RC2

Css

jQuery 2.1.1 RC2

Ajax

Attributes

Core

Css

Event

Manipulation

Selector

Browser Support in jQuery 1.12 and Beyond

Posted on by

With Microsoft ending Windows XP support this month, we’re giving the jQuery community some long-lead-time notice on changes to browser support.

First of all, don’t panic! Nothing is really changing with respect to the browsers that can run jQuery for at least six more months. Our goal is to let everyone in the web development community know what the jQuery team intends to do over the next year, so that you can plan accordingly.

What’s Changing?

There are no firm dates, but we plan on releasing jQuery core versions 1.12 and 2.2 this year. jQuery 1.13/2.3 will be released some time in 2015.

jQuery 1.12: This will be the last release to support Internet Explorer 6 and 7. As of today, no feature requests or bug fixes will be landed for them. Only serious regressions for these browsers will be fixed in patch releases (e.g., 1.12.1). jQuery 1.13 will support IE8 as its minimum browser.

Both jQuery 1.12 and 2.2: These will be the last releases to support Opera 12.1x and Safari 5.1. As of today, no feature requests or bug fixes will be landed for them. Only serious regressions for these browsers will be fixed in patch releases (e.g., 1.12.1 or 2.2.1).

Both jQuery 1.13 and 2.3: We will remove patches and workarounds that are specific to API conformance for the browsers we no longer support, in order to simplify the code base.

What you need to do: If your projects use a package manager that pulls in the latest release of jQuery, keep in mind that the 1.12-to-1.13 or 2.2-to-2.3 upgrade will reduce browser coverage. You may want to stay on 1.12 or lower if support for older browsers is required. See the instructions of your package manager for details on how to do that.

The Meaning of “Support”

Defining what “support” means is trickier than you might think. Under the premise that “untested code is broken code,” the jQuery core team prefers to say we fully support a browser if the project regularly runs unit tests against that browser. The unit tests ensure that every API returns a consistent set of results in all browsers.

Even when we support a browser, there can be bugs we can’t reasonably fix. For example, Internet Explorer 6 through 11 fire focus and blur events asynchronously and the code required to make them appear synchronous would be significant. Safari on iOS doesn’t support the onbeforeunload event which is pretty much impossible to shim. Until last month, Firefox didn’t respect overflow: hidden on a fieldset element. We try to work with browser vendors to get these bugs fixed.

On browsers that we don’t officially support, we still work hard to eliminate “killer bugs” such as script errors during initialization that make the page totally unusable. If you want to see the lengths to which we go to deal with obscure problems, look at this browser-crashing Android 2.3 bug on Japanese phones which was extremely intermittent and hard to diagnose. With the help of several users we were able to track down and work around the problem.

It comes down to this: We can only ensure high-quality continuing support for the browsers and environments we constantly unit-test. However, we will try to provide some reasonable level of support to browsers in any popular environment. The highest priority will be on ensuring the browser doesn’t throw errors. Low priority will be put on ensuring that old or rare browsers produce the exact same API results as modern browsers.

Who Uses Old Browsers Now?

When looking at browser stats, don’t look at where they are today. Think about where they will be in 2015. All told, we think all these browsers will be in the small single digits of market share by then. If numbers from StatCounter can be believed, these browsers are already there and will be even less prevalent when jQuery finally drops support.

Ultimately these whole-Internet stats don’t matter though. What really matters is whether the visitors to your site or users of your web application are running a particular browser. That is something that only you can answer. The decision to upgrade to a new jQuery version is always in your hands as a developer.

The Myth of Browser Consistency

Today and long into the future, jQuery will still contain dozens of browser-specific fixes to normalize behavior. At this point, the most problematic and troublesome browser for jQuery 2.x is the one in Android 2.3. That version is still a significant 20 percent of the Android installed base, and still being shipped in new mobile products. Several JavaScript features like element.classList are not supported there, and it’s one of the last browsers to still require -webkit-prefixing for standardized CSS properties.

jQuery projects are all about making your development life easier, so we’ll continue to support the fixes that are needed to smooth out inconsistencies on popular browsers. As the market share of specific browsers dwindles to zero, we’ll take the opportunity to remove their patches and de-support them in order to streamline our code bases. That makes all jQuery pages a little bit faster.

jQuery 1.11.1 Beta 1 and 2.1.1 Beta 1 Released

Posted on by

It’s been a couple of months since our last releases escaped the grip of endless winter, so we thought it would be good to thaw out a beta that collects up the bugs that have been reported and fixed recently. Most of these bugs are mild as severity and frequency go, but that’s easier to say if you’re not impacted!

As with all our beta releases, we make them available so you can test against them and let us know if they fix the bugs without introducing new bugs, surprising behaviors, or regressions. Please help us out by dropping these files into your projects and pages for a quick spin. If you discover any undesirable changes, let us know at bugs.jquery.com.

The beta files are located on the jQuery CDN, you can include them directly from the CDN if you like (but don’t use them in production!). As always, the 1.x branch includes support for IE 6/7/8 and the 2.x branch does not:

http://code.jquery.com/jquery-1.11.1-beta1.js
http://code.jquery.com/jquery-2.1.1-beta1.js

Here are the bugs addressed by these releases:

Common to 1.11.1/2.1.1 Beta 1

Ajax

Attributes

Build

Core

Css

Event

Unfiled

jQuery 1.11.1 Beta 1

Css

jQuery 2.1.1 Beta 1

Ajax

Attributes

Core

Css

Event

Manipulation

Selector

Support

jQuery 1.11 and 2.1 Released

Posted on by

Here in the eastern part of the United States, we’re huddling in subzero temperatures and dealing with the aftermath of a snowstorm. Still, there’s nothing to brighten our moods like the pristine beauty of a freshly fallen release–no, make that TWO releases. jQuery 1.11.0 and 2.1.0 are ready to keep you warm on these dark winter nights.

You can get the files off our CDN as always, and either use them directly or download them to your own server. Our download page has all the files and information you need, including pointers to the other CDNs that carry the files. Just give those folks a few days to update!

For those of you not following along for a while, both the 1.x and 2.x branches of jQuery support all recent modern browsers and have the same API. The 1.x branch, this time 1.11.0, adds support for the older versions of Internet Explorer (IE6, 7, and 8). The 2.x branch, today played by 2.1.0, adds support for non-traditional web environments like node.js and browser plugins for Chrome and Firefox.

jQuery went through a major house-cleaning with the 1.9 release that removed some features. If you haven’t yet moved from an earlier version, see the jQuery 1.9 Upgrade Guide and let the jQuery Migrate plugin do all the heavy lifting for you.

What’s New?

You may be wondering what great new things await you in these releases. Perhaps you’re fearing that they hold a bunch of breaking changes. You just know the project lead will suggest updating things right now. There goes your whole damn week and that trip to Florida. Well fear not! We’ve fixed quite a few bugs, but the other features and changes are mainly organizational ones that don’t affect the behavior of APIs. Your code shouldn’t break, it should just run a little faster. Here are the highlights:

Fewer forced layouts: In this release we declared war on places where we might inadvertently force the browser to do a time-consuming layout. We found a few and eliminated one in particular that could occur when changing class names. This can result in a big performance boost for some pages.

Granular custom builds: Our modularity is now defined by AMD, and it is easier to build small subsets of the library when space is at a premium. If you want to know more, we’ve hidden the details in the README file where nobody ever looks.

Lower startup overhead: The new modularity and avoidance of forced layouts led us to refactor our feature detects so that they run the first time they’re needed. If you never call the API needing that feature detect, you never run that code. Previously we ran all feature detects when the page loaded, that led to delays that were generally small, but added up–especially on mobile platforms.

Published on npm: Our releases will now be published on npm so that you can use them with node or browserify. Both the 1.x and 2.x branches are available on npm, but remember that only the 2.x branch is supported to run in node.

Published on Bower: We’re now using Bower for our internal dependency management including Sizzle, so you’ll see jQuery releases on Bower as soon as they’re available.

Some people have asked about supporting other package managers inside the jQuery library, but we’ve decided to only support the two that we use internally at the moment. There are more than a dozen package/dependency managers, it would be handy if they all could agree on a single format for projects to publish information. We don’t want the package manager’s overhead to be pushed off to individual projects like jQuery.

Although the glamor always seems to be in the new stuff, we don’t like to ignore the bugs and inconveniences that people have run across while using the last version. We worked hard to knock down our bug list and tackled quite a few of them. We even fixed a bug that only occurs in IE6, better late than never!

Sourcemap changes

This release does not contain the sourcemap comment in the minified file. Sourcemaps have proven to be a very problematic and puzzling thing to developers, spawning hundreds of confused developers on forums like StackOverflow and causing some 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 hope to bring back and improve sourcemap support in the future, but at the moment neither the design nor the implementation seem suited for situations like jQuery’s, where there are widely distributed files on CDNs. We’d like sourcemaps (and browsers supporting them) to gracefully handle situations like file renaming or missing files. See our bug ticket for more information.

Acknowledgements

This release would not have happened without the hard work of many people. Thanks to everyone who reported bugs, tried out the prerelease files, or provided constructive criticism. Particular thanks are due to Alex Robbin, Amey Sakhadeo, Anthony Ryan, Aurelio DeRosa, Chris Antaki, Chris Price, Christopher Jones, Corey Frang, Daniel Herman, Domenic Denicola, Dominik D. Geyer, Forbes Lindesay, George Kats, Guy Bedford, Ilya Kantor, Jakob Stoeck, Jeremy Dunck, John Paul, Julian Aubourg, Jörn Zaefferer, Lihan Li, Marian Sollmann, Markus Staab, Marlon Landaverde, Michał Gołębiowski, Mike Sidorov, Oleg Gaidarenko, Richard Gibson, Rick Waldron, Ronny Springer, Scott González, Sindre Sorhus, T.J. Crowder, Terry Jones, Timmy Willison, and Timo Tijhof. Colin Snover’s commentary in #jquery-dev is also a source of rare humor for the team.

Changelog

jQuery 1.11 and 2.1 (common to both)

Ajax

Attributes

Build

Core

Css

Data

Effects

Event

Manipulation

Misc

Selector

Support

jQuery 1.11

Ajax

Attributes

Build

Core

Effects

Support

jQuery 2.1

Ajax

Build

Core

Event

jQuery 1.11.0/2.1.0 Beta 3 Released

Posted on by

Put down the egg nog and get ready to test. The latest (and most likely last) betas of jQuery 1.11 and 2.1 are now submitted for your inspection and approval. You can get them here:

We know you’ve got a few days off over the holidays, so give us a big present and help us test! Don’t forget that jQuery 1.x supports IE 6/7/8 and jQuery 2.x does not. In other ways the two versions should echo the same feature sets, so it should be possible to switch between the two without too much trouble.

Notable changes

Asynchronous Module Definition (AMD): jQuery components are now built 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. If you want to know more, see 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. If you want to install the beta, you can use npm install jquery@2.1.0-beta3.

Still to come: No global for the npm version: After polling potential npm/browserify users, we have decided to keep the global namespace clean and not to expose the jQuery global in these situations. Instead, you can do it yourself with window.jQuery = window.$ = require("jquery"). That ticket didn’t make it into the beta, but you should assume you’ll need to set it yourself.

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.

Breaking changes: None! We’re committed to making this an easy update for you if you already did an upgrade to 1.9+ or are using the jQuery Migrate plugin. So don’t be a chicken, test this beta!

Release Notes

Twas the week before Christmas, when all through the house
Not a creature was stirring, not even a mouse.
The code was checked by the team with such care,
In hopes that a new beta soon would be there.

Contributors nestled all snug in their beds,
While visions of working code danced in their heads.
The pull requests landed, commits all now pushed,
GitHub issues closed, the whole team is bushed.

When on the CDN there arose such a clatter,
I sprang from the bed to see what was the matter.
Away to the laptop I flew like a flash,
Popped open a window and started up bash.

My wondering eyes barely processed the data,
It’s release 3 of jQuery 1.11 and 2.1 beta!

And then, on the roof, I heard at the ready,
The loading of code that was solid and steady.
As I drew in my head, and was turning around,
Down the chimney St. jQuery came with a bound.

“I’m needing your help,” St. jQuery exclaimed,
“If we ship code with bugs I know I’ll be flamed!”
“Just run this beta with your best sites and apps,
so we know if our changes avoided the traps.”

More rapid than eagles contributors came,
He whistled, and shouted, and thanked them by name!
“Now Timmy! now, Richard! now Micha&#322 and John!
On Oleg! On Chris! On Jakob and Hong!
To the top of the list, your reward won’t be small!
Now cache away! Cache away! Cache away all!”

He sprang to his sleigh, to his team gave a whistle,
And away they all flew like the down of a thistle.
But I heard him exclaim, as he drove out of sight,
“Happy beta to all, and to all a good-night!”

Changelog

Common to both jQuery 1.11 Beta 3 and jQuery 2.1 Beta 3

Ajax

Attributes

Build

Core

Css

Data

Effects

Event

Selector

Support

jQuery 1.11 Beta 3

Ajax

Core

Effects

Support

jQuery 2.1 Beta 3

Ajax

Build

Core

Event

Unfiled

jQuery 1.11.0/2.1.0 Beta 2 Released

Posted on by

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 jquery@2.1.0-beta2. 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.

Breaking changes: None! We’re committed to making this an easy update for you if you already did an upgrade to 1.9+ or are using the jQuery Migrate plugin.

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)

Ajax

Attributes

Build

Core

Css

Data

Effects

Event

Selector

Support

jQuery 1.11 Beta 2

Ajax

Core

Effects

Support

jQuery 2.1 Beta 2

Ajax

Build

Core

Event

jQuery 1.11 and 2.1 Beta 1 Released

Posted on by

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)

Ajax

Attributes

Build

Core

Css

Effects

Event

Selector

Support

jQuery 2.1

Build

Core

jQuery 1.11

Effects