Announcing YUI 3.1.0

By YUI TeamMarch 31st, 2010

The YUI team is pleased to announce the release of YUI 3.1.0.

Highlights of this release include the following:

  • Component infrastructure — The Widget infrastructure for YUI 3 is now largely in place. Satyen Desai has been focused on this work over the past several months, and the approach he discussed at YUICONF 2009 is now fully realized as the Base, Attribute, Plugin and Widget modules in the component infrastructure group reach GA status. Satyen has provided a detailed developer guide for those interested in learning more about the component infrastructure.

  • Internationalization utility — Satyen worked with Yahoo internationalization engineer Norbert Lindenberg on the new Internationalization utility for 3.1.0. This component introduces YUI 3’s approach to internationalization, allowing for the externalization of module language resource bundles that can be delivered separately from code, with support added to Adam Moore’s loader for specifying language preferences. We’ll continue to develop and build upon this approach as we introduce YUI 3 widgets with more complex UIs.
  • TabView as a reference widget — Matt Sweeney’s TabView is updated and serves as a good reference implementation for YUI 3-based widgets, including the approach we’re taking on progressive enhancement.

  • Loader improvements — Adam Moore has improved YUI 3’s loader to better support the YUI 3 Gallery. As of 3.1.0, you can now load any Gallery module that shipped prior to 3.1.0 without additional configuration simply by referencing the module in your use() statement.
  • YUI 2 in 3 — Adam extended the power of use() even further with the YUI 2 in 3 project. With the release of 3.1.0, you can now include YUI 2 modules directly from your use() statement, bringing a fully sandboxed version of YUI 2 into your YUI 3 instance. This work supports developers who are making the transition to YUI 3 but are still dependent on some components that are unique to YUI 2, including the popular YUI 2 DataTable.
  • New Sortable utilitySortable is a new utility from Dav Glass that leverages Drag and Drop to implement sortable lists. Support is provided for single lists or multiple lists in which items can be dragged from one list to the other.

  • Visual treatments for Slider — Visual designer Jeff Conniff worked with YUI engineer Luke Smith on the Slider component for 3.1.0, the result of which was a series of alternative visual treatments for Slider. Luke has also updated Slider to take advantage of improvements in the general Widget infrastructure.

  • New API for creating synthetic DOM events — Luke added the Y.Event.define() method to make it easy for developers to define new DOM events in the YUI 3 ecosystem. Use this to fill in gaps in the native DOM event list or otherwise label common user interaction moments, then subscribe and unsubscribe as you would with any other event.

As always, YUI program manager Georgiann Puckett has provided a comprehensive changelog for the YUI 3.1.0 release — refer to that document for detailed information about what has changed throughout the YUI 3 family.

What’s Next?

Between the release of YUI 3.0.0 and 3.1.0, more than 50 free, open-source modules have been added to the YUI 3 Gallery. Today, all of that content is accessible to you from any YUI 3.1.0 instance. As we get started on our work for YUI 3.2.0, the library itself will be anything but static — currently, YUI 3 is growing more rapidly from community contributions than from the core team’s work, and those contributions are accessible at an unprecedented scale.

In the coming weeks, we’ll update the YUI 3 roadmap and calendar with early objectives and timelines from our 3.2.0 planning. 3.2.0 will be a widget-focused release as the majority of the core team turns its attention to the high-value UI building blocks that are familiar from the YUI 2 world.

In the meantime, we look forward to your feedback on YUI 3.1.0. Join us in the forums and let us know via the bug tracker if you discover issues in the release.

Tagged as:


  1. Nice!!! I can’t wait for the menu widget to be brought into the 3. branch. I know I can use the 2. version, but I would like to move away from that just like Yahoo! does.

    Great news!

  2. John — have you seen Julien’s SimpleMenu in the Gallery? Pure YUI 3; 1.3K. Not as full-featured as what you’re using on your site, admittedly. -Eric

  3. Stoked about the loader guys. That is really awesome.

  4. Congrats guys! Great stuff, as always :) The gallery is truly a game changer, and the synthetic events, i18n, and all the underlying changes I know you guys have been working hard on have been incredibly appreciated.

  5. Excellent work. I look forward to moving over to YUI 3 from YUI 2, especially with the new simplicity of using YUI 2 components.

  6. Awesome work guys, been porting a huge project from YUI 2 to 3 and I’ve been looking forward to the new release.

  7. Congratulations, guys!

    I’ve been looking forward to this for a while, and have a few projects lined up that will be developed using 3.x instead of 2.x. As has been mentioned, the loader and the gallery are fantastic, but using YUI 2 alongside YUI 3 so easily has to be the best feature!

    Looking forward to 3.2 :-)

  8. Can you provide on the website complete working examples of the code like for Timepicker. Also, don’t you have a gallery that I could just download and tryout?

  9. Jim,

    Timepicker in the Gallery:

    Example (linked from the Timepicker entry):

    Download or clone the Gallery: