-
Renamed to
Task
(makes more sense, since now they represent actions). -
BREAKING: Removed
Future.memoise
. -
Major performance improvements.
-
BREAKING: Fixed resource management introduced in 2.x.
-
Allows actions to be cancelled.
-
Adds
Future.rejected
. -
Adds a catamorphism that takes an object.
-
Deprecates
Future.memoise
.
- Semigroup instance for nondeterministic combination.
- BREAKING: Removes Applicative instance.
-
BREAKING: removed partial functions and fields (
toString
,isEqual
,isPending
,isResolved
,isRejected
), since you can't observe them always, and it leads to confusing behaviour. This functionality will be moved to a co-future later. -
BREAKING: removed default memoisation. Since the Futures are just placeholders for actions, it does make sense that chaining a Future twice should execute the action twice. When you want memoisation, you can use the
Future.memoise
construct instead ofnew Future
.// Before: new Future(function(reject, resolve) { ... }) // Now: Future.memoise(function(reject, resolve) { ... })
Initial release