jQuery Community Updates For November 2010

Posted on by

Welcome to the November jQuery Community Update.

We hope you enjoyed yesterday’s special spotlight on the jQuery Bug Triage team. In this month’s community update we’ll be looking at updates from the jQuery team, important announcements and a new spotlight section where we highlight some of the jQuery articles that we think you’d find useful. Let’s dive right in!

jQuery won the Packt Publishing award for best Open Source JavaScript Library

We are pleased to announce that this month jQuery won the Open Source JavaScript Libraries category in the 2010 Open Source Awards. On behalf of the entire jQuery Team we would like to express our thanks to the community of designers and developers that use jQuery daily and felt the urge to vote for jQuery as their favorite JavaScript library.

We would also like to thank Packt Publishing for the award itself. We’ll be using this prize to further the development of the jQuery Project.

[Read More]

Adobe Embraces jQuery


You may have heard that jQuery creator John Resig was at Adobe MAX last month to help announce that Adobe is embracing jQuery in a few of its applications. One of the exciting developments that were announced included jQuery Mobile support from inside Dreamweaver and also that Adobe would be using jQuery as the basis of for the animations generated using their Edge tool.

[Read More]

New jQuery UI and Mobile Releases For November

In case you missed it, jQuery UI 1.8.6 was released earlier this month. Along with official support for jQuery 1.4.3, this update included bug fixes and enhancements for jQuery UI Core, the Widget Factory, the Mouse widget and the Position utility as well as the Accordion, Autocomplete, Button, Datepicker, Dialog, Progressbar, and Tabs widgets and you should definitely check it out. For more about this release check out the following link:

http://blog.jqueryui.com/2010/11/jquery-ui-1-8-6/

Our third milestone release for jQuery UI 1.9 is also now out. This features the new Spinner widget (currently in active development) and also includes significant updates to the Tooltip and Menu widgets. Milestone releases make it easier for developers to try out new widgets before they’ve been finalized so that we can get your feedback on them earlier on in the development lifecycle. To read more on this see:

http://blog.jqueryui.com/2010/11/jquery-ui-1-9-milestone-3-spinner/

As part of a major overhaul of the jQuery UI API, we’d also like to invite the community to provide feedback on the first set of proposed changes to jQuery UI’s API starting with the Accordion. Scott Gonzalez has a complete break-down of these changes available here:

http://blog.jqueryui.com/2010/11/accordion-api-redesign/

You may also be interested to hear that we released a second alpha release of the jQuery Mobile project this month. This release included a number of bug fixes and enhancements to the original jQuery Mobile Alpha 1 release. Read more about this new release below:

http://jquerymobile.com/2010/11/jquery-mobile-alpha-2-released/

jQuery 1.4.4 Now On The Google CDN

If you prefer linking to jQuery on Google’s CDN you’ll be pleased to know that jQuery 1.4.4 can now also be accessed on their servers. If you would like to link to this you can either use:

https://ajax.googleapis.com/ajax/libs/jquery/1.4.4/jquery.min.js [Minified]

https://ajax.googleapis.com/ajax/libs/jquery/1.4.4/jquery.js [Unminified]

Upcoming  jQuery Training Events


Group training is a great way to improve your jQuery skills and Ben Alman over at Bocoup would like to make an announcement about upcoming events they’ll be holding soon:

“Bocoup is once again offering our 3-Day Comprehensive jQuery Training. Sessions will be held at The Bocoup Loft in Boston, and 10% of profits will go directly to the jQuery Foundation. We’ve just posted dates for Q1 2011, so be sure to sign up now since class sizes are limited.”

Wednesday – Friday, January 5th – 7th, 2011
http://training.bocoup.com/comprehensive-jquery-training-2011-01-05/

Wednesday – Friday, March 2nd – 4th, 2011
http://training.bocoup.com/comprehensive-jquery-training-2011-03-02/

jQuery Podcast Episodes 38  & 39 With John Resig, Creator Of jQuery

We have two fantastic new episodes of the Official jQuery Podcast for you this month – episodes 38 and 39 feature jQuery creator John Resig and you can stream them online or download them via the links below:

Episode 38 – jQuery 1.4.3 http://podcast.jquery.com/2010/10/29/episode-38-jquery-1-4-3/

Episode 39 – jQuery Mobile http://podcast.jquery.com/2010/11/10/jquery-mobile/

Community Spotlight

CSS Hook Extensibility in jQuery 1.4.3+

cssHooks allow you to “hook” in to how jQuery gets and sets css properties. This means that you have the ability to create a cssHook to help normalize differences between browsers, or to add some missing functionality from the stock jQuery.fn.css(). David Petersen’s fantastic article on cssHooks caught our attention and we think it could come in useful in your projects.

[Read More]

VisualStudio VSdocs are now available for jQuery 1.4.3 & 1.4.4

