Repository navigation
Release v3.14.2
Chronicle.decide/2 is now safe to call from long-lived processes such as GenServers and Phoenix connections.
Changed
- Returning
{:error, reason}from theChronicle.decide/2function 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/2fails, 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/2andwith_unit_of_work/2stop the unit of work's process when they return, so a long-lived caller no longer collects one linked process per call. (#161)