- Added support for a
predicate
option that uses bluebird's filtered catch so that only errors matching a particular type or predicate function cause the operation to retry. - Reworked the error handling to handle the case where the function rejects with a non-Error object and to no longer replace the timeout error stack with the original error's stack.