We just released when.js 2.0.0! This version is brings full Promises/A+ compliance, and async promise resolutions. We also added a couple new features, including a new when/keys module for working with object keys, with all() and map() similar to when.all() and when.map().
As you'd expect with a major version bump, this isn't a drop-in replacement for when 1.x. Several
deprecated functions have been removed. To help specifically with the removal of deferred.then, the when/debug module will log very noisy stack traces if you have any leftover usages of deferred.then, pointing to the spot where the deferred in question was created (via when.defer()).