Intellisense can be quite an important feature for Visual Studio 2010 developers and as VSdocs for jQuery 1.4.3, 1.4.4 and Mobile are quite commonly requested, we wanted to remind you that these can be downloaded at the following link, courtesy of appendTo().

Essential JavaScript & jQuery Design Patterns For Beginners

In this free online book you can learn about the advantages of using design patterns in your JavaScript and jQuery applications. Sample code is provided for both and as the book is written with beginners in mind, it’s easy to pick up some of the lessons it teaches.

[Read More]

And that’s it. We look forward to posting another update in a few weeks, but until then good luck with all your jQuery projects!.

Team Spotlight: The jQuery Bug Triage Team

Posted on by

Allow me to introduce the bug triage team with a chart:

Over the past 60 days, the bug triage team has taken an unwieldy hairy mess of tickets and addressed every single one of them.

Yes that’s right; as it stands, there are zero unreviewed tickets in the jQuery issue tracker. The last one to be closed was a rather malodorous bug.

The jQuery Bug Triage team are a group of jQuery core and community members who actively assist in narrowing down and patching bugs submitted on the jQuery bug tracker. Between them this team have a number of years worth of experience in debugging and fixing both JavaScript and jQuery issues. When you submit a bug, feature request or enhancement request to the project, they’re the team that looks at your tickets.

The team members are:

  • Dave Methvin is co-founder of PC Pitstop, jQuery user since 2005, and on the jQuery core team.
  • Addy Osmani is a London-based User-interface developer at Aol as well as a regular jQuery blogger.
  • Colin Snover is an independent software designer and developer based out of Minneapolis.
  • Rick Waldron is Head of Research and Development at Bocoup in Boston, MA
  • Alex Sexton is a Labs Engineer at Bazaarvoice in Austin TX, and a co-host of the yayQuery podcast.
  • Adam J Sontag is a NYC-based developer for Bocoup, and a co-host of the yayQuery podcast.
  • Mike Taylor works for Opera Software and sometimes gets hit by cars on his bike.
  • Dan Heberden is a web consultant based in Portland, Oregon and is on the jQuery UI team
  • Anton Matzneller is a computer science student and developer located in Vienna, Austria.

We all owe these guys a good amount of thanks. They’ve done a tremendous amount of work to benefit jQuery.

<== jQuery heroes

Now, some other news from the development front…

New (and undocumented) Features

jQuery.readyWait
Introduced in jQuery 1.4.3 was a counter called readyWait. This provides a way for control flow to get to a point where registered ready() handlers are invoked.

Event Map Support Extended
.live(), .die(), .delegate() and .undelegate() now support maps of events as a parameter in the same manner that bind and unbind currently do.

Overrides available for .getData(), .setData() and .changeData()
As mentioned in the jQuery 1.4.3 release notes we previously provided two events, setData and getData (broadcast whenever data is set or retrieved through the .data() method). In the latest versions of jQuery you are actually able to override these events in order to provide alternative behavior for those features. For example, you can return a different value or prevent a particular value being set.

Regressions

We determined that a regression was introduced in 1.4.3 which limited the use of attr() to nodeType 1 DOM element nodes. Although this was fixed in 1.4.4, attr(name) and attr(name, value) still fail in specific circumstances. We are targeting a fix for this to land in jQuery 1.4.5.

jQuery UI Bug Tracker Updated

The jQuery UI Bug tracker recently received the same enhancements as jQuery Core from Mr. Colin Snover and you can now find the same great voting and tracking options for submitting bugs, features and enhancement requests as you can on the jQuery Core tracker. This will make it significantly more easy for you to find out when we’ve taken a look at your ticket so you can follow-up in case there are any additional questions or updates regarding fixes.

Tips For jQuery Bug Patching

jQuery has quite an active development community and from time to time our community members wish to patch bugs or issues they’ve discovered for submission to the project for review.

If this sounds like something you would like to get involved in, we’ve put together a commented build file (courtesy of Rick Waldron) that will help you get setup for patching bugs using a LAMP or MAMP stack. You can download this build file via a gist. If you have questions on how to get setup, please feel free to leave a comment on the gist above or ask us about it in the #jquery IRC channel.

(Thx to Addy Osmani, who drafted much of this post for me :)

jQuery 1.4.4 Released

Posted on by

jQuery 1.4.4 is now out! This is the fourth minor release on top of jQuery 1.4 and lands a number of fixes for bugs including some nice improvements over 1.4.3.

We would like to thank the following community members that provided patches, input and their time towards this release: Rick Waldron, Dan Heberden, Alex Sexton, Colin Snover.

Along with the following members of the jQuery core team: John Resig, Dave Methvin, Karl Swedberg, Paul Irish.

