Fluture Versions Save

🦋 Fantasy Land compliant (monadic) alternative to Promises

11.0.1

5 years ago

Corrects an issue in the TypeScript typings for the chainRej function.

11.0.0

5 years ago

:warning: Breaking changes

  • #311 Disposal Futures provided to hook are no longer allowed to reject. When they do, an Error is raised, and the process should be treated as corrupt.
  • #313 Add TypeScript definitions for debugMode and Future.alt.

10.3.0

5 years ago

:sparkles: New Features

  • Implemented Fantasy Land Alt on Future instances (alt). As a result, the or function is now an alias of alt.

10.2.0

5 years ago

:sparkles: New Features

  • Add "async stack traces": A feature which makes caught errors have extra stack traces appended to their stack property, allowing users to trace the origin of an exception across multiple ticks.
  • Add Future.debugMode: A function to turn async stack traces on or off.

:rocket: Improvements

  • Reduce bundle size through dependency trimming
  • Fix a bug where a Computation could settle after crashing

10.1.0

5 years ago

:sparkles: New Features

  • Add Future#pipe: A method for inclusion of regular functions in a fluent method-chain.

:rocket: Improvements

  • Reduce bundle size through dependency trimming
  • The ConcurrentFuture type now works properly with sanctuary-show

10.0.0

5 years ago

:warning: Breaking changes

  • #276 The "module" package file has been renamed from index.mjs.js to index.mjs.
  • #277 It is no longer possible to use Future.ap, Future.map, Future.bimap, Future.chain, or Future.alt on non-Fantasy Land types. If you were using any of these functions from Fluture to treat JavaScript's native types as Fantasy Land algebraic types, you should migrate those call-sites to use the Ramda or Sanctuary exported dispatchers instead.
  • #281 Future.finally no longer runs the cleanup Future when it is cancelled. If you rely on this behaviour, I urge you to rewrite the relevant code with Future.hook (even if you don't upgrade Fluture).

:sparkles: New features

  • #276 The Fluture source is now loadable by Node's experimental module loader, and the esm loader.
  • #280 The Future.of function now has an alias resolve, which is exported statically as well as exposed as a property on the Future constructor.

:bug: Bug fixes and improvements

  • #277 Fluture no longer depends on sanctuary-type-classes, reducing bundle size.
  • #277 Performance of Fantasy Land dispatchers greatly improved.
  • #281 The undesired consequences of the cancellation-related behaviour in Fluture.finally are gone now that the behaviour has been removed.

9.0.0

5 years ago

:warning: Breaking changes

  • #224 Exceptions are now caught and rethrown in fork.
  • #230 Many of the TypeScript type definitions that used never now use a generic instead.
  • #238 When unsubscribing from a Future created by hook, the cancellation signal is no longer sent to the disposal Future.
  • #266 Exported TypeScript interfaces have been renamed to avoid naming conflicts with exported values.

:sparkles: New features

  • #250 Included interoperability with Sanctuary Show
  • #261 Added a new function, forkCatch, which allows for exception recovery.

8.0.0

6 years ago

This release updates sanctuary-type-classes, which contains a breaking change. This change will only affect you if you are using Future.map on other Functors, specifically, Objects.

:warning: Breaking changes

  • #157 When mapping over an Object using Future.map, inherited properties are no longer transformed.

7.2.0

6 years ago

:sparkles: New features

  • All code is now published as es5, allowing front-end builds to apply tree-shaking without worrying about transpiling es6.

:bug: Bug fixes

  • Corrected a mistake in the TypeScript type definitions which caused the default export from Fluture to be typed incorrectly.
  • Fixed an issue where TypeScript would not recognize that the return values of generator functions conform to Fluture's Iterator interface.