YUI 3.7.0pr2 - Final Round of Testing
Two weeks ago we released YUI 3.7.0pr1, today we're releasing the second and final preview release for the current development sprint. YUI 3.7.0pr2 is now available to the developer community for feedback and testing on the Yahoo! CDN (and as a download), and our Staging website has the updated documentation. To reiterate the importance of testing our preview releases: we rely on your feedback from testing these preview releases in your real world applications, this gives us the final vote of confidence in the stability of the code, beyond what our automated and manual testing provides.
The Next Production-Ready ReleaseNext week, on September 18, 2012, we will be cutting the next production-ready release of YUI. We are planning for this release to be 3.7.0 GA and be based on what's currently in our 3.x branch. If there are any critical issues or breaking changes discovered in 3.7.0pr2 that cannot be resolved before Tuesday, our backup plan is to release 3.6.1 from our master branch.
Recent Changes and New Additions
Building with ShifterFor this release, all modules have been minified using UglifyJS! We have removed all of the old Ant build files from our 3.x branch, and rebuilt all of our modules using the latest version of Shifter, our new build tool, which uses UglifyJS by default. We've rigorously tested the rebuilt modules on 20+ devices using Yeti and have not seen any differences with the minified files using UglifyJS compared to YUI Compressor, besides being ~5% smaller in file size. If you notice something not working right with the new minified files, please don't hesitate to file a ticket.
Graphics and ChartsA bunch of lower-level work has went into Graphics and Charts recently, and we are encouraging anyone who's using the Graphics library, and/or Charts to test 3.7.0pr2 in their applications.
Recent Enhancements to Graphics
- The ability to scale the contents of a graphic to its parent container using
- The addition of
toBack()methods for managing a shape's depth.
- The ability to animate
strokeattributes using the newly created
shape-animsubmodule. The submodule also allows for animating transforms (formally
- The introduction of a data attribute which accepts SVG path data. Graphics does not currently perform all possible SVG drawing methods. These will be added in a subsequent release and are documented in tickets: #2532735 and #2532470.
Gesture Events Supported in IE 10Gestures (
event-move) are now supported on IE 10 (Windows 8 tablets and desktops), and they feel pretty snappy too!
Tap EventWe have graduated Michael Matuzak's
gallery-tapmodule to the YUI core module:
"tap"event normalizes user interactions across touch and mouse or pointer based input devices. This can be used by developers to build input device agnostic components which behave the same in response to either touch or mouse based interaction. On a touchscreen,
"click", only it requires much less finger-down time since it listens to touch events, but reverts to mouse events if touch is not supported. Thanks to Andres Garza and Christopher Bartz for the original implementation, and Michael for the gallery module!
ScrollInfo Node PluginRyan Grove's
node-scroll-infoplugin is now available. This
Y.Nodeplugin provides convenient events and methods related to scrolling. This could be used, for example, to implement infinite scrolling, or to lazy-load content based on the current scroll position. Ryan extracted this module from his work on improving the infinite scrolling on SmugMug's search results page and contributed back to YUI. You can read more about how this module is used in his post: Speeding Up SmugMug's Search.
What to Continue Testing
ScrollView RefactoringOur preview release process has been very helpful to ScrollView's refactoring, as you've helped identify some bugs introduced in 3.7.0pr1. After reviewing the ScrollView changes in 3.7.0pr1, the following the larger changes introduced in this preview release:
- Smoother flick animations
- When using multiple ScrollView instances on a page, you now have the ability to adjust per-animation and drag physics per instance.
- ScrollView and its Paginator plugin now support an
axisattribute. When possible, it’s best to define each of these