YUI 3.12.0 Release Candidate 1

By YUI TeamAugust 15, 2013

We are pleased to announce a new release candidate for you to try out. 3.12.0-beta-1 is available via CDN here, a downloadable archive, or on npm. We've also updated the staging website with the latest documentation.

We are currently testing this release candidate and fixing any show stopper bugs. You can learn more about the release schedule here. Please take this opportunity to try out this release candidate in your own test environments and let us know if you run across any issues. (Note: future release candidate branches will use "rc" instead of "beta".)

What's New in This Release

This release has enhancements and updates across the board in a number of modules, including the ones listed below.

App Framework Fixes

Support was added to ModelList for descending sort order via sort({descending: true}) and to support this change the options passed to sort() are now passed along with a protected _sort() method (#1004). Thanks to @rishabhm for the fix! In Router, support was added for registering route param handler functions or regular expressions (#1063). Also fixed in Router was an issue with trying to URL-decode matching path segments that are undefined (#964, #1076).

Button Fix

In Button, ButtonGroup.disable() will disable each child button. For more details see ButtonGroup.getButtons().

Calendar Language Support

Support was added in Calendar for various Chinese regions (#1007). Thanks @shunner!

Charts Feature

In Charts, a feature was added to include logarithmic scaling (#716).

Event Changes

A number of new features were added to event-tap and event-gestures, including:

  • the ability to prevent the browser default behavior via e.preventDefault()(#682)
  • a new sensitivity property that allows you to customize when tap fires based on the px difference between the start and end event (#631)
  • dual-listener support (#683)
  • improvements targeting Android 4.0.x reliability

In Event, Ryan Grove fixed an issue where YUI would break the back/forward cache by attaching an unnecessary unload event handler.

In Custom Event, we fixed a regression introduced in 3.10.0 (where EventTarget.detach('cat|*') would throw an exception when EventTarget was configured with a prefix).

Node Changes

In Node, Jeroen Versteeg fixed two issues. One issue involved Node instances that were cached before node-pluginhostwas loaded and could not become plugin hosts. The other was a fix to Node.toggleView() where it would not show a node if that node's hidden attribute wasn't set, a regression from 3.10.2.

Also, @zhiyelee fixed an issue with Node.addMethod() where it could not bind to contexts other than itself (#1070).

TabView Fix

YUI contributor Bryan Zaugg (@blzaugg) fixed a missing ARIA role in the tablist of TabView.

Template Feature

One of the larger changes for this release is in Template. A central template registry was added which decouples making templates available from invoking a template to render it. The registry abstracts templates to names which enables templates to be easily overridden (#1021).

Tree Fix

In Tree, Tree.Sortable failed to reindex a node's children after sorting them, which could result in Tree.indexOf() and Tree.Node.index() returning incorrect indices.

Process Improvements

We are constantly seeking ways to improve not only the codebase but the way in which we manage code changes and the process of releases. This release marks the first time we are trying out a short-lived branch method of cutting a release candidate branch and immediately reopening the tree for checkins.

Continuous Integration

We run over 8,700 tests for every target environment with our internal CI system, so having a comprehensive set of tests for every feature is critical to maintaining our high standards for the quality in our codebase. If you are interested in contributing to YUI, consider taking on an up-for-grabs bug, write a test, or even simply file an issue.

Additional Details

There were a total of 239 commits for this upcoming release by 23 contributors. You can read more about the details of this release candidate in the Change History Rollup and the GitHub Comparison to 3.11.0.