We also thank our bug triage team who assisted in narrowing down some of the important fixes needed for this release: Colin Snover, Rick Waldron, Addy Osmani, Alex Sexton, Adam Sontag, Dave Methvin, Mike Taylor, Aaron Boushley, Jitter and John Resig.

Downloading

As usual, we provide two copies of jQuery, one minified and one uncompressed (for debugging or reading).

You can feel free to include the above URLs directly into your site and you will get the full performance benefits of a quickly-loading jQuery.

Additionally you can also load the URLs directly from Microsoft and Google’s CDNs:

Microsoft CDN: http://ajax.microsoft.com/ajax/jQuery/jquery-1.4.4.min.js

Google CDN: https://ajax.googleapis.com/ajax/libs/jquery/1.4.4/jquery.min.js

General Improvements

We’ve made a number of improvements with this release, many of which have fixed bugs that were highlighted by the jQuery Community. For the complete list of changes, see the section below marked ‘Changes’ for more information.

New Features

All new features and changes can be found in the jQuery API documentation for 1.4.4.

.fadeToggle()

In an attempt to further unify the methodology across our API, we’ve introduced a new method to Effects called .fadeToggle(). We already have existing toggle methods in our API for sliding (.slideToggle()) and toggling classes (.toggleClass()) and it made sense for us to extend the availability of a built in toggle to fading effects as well. See the API documentation on .fadeToggle() for more information.

Changes

What’s Been Updated?

