Use Q.finally(f) instead of Q.done(f,f) to make sure that the internal done is always executed and to let Q.done() to handle errors.
Bump the version to 0.6.1 for minor fixes