Promesa Versions Save

A promise library & concurrency toolkit for Clojure and ClojureScript.

10.0.571

1 year ago

Reverted deprecation for then' and for chain'.

10.0.570

1 year ago

Relevant changes (mainly focused on JVM/Clojure):

  • Fixes and API stabilization on promesa.exec.csp (channels & csp patterns for Clojure, that leverages vthreads)
  • Add mult support to promesa.exec.csp
  • Make promesa.exec.csp/pipe (and many other helpers) do not need internal go-block, making them viable to use in non-vthreads supporting runtime.
  • Allow Duration instances to be passed for schedule and many other timeout related arities.
  • Add genera purpose promesa.core/await! helper for uniformly wait blocking current thread an asynchronous work termination (such that Thread, CountDownLatch, or CompletableFuture, where each one implements its own mechanism and await! unifies it under single API call, do not be confused with async/await functionality)
  • Add mcat, merr, hmap, hcat and fnly promise composition functions that intends to be used with ->> instead of -> and focused on performance/efficiency because they a re not performing defensive unwrapping (in difference to then, handle and catch)
  • Add some convenience helpers for working with threads and vthreads (such that: interrupt, check interruption flag, sleeping, ...)
  • General code cleaning and internal efficiency improvements.

9.1.538

1 year ago

9.0.507

1 year ago

9.0.489

1 year ago

9.0.477

1 year ago

8.0.446

2 years ago
  • Make promise? to check for IPromise protocol instead of concrete types. Now it should more easy extend promise to other promise like types.
  • Rename promise.core/do! macro to promise.core/do (backward compatible, previous macro still in the codebase)
  • Add promise aware with-redefs macro (thanks to @eccentric-j)

7.0.444

2 years ago

REVERT: Make promise? to check for IPromise protocol instead of concrete types. Because the impl was wrong.

7.0.443

2 years ago
  • Add better builtin clj-kondo config (thanks to @wilkerlucio)
  • Make promise? to check for IPromise protocol instead of concrete types.
  • Add promesa.exec/with-dispatch macro.

7.0.437

2 years ago
  • Make the bind function behave as it should behave (like bind and not being then alias). This is technically a breaking change.