• Home
  • Quick Start
    • Configurator
    • Download YUI 3
  • Documentation
    • User Guides
    • Examples
    • Tutorials
    • API Docs
  • Community
    • Gallery
    • Blog
    • Forums
    • YUI Theater
    • Calendar
  • Contribute
    • YUI on GitHub »
    • File a Ticket
    • View Tickets
    • Dashboard
  • Other Projects
    • YUI 2
    • YUI Compressor
    • YUI Doc »
    • YUI Builder
    • YUI PHP Loader
    • YUI Test
    • YUI Website
  • YUI
  • Blog

Blog

YUI Weekly for March 7th, 2014

By TiloMarch 7th, 2014

Welcome to YUI Weekly, the weekly roundup of news and announcements from the YUI team and community.

Release News

YUI

We shipped YUI 3.15.0 last week, and started work on our next sprint. The development schedule has been posted on the YUI Wiki. Our goal is to have another release ready by April 13, 2014.

Pure

The Pure team released the Grunt and Rework tools that they have been working on over the last quarter. These tools make writing CSS more enjoyable, and are not just restricted to Pure. If you write CSS, you may find these tools handy.

You can check them out on Pure’s new Tools page. The new tools are:

  • grunt-pure-grids: Generate custom mobile-first responsive grids
  • grunt-stripmq: IE fallback for mobile-first CSS
  • grunt-css-selectors: Mutate CSS selectors

Stay tuned for more from Pure next week!

YUI Open Roundtable

Our YUI Open Roundtable this week featured a conversation with Andy Earnshaw, the author of Intl.js. Intl.js provides an important polyfill for the ECMAScript Internationalization API (ECMA-402) for both client side and server side javascript. You can also find out more about Intl support in Modown in a previous Open Roundtable.

YUIConf Videos

This week, we released the video for Reid Burke’s talk on Testing YUI Everywhere. In addition, we released the Lightning Talks video. Check out this blog post for more details on the Lightning talks.

The World of JavaScript

Here are some good articles to get you up-to-speed on what’s been happening in the world of JavaScript this week.

  • You’ve surely heard of Atom by now, right? I’m personally still a big Sublime Text fan but folks really seem to be liking Atom’s plugin infrastructure.
  • Luke Hoban has a great overview of all ES6 features over at this GitHub repo.
  • The Yeoman folks wrote a nice blog post detailing how you can use Grunt and Gulp tasks to optimize performance.

Enjoy the weekend, folks!

Posted in: YUI Weekly | Place a Comment »

YUIConf 2013: Lightning talks

By Andrew WooldridgeMarch 7th, 2014

We finish out our YUIConf 2013 series with our Lightning Talks session. Anyone who had interesting content to discuss could queue up and give a brief talk. Check out the links below if you would like to jump to a specific speaker.

  • Bruno Farache of LifeRay on y3d
  • Daniel Stockman of Zillow on “Stub Your Way to Unit Test Bliss”
  • Andrew Dejtonski of Georgia Tech on connecting to systems that aren’t obvious
  • Carlos Vallejo of Wells Fargo on a spec authoring tool
  • Michael Matusak of Yahoo on Yahoo Screen
  • Clarence Leung of Yahoo on Code Academy tutorials
  • Phil Dokas of Yahoo on Flickr
  • Iliyan Peychev of LifeRay on YUI Editor and autodiscovery of required modules
  • Brian Johnson of Yahoo on debugging markup with CSS
  • Luke Arduini of Yahoo on client side apps with npm
  • Johnathan Tsai of Talentral on their latest features

You can check out the previous video here as well as watch all the videos via our YouTube playlist.

Posted in: Development, YUI Theater, YUIConf | 1 Comment »

YUIConf 2013: Reid Burke on Testing YUI Everywhere

By Andrew WooldridgeMarch 4th, 2014

Testing your code is one of the best things you can do for the quality of your app. For a project as large as YUI this can present a number of challenges. Reid Burke in his YUIConf presentation “Testing YUI Everywhere” talks about the issues he faces daily in keeping our CI system up and healthy. You’ll definitely find some great insights into how we test our code and get a glimpse of the work he’s been doing. You can find the previous YUIConf talk here, and watch all of them via YouTube.

You can find Reid’s slides on his own site.

Posted in: Development, YUI Theater, YUIConf | 2 Comments »

YUI Weekly for February 28th, 2014

By TiloFebruary 28th, 2014

Welcome to YUI Weekly, the weekly roundup of news and announcements from the YUI team and community.

Release News

