Releases: fluture-js/Fluture
Releases · fluture-js/Fluture
2.0.0
- #6 Values returned from the Future constructor computation
are now type-checked to be a nullary function or void. - #6 Infinitely recurring Futures (eg.
function recur(){ Future.after(1, 1).chain(recur) }
) will
now cause stack- or memory-overflow. Please use the new
Future#recur()
function to perform infinite recursion. - #18
Future.Guard()
has been removed in favour of the new
Future()
-constructor. - #18 The
Future()
constructor now functions likeFuture.Guard()
:
Its continuations ignore any calls after the first.
✨ New features
- #6 Cancellation.
fork()
andvalue()
now return acancel
function which when called causes underlying Futures to be
cancelled. Every Future may contain its own cancellation
logic through a function created inside its computation. - #6 Every existing utility has been upgraded to contain
appropriate cancellation logic. For example;Future.after()
will clear its internal timeout when cancelled; releasing
its grasp on the event loop.
🐛 Fixes
- Partially applied curried static functions no longer have
prettytoString
functions. This improves their performance
by a factor of three is some situations. - #19 FantasyLand is no longer a dependency.
- A bug was fixed where some values could not be cast to String
for display in error messages.
2.0.0 beta 2
Fixes a small bug involving casting Streams and similar objects to string.
2.0.0 beta 1
Beta version for the 2.0.0 release
1.2.1
1.2.0
1.1.0
New features
- Added Future.swap()
- Added Future.hook()
- Added Future.finally()
Improvements
- Textual ordinals in error messages:
"first argument" instead of "argument 0" - Documentation and unit testing improvements