YUI 3.17.1 Released

By YUI TeamMay 21, 2014

We are happy to announce the release of YUI 3.17.1! This release can be found on the free Yahoo CDN, through npm, and through a downloadable .zip archive. We have also updated the YUI Library website to reflect the changes in this release. YUI 3.17.0 was found to have an issue with Loader right before it was about to be fully released, so we decided to update the version number to reflect this fix (since 3.17.0 had already been deployed to CDN, npm, etc.)

Do not use YUI 3.17.0 due of this Loader issue.

The changes listed below are almost exclusively from YUI 3.17.0 with the exception of the Loader fix.

What's New In This Release

This release is a bit lighter on features due to a few longer-term projects in the works for next release. These include integrating a standalone version of Promises called ypromise and efforts going in to replacing YUI's standard touch events with Hammer.js under the hood. There are some significant updates this release in YUI Loader as well as a fix for an issue with Drag and Drop + Forms. The fixes and updates for this release are outlined below.

App Framework Changes

There was a fix in ModelSync.Local to stringify the hash before saving.

Calendar Updates

A fix was made by @mairatma where Y.Calendar.selectDates had failed when passed the maximumDate with minutes/seconds. There was a fix for an issue with left/right margins in dual-panel calendars. Another fix in Calendar resolved an issue with calendarnavigation month :hover and disabled styles.

Drag and Drop Fixes

Andrew Nicols fixed an issue in Drag and Drop that was a regression in 3.16.0 around filtering mousedown events. This resulted in form elements in (draggable) floating panels unable to receive focus. If you ran into this issue in YUI 3.16.0 try out 3.17.1 to see if it resolves your issue. If not, please file a bug so we can resolve any outstanding problems.

DOM Changes

In DOM, @okuryu moved out the color-base module from being a dependency in dom-style to improve performance of core modules that depend on dom-style. Note however that dom-style-ie will still depend on color-base for legacy IE (8.0).

Rich Text Editor Fixes

In Rich Text Editor there were two minor fixes. The first one increased the specificity of when to set the cursor (assuming to be for a more accurate state of the cursor). The second fix checks for the existence of a node before removing it.

YUI Loader Changes

In Loader, support was added for optional dependencies. These dependencies are conditionally loaded but each dependency is responsible for determining the result of the test, the opposite of condition. Example:

    modules: {
      foo: {
        test: function (Y) {
          return true;
      bar: {
        optionalRequires: ['foo']
  }).use('bar', ...);

In addition, there was an issue with Loader that prevented us from fully releasing 3.17.0 and resulted in this 3.17.1 release.

In MenuNav a fix was made in the check for the IE UserAgent when testing to making sure the browser is IE.

Node Changes

In Node, invalid was added to the event whitelist.

Tree Fixes

In Tree, @rgrove fixed an issue where moving a node to another tree failed when that node has children.

Additional Information

There were a total of 163 commits by 16 contributors for this release. You can find details about the changes in this release by checking out the Change History Rollup for 3.17.0, and the Rollup for 3.17.1. For every commit made to our source, there are over 9,000 tests run against our target environments. If you discover an issue, please file it in GitHub (you'll need to sign in first). If you would like to contribute tests, documentation, code fixes, or new features, please check out our Contributing to YUI Wiki entry.