This week, we released YUI 3.15.0, the latest and greatest version of YUI. It’s now available via the CDN, npm, or as a zip archive. Andrew Wooldridge did a great job introducing the new features in this release, so make sure to check that out. You can also view the changelog.

There were a total of 449 commits by 19 contributors for this release. Thanks again to the entire YUI community for helping us ship another release. Try it out today!

YUI Open Roundtable

We had a great YUI Open Roundtable featuring Andrew Nicols from Moodle talking about all of the challenges dealing with a broad range of browers, supporting many legacy versions of their software, and distributing a large codebase.

Next week’s guest on the YUI Open Roundtable will be Andy Earnshaw, author of Intl.js.

YUIConf Videos

There were some more YUIConf videos out this week! Are you caught up yet?

  • Evan Goer on Thinking of Documentation as Code
  • Pull-Request-A-Palooza with Anthony Pipkin
  • Bill Walker on Firefox Marketplace: Breaking the Stranglehold of App Stores

The World of JavaScript

Here are some good articles to get you up-to-speed on what’s been happening in the world of JavaScript this week.

  • TasteJS had a great post on how to write a web app using ES6, and then transpile it to work in ES5 environments.
  • Ariya Hidayat dicussed the differences between `substring()`, `slice()`, and `substr()`.
  • There was a great article on Promise Anti-patterns over at Tao Of Code.

That’s all for this week! See you in 7 days!

Conclusion

That’s all for this week. Until next time, folks!

Posted in: YUI Weekly | Place a Comment »

YUIConf 2013: Evan Goer on Thinking of Documentation as Code

By Andrew WooldridgeFebruary 28th, 2014

The weather may be keeping you inside this Friday, but that gives you a great opportunity to check out some great YUIConf 2013 videos. Today we feature the talk from Evan Goer following up on his last year’s talk on “Thinking of Documentation as Code“. From there, you can watch the previous video or watch all of the available YUIConf talk with our YouTube playlist.

You can find the slides on SlideShare.

Posted in: Development, YUI Theater, YUIConf | 2 Comments »

YUIConf 2013: Pull-Request-A-Palooza with Anthony Pipkin

By Andrew WooldridgeFebruary 27th, 2014

Today we have another great YUIConf 2013 video to share with you. This one features Anthony Pipkin talking about the anatomy of a perfect pull request in a talk entitled “Great Pull Reqests” followed by the “Pull-Request-A-Palooza” as a Q&A session on pull requests and issues. You can check out the previous talk as well as all of the YUIConf 2013 talks with our playlist on YouTube.

Posted in: Development, YUI Theater, YUIConf | 2 Comments »

YUI 3.15.0 Released

By Andrew WooldridgeFebruary 26th, 2014

We are happy to announce the release of YUI 3.15.0! You can find this release on the Yahoo CDN, through npm, and downloadable via a .zip archive. The YUI Library website has also been updated to reflect the changes in this release.

What’s New In This Release

If there was one person who has had the biggest impact on this release, it would be Juan Dopazo. He has been doing quite a bit of work around adding support for ES6 modules in YUI. He updated the underlying implementation of Y.soon in the Timers module, and also contributed a huge amount of work to the Promise module. In addition he did a good amount clean-up work behind the scenes on the inline docs across the library. Beyond this, there were changes and updates across a wide variety of modules, and a huge effort went into bringing down the number of test failures from our website examples.

App Framework Updates

