changed the behavior of promise.log(), and minor