Skip to content

Khepri 0.18.1

Choose a tag to compare

@dumbbell dumbbell released this 24 Aug 11:39
· 199 commits to main since this release
v0.18.1
1ad6b69

Khepri is still under active development. It is safe to use in production. However, the API will likely evolve and future releases will likely introduce breaking changes.

What's new in Khepri 0.18.1

Several bug fixes and optimisations from Khepri 0.17.8

See the release notes of Khepri 0.17.8.

Horus 0.5.0

Horus was updated to version 0.5.0. This release makes it possible to run a cluster of Khepri members using a mix of Erlang versions. For example, some members on Erlang 27 and some members on Erlang 28.

Before this change, it was impossible to do so because a transaction, a projection or a store procedure created by a member running Erlang 28 would fail to run on the Erlang-27-based member. That member would then be unable to apply anything and follow the cluster. This could even lead to a loss of quorum until all members were running Erlang 28.

See #418.

Other changes

  • Fix type spec of khepri_machine:api_behaviour_to_machine_version/1 (#387).
  • Fix the doc of machine version 3 (#391).
  • Update Ra from 3.1.2 to 3.1.10 (#383, #419).

Download

Khepri is available from Hex.pm: https://hex.pm/packages/khepri/0.18.1

Upgrade

Using Rebar:

  1. Update your rebar.config:

    %% In rebar.config
    {deps, [{khepri, "0.18.1"}]}.
  2. Run rebar3 upgrade khepri.

Using Erlang.mk:

  1. Update your Makefile:

    %% In your Makefile
    dep_khepri = hex 0.18.1
  2. Remove the deps/khepri directory. The new version will be fetched the next time you build your project.

Documentation

The documentation for Khepri is available on Hex.pm.