We are very happy to announce jQuery Conference 2012: UK, the first jQuery conference in the UK, on 10th February 2012. The conference will be held at the Saïd Business School in Oxford with a line-up including six jQuery team members and four industry experts:
The event is being organized by Oxford based digital agency White October with the permission of the jQuery project and with the help and support from jQuery team members. Last year, the jQuery events team tried to put together an event outside the USA and we found how very hard it was to secure a venue from so far away. The jQuery Team is very happy to be working with White October in putting the conference together, and we hope to have you join as we make our European debut!
Sponsorship
If your company is interested in sponsoring the event please take a look at the sponsor pack, please feel free to email or phone (+44(0)207 976 4894) John at White October to discuss the different options.
Today, after a very scary Halloween, the jQuery team is releasing jQuery 1.7 RC2 from our Github crypt, er, repo. Barring a report of really terrifying problems or a mob of townspeople at our door with torches, this code will be exactly the same code that becomes the version 1.7 final. If anyone knows of any reason why this code should not become a final release, we need to hear you scream!
HERE LIE THE
BITS FOR RC2;
PLEASE TELL US
IF IT WORKS
FOR YOU
In RC2, we fixed a tricky problem that sometimes caused Internet Explorer 8 to go full-zombie when jQuery was loaded. Appropriately enough, the crash was related to creating a detached <body> element that we were using to perform feature detection. IE8 seems frightened to a crashy death when it sees a detached body. If you still see any problems with IE8 crashes, please let us know.
Thanks to a bug report from @warrenparsons, we also fixed a frightful regression with the .show() method. We really appreciate the efforts from those of you who are testing these pre-release versions. Sure, it’s a lot easier to think, “I’ll try it when it’s finally released,” but then any problems you do find will be preventing you — and possibly hundreds or thousands of others — from upgrading. Now that is really scary, at least to us.
During the next day or so we’ll be conjuring up documentation for many of the 1.7 additions and improvements on api.jquery.com. Please bear with us for a few days while we clean up the pages and make sure that it is filled in and all linked properly. For a quick overview of what’s changed, see the 1.7 category.
The team is getting closer to jQuery 1.7, and today we’re putting out a release candidate. The full list of fixes and features can be found below. We urge everyone to start testing this code in their applications, so we can make sure that there are no major problems before the final release.
Testing couldn’t be simpler, you can get the code from the jQuery CDN:
Please help us by dropping that code into your existing application. If you see something, say something. File a bug and mention that you’re testing against jQuery 1.7 RC1. If there’s a problem we want to fix it.
In the meantime, we’re working on the documentation and release notes to make sure your transition to 1.7 goes smoothly. Stay tuned!
Today we’re happy to announce the creation of a new jQuery sub-team called the jQuery Standards Team to give web developers a voice in the standards process.
Introduction
We all know that web standards are important. They help ensure the code we write works across different technologies, for people of different abilities and most importantly across all browsers.
That said, how often do we all feel our voices, suggestions and ideas are heard by those groups responsible for defining these standards? The reality is that whilst many of us would like to see change, due to time restrictions and lengthy formal processes we’re unable to participate in standards discussions, get involved with writing specifications and contribute to meetings about the future of features. This makes it difficult for web developers to have a voice.
Another problem is that for those that do get involved with the process, it can often feel like participating on a particular thread in standards mailing lists has a limited impact because the web community is so fragmented. Browser vendors are very active on these lists and there’s a tremendous amount of institutional knowledge assumed in almost all threads. Implementors on those lists have their own venues for discussing areas of shared concerns, but web developers wishing to particpate don’t, with the exception of the accidental meetups at conferences.
The jQuery project would like to help change this – we want you to have a voice in how the future of the web is shaped.
The jQuery Standards Team
The jQuery Standards Team has three primary goals:
To represent the web developer community, in particular jQuery users, to standards bodies such as the W3C and TC39 with the intention of improving existing standards and standards in progress to better meet the needs of web developers.
To represent the web developer community, and especially jQuery users, to browser vendors with the intent of helping them identify standards that they should prioritize for implementing, and proofs of concept that they can build.
To help the jQuery project adopt new standards and browser features as appropriate.
This marks a large change in the way the web developer community is able to submit feedback and influence both standards bodies and specifications. By lowering the barrier of entry to having suggestions and issues about current implementations heard, we hope to encourage more developers with an interest in dealing with standards bodies and browser vendors an opportunity to participate in the process.
The jQuery Standards Team is driven by jQuery team members Yehuda Katz and Paul Irish who some of you may know. Yeuhda and Paul have extenstively worked with standards bodies and browser vendors in a number of capacities over the years, with their individual work on SproutCore and Chrome Developer Relations providing them additional perspectives that will be useful when advocating for the community.
You may be wondering why we feel this team deserves to represent the wider web developer community. Because jQuery is used by such a large percentage of sites on the web (over 50% of the top 10,000 sites), we have a good feel for what problems and challenges are commonly faced and what issues with existing implementations we need to try working around. As jQuery is also so focused on DOM-manipulation, the library offers a good source of information for known implementation issues and their (current) best solutions.
Although the current team is primarily composed of jQuery team members, we want to get as many developers passionate about standards and specifications involved with the team as possible. At the end of the day, the team’s goal is to to help identify web developers interested in the process and give us all a forum for both discussing the process, ideas and shared areas of concern. We believe that working together, we can all help build a better web.
Getting Involved
If you’re interested in getting involved with the jQuery Standards Team, the easiest way is to sign up for the Google Group. Similar to other jQuery sub-teams, there are going to be regular public meetings in #jquery-meeting on freenode (date TBA) to discuss how the team can be as effective as possible in promoting the needs of the web developer community.
You might have already seen Paul’s post What feature would improve the web? — if your feedback was captured there, you’ve already gotten involved. ;)
You can also report (or comment) on standard or specification issues in the issue tracker on the official team Github repo. If you’re posting new issues, try to identify problems with specs or standards that either exist or are currently being proposed. Here’s a great example of one such issue.
We want to collect well-specified and articulated issues with the web ecosystem and advocate for improvements with the standards bodies or vendors. For genuine issues, we’ll tag them accordingly (eg. W3C, TC39, Browser-vendor etc.) and if applicable, file tickets with the appropriate standards groups or browser vendors so you don’t have to.
Conclusions
By creating this new forum we hope to give a voice to the millions of web developers interested in contributing to the process, but without an easy way to do so. Please let us know what your thoughts are about the team as we want to improve it as much as possible. We look forward to hearing your comments, suggestions and ideas about both it and the standards process!
Hot off the momentum of the jQuery Conference in Boston earlier this month, and based on the community’s valuable feedback, we’re releasing a new beta that incorporates further fixes and improves stability. The full list of fixes and features can be found below. We urge everyone to start testing this code in their applications, so we can make sure that there are no major problems before the final release.
Please help us by dropping that code into your existing application. If you see something, say something. File a bug and mention that you’re testing against jQuery 1.7 Beta 2. If there’s a problem we want to fix it!
If you hadn’t heard, jQuery Conference 2011 is taking place in Boston later this week. We’ve put together a little something we like to call jQuery 1.7 Beta 1 that we’ll be talking a lot more about at the conference. It’s got a lovely bunch of new features and significant bug fixes–more than 50 of them at last count.
Please help us by dropping this code into your existing application and letting us know if anything no longer works. Please file a bug ticket and be sure to mention that you’re testing against jQuery 1.7 BETA 1.
Also be sure to explore all the new features and see if your favorite pet-peeve bug has been fixed. If you wait until the final release to do your testing it will be too late!
As always, we want to encourage everyone from the community to try and get involved in contributing back to jQuery core. We’ve set up a full page of information dedicated towards becoming more involved with the team. The team is here and ready to help you help us!
Oh, you probably want to know what changed, right? Addy Osmani has made a great start with his recent post, so let’s cover the stuff that isn’t on his list.
New Event APIs: .on() and .off()
Over time, jQuery has evolved three ways to attach events to elements: .bind() , .live(), and .delegate(). Underneath it all, though, the three event APIs call the browser’s event system; that can lead to surprising interactions. For example, $(document).unbind("click") will remove all .live("click", ...) events, since those delegated events are attached to document. (This is also why you should use event namespaces.)
Our current event APIs aren’t going away soon, but to address the inconsistencies we’ve introduced a new and simple pair of event methods that can do the work of all three:
If a selector is provided, it’s a delegated event; otherwise it’s directly bound. All the features of the old APIs are there; for example events can be a space-separated string of event names and/or namespaces, or it can be an object where the keys are events and the values are event handler functions. Here are some examples of how the old methods map into the new ones:
Old API
New API
$(elems).bind(events, fn)
$(elems).on(events, fn)
$(elems).bind(events, { mydata: 42 }, fn)
$(elems).on(events, { mydata: 42 }, fn)
$(elems).unbind(events, fn)
$(elems).off(events, fn)
$(elems).delegate(selector, events, fn)
$(elems).on(events, selector, fn)
$(elems).undelegate(selector, events, fn)
$(elems).off(events, selector, fn)
$(selector).live(events, fn)
$(document).on(events, selector, fn)
$(selector).die(events, fn)
$(document).off(events, selector, fn)
Form Change and Submit Events in IE 6/7/8
These old Internet Explorer versions are likely to be haunting us for some time, so we’ve spent a while trying to improve their behavior. Event delivery performance has been greatly improved for them, but the biggest change is that we are using a different approach to fix their non-bubbling and broken form events. As a result we were able to greatly simplify and shorten the special events code. These events should work without any problems–even better than before, since we closed about a half-dozen related bugs–but please keep your eyes open for any unusual behavior.
Animation Improvements
Before version 1.7, if you stopped an animation before it completed it could create a situation where the element being animated would never return to its full size; it would essentially be stuck at the height that it was when the animation was stopped. We’ve fixed that by remembering the original dimensions before the animation starts so that they can be used later. This eliminates a major annoyance in using certain animations, particularly toggling ones.
.removeData() Enhancements
Addy mentioned this one as well, but the .removeData() API now lets you pass either a space-separated string of names or an array of names to be removed. Since spaces were previously allowed in data names, the code first checks for the exact name as you specified it before splitting the string on spaces. That way, no existing code should break as a result of this enhancement.
jQuery 1.7 BETA 1 Change Log
Here is a complete list of changes made for the 1.7 BETA 1 release.
The training will focus on HTML5, and be taught by jQuery Core Team Member and Bocoup trainer Richard Worth. The price will be the same $299 (which, if you’ve been paying attention to HTML5 training rates, is a steal!).
Here’s some detail from the training description:
HTML5 is the next major milestone in HTML and it’s not just another incremental enhancement; it represents an enormous advance for modern web applications. A large number of HTML5 features are already supported in browsers, so it’s time to start using them!
In our HTML5 for Programmers Workshop, you will learn how to create HTML5 web pages and web applications using semantic HTML5 markup and cross-browser HTML5 JavaScript APIs. After completing this course, students will:
Know how to use semantic HTML5 Markup
Know how to use cross-browser HTML5 JavaScript APIs
Understand current browser support for the various HTML5 features
Understand how to polyfill HTML5 features on older browsers
Our training takes a step-by-step approach, solidifying fundamental concepts and building on them to leave each attendee with a more thorough understanding of HTML5. Using a 50% lecture / 50% lab format, attendees will be able to put the concepts they have just learned to use after each section.
HTML5 Overview
Using HTML5 Today
Markup
Forms
Canvas
Video and Audio
Drag and Drop
Geolocation
Web Storage
Web Workers
Communication and Web Sockets
This course is designed for software developers interested in designing, creating, and deploying HTML5 web applications. It is valuable to developers that already have experience in developing web applications. To get the most out of the course, you should be familiar with HTML, CSS, and JavaScript.
Prior exposure to any of these concepts will be helpful, but not required: AJAX, XML, jQuery, HTTP, REST.
It’s short notice, but we hope you can make it, so register now! As always, feel free to email events@jquery.org with any event related questions.
You can help us by dropping that code into your existing application and letting us know that if anything no longer works. Please file a bug and be sure to mention that you’re testing against jQuery 1.6.4.
We want to encourage everyone from the community to try and get involved in contributing back to jQuery core. We’ve set up a full page of information dedicated towards becoming more involved with the team. The team is here and ready to help you help us!
jQuery 1.6.4 Change Log
The current change log of the 1.6.4 release.
Data
#10194: Data attribute names with single dash-surrounded letters cannot be accessed by the camel-case name
Event
#10208: $(“form”).live(“submit”, fn) not fired from <button type=”submit”> in IE8
Support
#10197: Bug with mime-type application/xhtml+xml in jquery 1.6.3
jQuery 1.6.4 will be released soon, and we need your help with this release candidate to find any remaining bugs. We’re putting out a new version to address a few last-minute bugs that crept into the 1.6.3 release. With version 1.7 coming next month, we felt it was important to fix these bugs and finalize the 1.6.x line before making more extensive changes and feature additions.
Feel free to do your testing by including either one of these files (one minified and one uncompressed). If you find any important differences from 1.6.3, please file a bug as soon as possible and be sure to mention that you’re testing against jQuery 1.6.4 RC1. Our preferred venue for test cases is jsFiddle; you can just use the “jQuery (edge)” selection there.
#10194: Data attribute names with single dash-surrounded letters cannot be accessed by the camel-case name
Event
#10208: $(“form”).live(“submit”, fn) not fired from <button type=”submit”> in IE8
Support
#10197: Bug with mime-type application/xhtml+xml in jquery 1.6.3
Please do file a bug report with a test case as soon as possible if you find problems, as described above. Blog comments or Twitter aren’t helpful bug reports!
You can help us by dropping that code into your existing application and letting us know if anything no longer works. Please file a bug and be sure to mention that you’re testing against jQuery 1.6.3.
Many thanks to all the people who reported bugs, submitted patches, and otherwise helped with this release! We want to encourage everyone from the community to get involved in contributing back to jQuery core. We’ve set up a full page of information dedicated towards becoming more involved with the team. The team is here and ready to help you help us!
Highlights
Fix an XSS attack vector: User ma.la reported a common pattern that many sites are using to select elements using location.hash that allows someone to inject script into the page. This practice seemed widespread enough that we decided to modify the selector recognition to prevent script injection for the most common case. Any string passed to $() cannot contain HTML tags (and thus no script) if it has a “#” character preceding them. See the ticket linked above for more information and a test case.
No more animation “worm holes”: We had high hopes for the browser’s requestAnimationFrame API when we added support into version 1.6. However, one of the highest-volume complaints we’ve received since then relates to the way requestAnimationFrame acts when a tab is not visible. All the animations initiated when the tab is invisible “stack” and are not executed until the tab is brought back into focus. Then they all animate at warp speed! We’ve removed support for this API (which has no impact on the way you call jQuery’s animation features) and plan to incorporate it into a future version of jQuery.
Better handling of HTML5 data attribute names: The $().data() API serves double-duty, handling data for the internal use of jQuery and plugins in addition to reading initial values of HTML5 data- attributes. We’ve improved the ability to use HTML5 conventions such as converting camel-case to camelCase when needed. Remember, however, that the $().data() API only reads the HTML5 data- attributes initially, and does not keep subsequent data changes in sync with attributes for performance reasons. To update the actual attributes in the HTML markup, use .attr().
jQuery 1.6.3 Change Log
The change log of the 1.6.3 release:
Ajax
#9255: jQuery.parseXML error handling does not work in webkit browsers
#9854: Pass statusText through instead of “normalizing” it
#9887: jQuery.ajaxSetup may cause unnecessary memory usage
#9970: Typo in ajax.js: status should be jqXHR.status?
#10098: Encode comment-like Accept headers to avoid mobile carrier mangling
Attributes
#9630: foo.contents().hasClass() returns incorrect value
#9699: removeAttr(‘style’) does not consistently remove the style attribute in webkit
#9719: removeAttr(‘disabled’) doesn’t change input’s color on IE6
#9979: .prop(‘tabIndex’) returns inconsistent results for elements that have not yet set tabIndex
#9980: Simplify the attr code by using getAttributeNode for everything in IE6/7
Build
#9988: Minimal License Header in compressed jQuery
Core
#9521: XSS with $(location.hash) and $(#) is needed?
#10029: $.support.scriptEval removed, but still included in documentation
Please do file a bug report with a test case as soon as possible if you find problems, as described above. Blog comments or Twitter aren’t helpful bug reports!