There are a few areas in jQuery that have seen changes since 1.4.3 was released:

  • (New) Added a new animation method, .fadeToggle()
  • (Enh) Calling .data() with no arguments now includes data from HTML5 data- attributes (#7222)
  • (Enh) Moved jQuery.props from support.js to attributes.js (#6897)
  • (Enh) .width() and .height() now report the width and height of hidden elements (#7225)
  • (Bug) stopImmediatePropagation was not being honoured in live/delegate event handlers (#7217)
  • (Bug) Fixed an issue where host and protocol were not compared case-insensitively when determining whether an AJAX request was local or remote (#6908)
  • (Bug) Fixed an issue where the “clone” variable was not being declared correctly (#7226)
  • (Bug) Fixed a bug where we only change the ID on nodes that don’t already have an ID for rooted qSA (#7212)
  • (Bug) Limited the scope of the CSS ‘auto’ change to just height/width (#7393)
  • (Bug) Fixed a bug to ensure that unquoted attribute selectors are quoted (allowing them to go into qSA/matchesSelector properly). Fixes (#7216)
  • (Bug) Fixed a bug to ensure that if additional load events are triggered (eg. an iframe being dynamically injected in DOM ready) the ready event isn’t triggered twice (#7352).
  • (Bug) Fixed a condition that prevents attr from working on non-Element nodes (#7451).
  • (Bug) Changing an HTML5 data attribute after calling .data(‘foo’) no longer causes .data(‘foo’) to also change (#7223)
  • (Bug) Fixed a bug where Opera didn’t give height/width of display: none elements with getComputedStyle but did with currentStyle – fall back to that if it exists added.
  • (Bug) Fixed a bug to ensure accessing computed CSS for elements returns ‘auto’ instead of ” consistently (#7337)

It also fixes a number of regressions in 1.4.3. One that caused:

  • (Bug) JSONP calls to fail when cleaning up after a callback (#7196)
  • (Bug) .removeData() to fail (#7209)
  • (Bug) “ready” events to fire twice when added using .bind(“ready”, foo) (#7247)
  • (Bug)  .css(‘width’) and .css(‘height’) to return 0 or negative values when trying to get the style of a hidden or disconnected element (#7225)
  • (Bug) the attribute not equals selector ([foo!=bar]) to not work in Firefox (#7243)
  • (Bug) find() to fail when selecting from forms containing inputs named “id” (#7212)
  • (Bug) .children(selector) to fail on XML documents (#7219)
  • (Bug) child (>), next sibling (+), and previous sibling (~) selectors to fail when combined with non-CSS pseudo-selectors like :last (#7220)
  • (Bug) an error “handler is null” to be raised when passing null as the event handler (#7229)
  • (Bug) it to be impossible to include a content-body with DELETE requests (#7285)
  • (Bug) it to be impossible to include data with HEAD requests (#7285)
  • (Bug) an issue where IE was firing click events on disabled elements when using live/delegate (#6911)
  • (Bug) .show() to fail if .hide() was first called on an already-hidden element (#7331)
  • (Bug) .show() to fail if an element was hidden in a stylesheet, then had .css(‘display’) manually set prior to calling .show() (#7315)


Backwards-incompatible changes in jQuery 1.4.4

The .width() and .height() methods no longer return 0 when inspecting an element hidden using ‘display: none’. To determine if an element is hidden, always use .is(‘:hidden’).

and that’s it!. jQuery 1.4.4 is now out so feel free to update your projects to use the latest version. We welcome any and all feedback from the community.

What Features Would You Like To See In jQuery 1.5?

Now that jQuery 1.4.4 is out, we’re starting the process of planning our next major release and we would like the community’s help in deciding what features we should include. The process for suggesting a feature is quite straight-forward; here’s what you need to do:

1. Think of a feature you would like included in jQuery 1.5
2. Create a new ticket for that feature in our [bug tracker] if one does not already exist
3. Send your nomination by filling out the [jQuery 1.5 feature nomination form]

Thats it! In a couple of weeks the jQuery team will be sitting down to review all nominations. The features that we think would benefit the majority of the community will be added to our roadmap.

We’re aiming to release jQuery 1.5 early next year and we appreciate any help you can provide in letting us know how we can improve it for you. We look forward to hearing your ideas and feature requests.

jQuery 1.4.4 Release Candidate 2 Released

Posted on by

We’re happy to announce that jQuery 1.4.4 Release Candidate 2 is now available! This is the second release candidate of jQuery 1.4.4 – a follow-up maintenance release to jQuery 1.4.3. The code is stable (passing all tests in all browsers we support), feature-complete (we’re no longer accepting new features for the release), and needs to be tested in live applications.

Grab the code:

How can I help?

To start, try dropping the above version of jQuery 1.4.4rc2 into a live application that you’re running. If you hit an exception or some weirdness occurs immediately login to the bug tracker and file a bug. Be sure to mention that you hit the bug in jQuery 1.4.4rc2!

We’ll be closely monitoring the bug reports that come in and will work hard to fix any inconsistencies between jQuery 1.4.3 and jQuery 1.4.4.

What’s Been Updated?

There are a few areas in jQuery that have seen changes since 1.4.3 was released:

  • (New) Added a new animation method, .fadeToggle()
  • (Enh) Calling .data() with no arguments now includes data from HTML5 data- attributes (#7222)
  • (Enh) Moved jQuery.props from support.js to attributes.js (#6897)
  • (Enh) .width() and .height() now report the width and height of hidden elements (#7225)
  • (Bug) stopImmediatePropagation was not being honoured in live/delegate event handlers (#7217)
  • (Bug) Fixed an issue where host and protocol were not compared case-insensitively when determining whether an AJAX request was local or remote (#6908)
  • (Bug) Fixed an issue where the “clone” variable was not being declared correctly (#7226)
  • (Bug) Fixed a bug where we only change the ID on nodes that don’t already have an ID for rooted qSA (#7212)
  • (Bug) Changing an HTML5 data attribute after calling .data(‘foo’) no longer causes .data(‘foo’) to also change (#7223)
  • (Bug) Fixed a bug where Opera didn’t give height/width of display: none elements with getComputedStyle but did with currentStyle – fall back to that if it exists added.
  • (Bug) Fixed a bug to ensure accessing computed CSS for elements returns ‘auto’ instead of ” consistently (#7337)

It also fixes a number of regressions in 1.4.3. One that caused:

  • (Bug) JSONP calls to fail when cleaning up after a callback (#7196)
  • (Bug) .removeData() to fail (#7209)
  • (Bug) “ready” events to fire twice when added using .bind(“ready”, foo) (#7247)
  • (Bug)  .css(‘width’) and .css(‘height’) to return 0 or negative values when trying to get the style of a hidden or disconnected element (#7225)
  • (Bug) the attribute not equals selector ([foo!=bar]) to not work in Firefox (#7243)
  • (Bug) find() to fail when selecting from forms containing inputs named “id” (#7212)
  • (Bug) .children(selector) to fail on XML documents (#7219)
  • (Bug) child (>), next sibling (+), and previous sibling (~) selectors to fail when combined with non-CSS pseudo-selectors like :last (#7220)
  • (Bug) an error “handler is null” to be raised when passing null as the event handler (#7229)
  • (Bug) it to be impossible to include a content-body with DELETE requests (#7285)
  • (Bug) it to be impossible to include data with HEAD requests (#7285)
  • (Bug) an issue where IE was firing click events on disabled elements when using live/delegate (#6911)
  • (Bug) .show() to fail if .hide() was first called on an already-hidden element (#7331)
  • (Bug) .show() to fail if an element was hidden in a stylesheet, then had .css(‘display’) manually set prior to calling .show() (#7315)
  • (Bug) Sizzle.contains to throw an error on browsers that have no support for compareDocumentPosition or documentElement.contains (#7236)

Full details concerning the release are forthcoming – for now we just need your help in catch regressions.

With your input we should be able to produce a solid release. Right now we’re looking to get the final 1.4.4 release out in about a week. Thanks for your help in reviewing jQuery 1.4.4rc2!

We would also like to remind you that the sixth maintenance release for jQuery UI 1.8 is also now out. For more information on this release, feel free to head over to the jQuery UI blog for more information.