when v1.5.0 Release Notes
-
- ๐ New task execution and concurrency management: [when/sequence](docs/api.md#whensequence), [when/pipeline](docs/api.md#whenpipeline), and [when/parallel](docs/api.md#whenparallel).
- ๐ Performance optimizations for [when.all](docs/api.md#whenall) and [when.map](docs/api.md#whenmap), up to 2x in some cases.
- ๐ Options for disabling [paranoid mode](docs/api.md#paranoid-mode) that provides a significant performance gain in v8 (e.g. Node and Chrome). See this v8 performance problem with Object.freeze for more info.
- Important:
deferred
anddeferred.resolver
no longer throw when resolved/rejected multiple times. They will return silently as if the they had succeeded. This prevents parties to whom only theresolver
has been given from usingtry/catch
to determine the state of the associated promise.- For debugging, you can use the when/debug module, which will still throw when a deferred is resolved/rejected multiple times.