We are pleased to announce the release of YUI 3.16.0! This release can be found on the Yahoo CDN, through npm, and via a downloadable
.zip archive. The YUI Library website has also been updated to reflect the changes in this release.
If there were a theme for this release, it’s probably one of community involvement. Many of the fixes and update in this release were originated from the YUI community and simply brought in with minimal changes via the committers. Another theme would be around Loader. There were fixes in Loader to improve its speed as well as deal with various edge case issues. As usual, there were also a number of fixes and updates across the board as outlined below.
In the App Framework an issue was fixed where Router’s
hasRoute(url) method did not follow the same semantics as the route dispatching process. Now all registered param handlers will process any named params, giving them a chance to validate and reject a param value. This will make the
hasRoute() method an effective way to check whether a router will dispatch to a route handler for a given URL (#1722).
In Calendar, Andrew Nicols fixed an issue where you could not change the month in RTL mode (#1719) and the arrow itself was wrongly displayed (#1724). Community member Marc Lundgren changed the arrow to display using CSS instead of an image (#1361).
Pure CSS was updated to 0.4.2 and YUI imported the new version in this release. As a result in Grids you can now use non-reduced fraction class names when laying out a grid. This means that we have rules for classes such as
.pure-u-12-24 as well as
Also as a result of the Pure CSS update of Base, you can now set a
[hidden] attribute to your HTML elements if you want them to be
In DOM Ryuichi Okumura optimized
dom-style.js, removed an unnecessary anonymous function and unused variables, and changed the code to use “Number()” instead of “new Number()”.
In Drag and Drop, Andrew Nicols moved
gesturemovestart (#1721) and to invoke that
preventDefault after movement has started (#1761). Chema Balsas fixed an issue where
dd-proxy would reset radio buttons when cloneNode==true (#1663).
In IO there was a fix by @goodforenergy to remove the unnecessary
src attribute of an
iframe which had caused an extra request to be made to the current page URL when the
iframe was included on the page. (#1646 ) @customcommander documented the usage of username/password in the Y.io configuration (#1572 ).
There were quite a few changes in Loader this time around including an optimization of Loader’s constructor (#1581) by @caridy. Ezequiel was busy with fixes as well including removing
onCSS documentation since it was never implemented , fixing an issue where a module’s
lang packs were not being included before the module itself, an issue where conditionally loading a module using
before did not work, and an issue where a
CSS module could not require a
js module (all in #1743).
In Node, there was a fix for the issue where
getCell() would throw an error if
shift was not a recognized value. When you call
instanceof Y.Node it now checks for
_node to allow for instances from other sandboxes. Also, @solmsted clarified the Node vs NodeList method docs.
In Promise, when there is an error inside the promise initialization, the promise is now rejected.
In YUI Test,
test.next now takes an optional argument to change the value of
this inside the callback.
Two issues were fixed in Widget Modality. The first (#1684) fixed the positioning of the modal mask for stacked models, thanks @moiraine! The second fixed an issue where cloning a modal widget and its mask would result in Widget Modality not functioning correctly (#1175), thanks to @jinty.
An issue was fixed in YQL where
yql-winjs were missing
yql from their
There were a total of 247 commits by 29 contributors for this release. You can find details about the changes in this release by checking out the Change History Rollup. 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. Also note that we have archived the legacy Forums and old YUI trac tickets on the website. Be sure to check out the yui-support forum for support questions, and use GitHub Issues to file tickets (you must be signed in to file tickets).
Congratulations to Andrew Nicols of Moodle for being added as a committer! As you can see from this release and the previous one, Andrew is actively filing issues as well as his own pull requests, and we are glad to have him join the list of committers to the YUI project!