New for 2.8.0

Four significant components make their debut in this release:

Matt Snider’s Storage Utility: Matt is the lead frontend engineer (and the first employee) at Mint.com (which uses YUI extensively; congratulations on their big news today) and the author of a popular JavaScript blog. Matt contributed the Storage Utility for 2.8.0, a meta-component for client-side storage that provides HTML5-style local and session storage interfaces across various storage mechanisms. With this initial release, Storage can employ one of three storage mechanisms: HTML5 Storage, Google Gears, and storage via the Flash Shared Object. With HTML5-capable browsers growing share rapidly, and with the prevalence of Flash as a fallback, this gives you reliable coverage for the vast majority of your users. The Storage API allows you to specify which of these three mechanisms to use and in what order to try them.

Satyam’s ProgressBar Control: Satyam (Daniel Barreiro) is best known to the YUI community as one of the foremost experts on YUI’s powerful DataTable Control, and he’s the author of importanttutorials that have helped tens of thousands of developers make full use of DataTable. He’s also known as one of the most helpful members of the YUI community. With 2.8.0, Satyam contributes a new component, the ProgressBar, that further deepens YUI’s portfolio of UI controls. ProgressBar offers a convenient API, a wide range of custom events, and full support for Animation and its wide range of easing effects.

Alaric Cole’s SWFStore Utility: SWFStore provides the Flash Shared Object functionality to the meta Storage Utility and comprises a JavaScript API for storing text data with FSO. SWFStore supports on-the-fly gzipping of your stored key/value pairs, which helps you get better mileage out of Flash’s 100KB default limit (this can be extended if the user permits). While many developers will use SWFStore in the context of Storage Utility, we’ve also presented it as a standalone feature for those who wish to use it directly.

Allen Rabinovich’s SWF Utility: In 2.8.0, we’ve broken out Flash detection and embedding functionality into a separate shared utility. We have begun moving YUI’s hybrid Flash/JS components — including Charts and SWF Store — onto Allen’s new base component. (Note: If you only want to check for Flash version, you can independently included the swfdetect module, which populates YAHOO.env.ua.flash.

Carousel Gets a Gallery: Andres Narvaez and Gamaiel Zavala, frontend engineers for Yahoo!’s media properties, have worked with Gopal Venkatasen to extend the YUI Carousel Control to provide “gallery-style” support with multiple rows of items. At Yahoo!, Andres and Gamaiel have implemented this feature on redesigned video galleries for sites like Yahoo! Sports:

Calendar Adds Support for Year Offsets: The new year_offset configuration property in the Calendar Control provides support for calendaring systems that are fundamentally Gregorian but whose zero-year is different than 0 C.E. (the Thai calendar is one of several such systems).

Dual Axis Support in Charts: Tripp Bridges has been hard at work on YUI Charts, and among many improvements for 2.8.0 he has added support for multi-axis charts.

Much More: Hundreds of bug fixes and enhancements are included in YUI 2.8.0; George Puckett’s release manifest provides component-by-component details of these changes.

Acknowledgements

Some of the most interesting new work in YUI 2.8.0 (including Matt’s Storage and Satyam’s ProgressBar) come from outside of Yahoo, and community involvement in the project continues to grow month by month. To those of you who contributed timely bug fixes and enhancements in this release, and to the hundreds who helped refine the library through high-quality enhancement requests and bug reports, thank you!

What’s Next?

YUI 2 development and maintenance continues. You can follow this work on YUILibrary.com, where the Roadmap will soon tick over to the priority list for 2.9.0. As bug fixes roll into the YUI 2 development tree, you can follow them in near-real time on GitHub. If there’s anything that’s not moving fast enough for you, fork the repo, sign a CLA, and start making pull requests.

The team remains hard at work on YUI 3, and we’re now finalizing the documentation for the upcoming 3.0.0 GA release that will bring the new YUI 3 core and most utilities out of beta. YUI 3 is also available on GitHub, so feel free to clone the YUI 3 repo and start exercising the upcoming release. Beyond the GA, we’ll continue to work on bringing widgets to YUI 3 on the new Widget stack and making it easier for the community to make contributions across the project.