Join the jQuery Foundation!

Posted on by

This month, the jQuery Foundation is celebrating our first year serving the web. As a not-for-profit trade association, we’re here to connect every business and individual that cares about jQuery and help them work together to ensure its continued success. Writing code and documentation, hosting trainings and conferences, and collaborating in the standards process. This makes jQuery better and it makes web development better.

jQuery is more than just a JavaScript library, it is a community and an integral part of the web developer’s toolset today. The jQuery Foundation exists in part to ensure this community continues to grow and thrive. Throughout this first year, we’ve invited companies to join the jQuery Foundation in support of this mission, and 14 companies have joined at various levels. We appreciate their commitment to jQuery and their support of its mission to support the libraries, their documentation, and our web standards advocacy.

Individual Membership Program

You can now join the jQuery Foundation as an individual member. Just as with companies, we have created various levels based on contributions. The benefits include buttons, stickers, badges, banners, discounted conference tickets, discounts from member companies, invites to members-only parties at conferences, and recognition on our member listing. We’ve prepared a thank you gift for each level to provide an extra incentive for folks to make an annual dues commitment.

Join Now

Badge of Honor

We’ve prepared badges and banners for our members to sport on their website, or their choice of social network. Huge thanks to Isaac Durazo (@isaacdm) from Bocoup for drawing these up.

What if I Can’t Contribute On A Recurring Basis?

The individual membership program is designed for those who want to contribute a set amount of dues to jQuery regularly, as well as enjoy the benefits of that membership. If that’s not what you’re looking for, we always welcome one-time donations (from companies or individuals) via PayPal and check at

Moving Forward

The jQuery team, together with the support of member companies have achieved tremendous success in Year One. We have tripled the number of conferences, gathering with communities around the globe (Asia, Europe, Canada, and UK). We have redesigned (nearly) all our web sites and made contributing to them as easy as contributing to code. We continue to wrangle bug queues and deliver smaller, faster, better tested, and more robust code. We have 4 official representatives at the W3C and ECMA TC39. We’ve managed to do this all in our first year, and we’re very much looking forward to what we can accomplish in the future. Join us!

jQuery 2.0 Beta 2 Released

Posted on by

The next beta of jQuery 2.0 has arrived! This beta has several changes and tweaks based on the feedback we received from those of you who generously tested the first beta. We really need you to test this version as well and let us know what still needs to be done. We believe this version is very stable and ready for you to try; don’t wait until the final release and then find out your code doesn’t run with it.

Remember that jQuery 2.0 will not run on IE 6, 7, or 8; we’re saving that duty for jQuery 1.9. We fully expect that most Internet web sites may continue to use jQuery 1.x for quite a while, as long as older versions of IE still comprise a large proportion of web surfers. And so the jQuery team will also continue to support both the jQuery 1.x and 2.x lines. Don’t feel like you’re missing something or falling behind by using 1.9 on your web site, since the APIs for 1.9 and 2.0 are the same.

If you’d like to try jQuery 2.0 on web sites where you still need to support IE 6, 7, and 8, you can use conditional comments. All browsers except old IE will get the second script and ignore the first:

<!--[if lt IE 9]>
    <script src="jquery-1.9.1.js"></script>
<!--[if gte IE 9]><!-->
    <script src="jquery-2.0.0b2.js"></script>

There are lots of other environments where jQuery 2.0 should fit in very well. Here are a few suggestions:

  • Google Chrome plugins
  • Mozilla XUL apps and Firefox extensions
  • Firefox OS apps
  • Chrome OS apps
  • Windows 8 Store (“Modern/Metro UI”) apps
  • BlackBerry 10 WebWorks apps
  • PhoneGap/Cordova apps
  • Apple UIWebView class
  • Microsoft WebBrowser control
  • Cheerio or jsdom with node.js
  • Intranet applications

On the node.js front, the jQuery team now owns the “jquery” and “jQuery” names in npm and will soon be shipping 2.0 releases there.

You can get this latest beta from the jQuery CDN:

To run pre-1.9-era code with jQuery 2.0, you can also use the jQuery Migrate plugin to restore deprecated features from those older versions and/or diagnose compatibility issues. We strongly recommend that you do use Migrate for older code, it will save a lot of time and trouble in debugging.

What’s New

Lots of bug fixes: All the relevant fixes from jQuery 1.9.1 and 1.9.2pre have been incorporated into jQuery 2.0 beta 2. We sadly had to back out some optimizations that aren’t supported by older versions of WebKit such as Android 2.3, but most of those didn’t have a significant size impact. Still, we plan to bring them back as soon as we can! To help us out, anytime you see an old Android phone you can “accidentally” whack it with a hammer.

New .data() implementation: This new code is a complete rewrite by Rick Waldron. It’s smaller, simpler, and much more maintainable than the old code.

Increased modularity in custom builds: You can now exclude all the redundant event shorthands such as .mouseover(...) if you’re willing to use .on("mouseover"...) instead.

Minimal selector engine: Richard Gibson created a small wrapper around the browser’s native querySelectorAll and matchesSelector APIs that can be used as a replacement for the full-fledged Sizzle selector engine. Be aware, however, that there are major differences in the supported selectors and semantics. This minimal engine does not support jQuery selector extensions like :radio or :first for example.

Custom Builds

We’d love for you to try out the custom build system which is based on grunt. The README gives more detail on making a custom build. As of beta 2 you can replace Sizzle with a simple selector engine and exclude css, event aliases, animations, offset, and deprecated functionality such as .andSelf() that has not yet been removed. In addition you can exclude a subset of the script, JSONP, or XMLHTTPRequest transports. That’s right, reject any module in our jQuery reality and substitute your own.

Here is an example of what you can save with modular builds. Let’s say you don’t need the css, offset, dimensions, or deprecated modules and plan to do animations completely via CSS transitions and classes. In addition you only use JSONP via $.ajax(). You’ll use .on() for event management and keep your selectors simple so that the minimal selector engine can do the job. The build command to do that is:

grunt custom:-sizzle,-css,-event-alias,-effects,-offset,-dimensions,-deprecated,-ajax/xhr

The resulting file from that custom build is just 17,530 bytes when transferred by gzip, which is 40 percent smaller than the full 2.0 build at 29,387 bytes gzipped. For comparison, the current 1.9 branch is 32,770 bytes gzipped.

We still think that the vast majority of jQuery users are best served by the simplest option: Use the full version of jQuery, served from a CDN or your local server. Most jQuery plugins are not written in a way that would allow you to use a subset of jQuery core functionality — after all, they never anticipated any of it would be missing! But for situations where it’s worth the time to determine those dependencies, jQuery’s current level of modularity offers awesome flexibility.

Many thanks to the people who contributed fixes to this release: Adam Coulombe, Andrew Plummer, Danil Somsikov, Dmitry Gusev, Isaac Schlueter, James Burke, Jean Boussier, Julian Aubourg, Karl Sieburg, Mark Raddatz, Mike Sherov, Nguyen Phuc Lam, Oleg Gaidarenko, Pascal Borelli, Richard Gibson, Rick Waldron, Ryunosuke Sato, Timmy Willison, and Timo Tijhof. Special recognition to Scott Gonz├ílez for his minimalist work simply titled, “Whitespace“.