In the App Framework ModelSync.local was refactored to use a different and more readable storage system. Note that this system is backwards-incompatible with the old storage system but the API remains the same so you don’t need to change application code unless you want to maintain the data that is already present in localstorage today. In addition, there was a fix to history-hash-ie to prevent it loading for non-IE browsers (#1613).

Attribute Fixes

In Attribute, a issue was fixed where reset() would fail when resetting an attribute called 'length'.

Calendar Changes

Two issues were fixed in the Calendar module. The first changes the behavior of Calendar to use visibility:inherit instead of visibility:visible for compatibility with overlays (thanks @jafl). The second fixes an issue where the Calendar cell of the next month appears to be selectable (see #1559 for details, and thanks to @shunner for the fix).

Charts Updates

The Charts module received two updates as well. In a single series histogram the _maxSize property was not updated (#1480). The labelFormat attribute was added to CategoryAxisBase and CategoryAxis.

Date Updates

There were some changes to Date that landed in the tree between releases that caused a number of test failures. Those changes were reverted until the tests can be updated to fix the failures (see details here, here and here).

Drag and Drop Fixes

In Drag and Drop, a bug where drop:hit didn’t fire was fixed (thanks @hacklschorsch ). When starting a gesturemove event, the default page action is prevented and fixes an issue where browsers were selecting the text when dragging (thanks @andrewnicols).

DOM Fixes

In DOM we have two fixes thanks to @okuryu. The first fixes an issue where if you set an input value to null resulted in a node.value ===”null” in IE9. The second fixes an issue in setStyle() where you could not set an opacity to 1.

Event Infrastructure and Event Simulate Changes

If there was one bug you might have seen and really wished was fixed, it was probably one in Event where you would see an event.returnValue is deprecated warning in Chrome. A big thanks to @zhiyelee for fixing this! Also, @andrewnicols reduced categories of certain noisy log events in the event module and added categories for those that were missing some (#1605). Lastly, support was added for W3C Pointer events in the tap event. This fixed an issue were the type of pointer event objects was changed from MSPointerDown to pointerdown to comply with their proposed W3C standard.

In Event Simulate, whitelisted W3C Pointer events were added.

Graphics Updates

Graphics received two updates. The first parses an rgba value into a color string and opacity value for vml fill and stroke. The second addressed an issue with path chaining in the canvas implementation of graphics.

IO Fix

There was an issue in io-upload-iframe fixed by @andrewnicols where the code would attempt to reset attributes of a form element that no longer existed on the page (#1465 ).

Loader Performance Improvements

Since Loader is fundamental to YUI, any updates here often have a broad impact on the library. Ezequiel optimized the calculate method to now use a topological sort (a variation of a depth first search) to generate a valid dependency order. If you find any issues with this new behavior, please file an issue (you must be logged in).

Promise Updates and Deprecations

The next version of YUI introduces several changes to align them better to the emerging EcmaScript 6 standard.

There are new static methods for creating promises: Promise.resolve and Promise.reject. These are factory counterparts for the functions available to the promise initialization function. A typical use case is rejecting early when a function that returns a promise gets a wrong input:

There are new static methods for combining promises: Promise.all and Promise.race. Promise.all is similar to Y.batch but it takes an array, which makes it easier to keep a list of promises and pass it to Promise.all(arrayOfPromises).

The resolve function now handles promises as values. If a promise for the value ‘foo’ is passed to resolve, the new promise will be fulfilled with foo as soon as the first one is fulfilled.

This is also true for the static Promise.resolve.

The method promise.getStatus() is deprecated to align with the new EcmaScript standard for promises. Internally, the use of a Resolver object will also be removed in the future to match the API in Chrome and Firefox.

YUI Test Addition

In YUI Test a new method was added test.next(fn) which returns a callback that automatically resumes asynchronous tests.

Timers Changes

Another relatively big change in this release is the importing of asap.js as the underlying implementation of Y.soon. Tasks scheduled during the flushing of the queue are pushed to the end of the queue instead of being scheduled for a new tick.

Widget Modality Fix

A bug was fixed in Widget Modality where the widget would focus before it was actually rendered and caused a jump in the window position (thanks @andrewnicols).

YUI Core Changes

In YUI Core, a method called Y.require() was added for importing ES6 modules. It’s similar to Y.use() but it follows the following signature.

Also in YUI Core @andrewnicols set the default logLevel to info if missing or not a real category (#1610). Contributor @adinardi fixed UA detection in recent versions of the Amazon Silk browser (#1576). And finally, the value of this was fixed inside ES6 definitions.

Additional Information

There were a total of 449 commits by 19 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.

Posted in: Development, Releases | 3 Comments »
« Older Entries

Pages

  • About
  • Contribute
  • YUI Jobs

Recent Posts

  • YUI Weekly for March 7th, 2014
  • YUIConf 2013: Lightning talks
  • YUIConf 2013: Reid Burke on Testing YUI Everywhere
  • YUI Weekly for February 28th, 2014
  • YUIConf 2013: Evan Goer on Thinking of Documentation as Code

Archives

Categories

  • Accessibility (25)
  • CSS 101 (8)
  • Design (51)
  • Development (644)
  • Frontend Jobs at Yahoo (13)
  • Graded Browser Support (8)
  • In the Wild (63)
  • Miscellany (13)
  • Open Hours (44)
  • Performance (23)
  • Releases (44)
  • Target Environments (11)
  • Yeti (5)
  • YUI 3 Gallery (33)
  • YUI Events (48)
  • YUI Implementations (55)
  • YUI Theater (164)
  • YUI Weekly (69)
  • YUIConf (27)

Meta

  • Log in
  • Entries RSS
  • Comments RSS
  • WordPress.org
© 2014 YUI Blog