Khepri 0.17.6
At this point, Khepri should be considered Beta. The API will likely evolve and future releases will likely introduce breaking changes.
What's new in Khepri 0.17.6
The release comes with several non-critical bug fixes:
- Fix use of patterns when we want to handle several expired nodes in a single pass in
remove_expired_nodes1/2(#376). - Handle exception from
ra:trigger_election/2when we expand a Khepri cluster; it was already the case when starting a Ra server (#369). - Cache effective machine version after recovery (#373).
- Allow the use of
?LOG_*()macros in transactions (#377).
The remaining changes are related to docs, Dialyzer fixes or small no-op refactors:
- Refactor the code that needs to know the Ra leader when
khepri_machinewants to remember if the latest command was local or remote (#361). - Fix type specs (#363, #368).
- Use the correct guard to check if an argument is a store ID (#370).
- Fix typo if "maple" (#365).
Download
Khepri is available from Hex.pm: https://hex.pm/packages/khepri/0.17.6
Upgrade
Using Rebar:
-
Update your
rebar.config:%% In rebar.config {deps, [{khepri, "0.17.6"}]}.
-
Run
rebar3 upgrade khepri.
Using Erlang.mk:
-
Update your
Makefile:%% In your Makefile dep_khepri = hex 0.17.6 -
Remove the
deps/khepridirectory. The new version will be fetched the next time you build your project.