# 2.3.0 - Remove `Promise.spawn` from the public API. - `Promise.async` still inherits the behavior from `Promise.spawn`. - `Promise.async` now wraps the callback in `pcall` and rejects if an error occurred. - `Promise.new` has now has an explicit error message when attempting to yield inside of it. # 2.2.0 - `Promise.promisify` now uses `coroutine.wrap` instead of `Promise.spawn` # 2.1.0 - Add `finallyCall`, `andThenCall` - Add `awaitValue` # 2.0.0 - Add Promise.race - Add Promise.async - Add Promise.spawn - Add Promise.promisify - `finally` now silences the unhandled rejection warning - `onCancel` now returns if the Promise was cancelled at call time. - Cancellation now propagates downstream. - Add `Promise:awaitStatus` - Calling `resolve` with a Promise while the resolving Promise is cancelled instantly cancels the passed Promise as an optimization. - `finally` now passes the Promise status as a parameter.