v3.0.0-0
What changed
- The second argument to .exec() (used for handling uncaught errors in asynchronous callbacks that might crash the process) is now only run for asynchronous logic (if the callback is triggered within one tick of the event loop, it is skipped). Note that support for this will likely be deprecated, with an accompanying new warning, in an upcoming release, then removed altogether in the next major version.
- Minor performance hit (~1-2% loss to some build+exec benchmarks vs. 2.x. See v2.4.0-3...v3.0.0-0#commitcomment-24421489 for more information.)
- Bug fix for edge case where an uncaught exception is thrown in the callback passed to .exec(), but where that callback is invoked synchronously (i.e. because the actual custom logic provided to logic is synchronous/blocking). Previously, this was incorrectly treated as a "success", because it was being inadvertently caught by an internal try/catch. Now it is thrown, as intended.
- You may no longer use
_hasAlreadyWaitedAtLeastOneTick
as a method name on your Deferred. (But really, please don't use underscore-prefixed things anyway!)
Complete changelog: v2.4.0-3...v3.0.0-0