Skip to content

Release v3.14.2

Choose a tag to compare

@github-actions github-actions released this 15 Oct 10:09
8e7d4fe

Chronicle.decide/2 is now safe to call from long-lived processes such as GenServers and Phoenix connections.

Changed

  • Returning {:error, reason} from the Chronicle.decide/2 function now rejects the decision: nothing the function appended is written, and {:error, reason} is returned as-is instead of {:ok, {:error, reason}}. Code that matched {:ok, {:error, _}} should match {:error, _} instead. (#161)

Fixed

  • When the commit inside Chronicle.decide/2 fails, for example because the kernel is unreachable, the unit of work is rolled back. Later appends from the same process go to the event log instead of being buffered into the failed unit of work and lost. (#161)
  • Chronicle.decide/2 and with_unit_of_work/2 stop the unit of work's process when they return, so a long-lived caller no longer collects one linked process per call. (#161)