- Ensure that
Irmin.update
andIrmin.merge
are atomic. - Fix
Irmin.clone
of an empty branch - Add
Irmin.RW.compare_and_test
that the backends now have to implement
to guarantee atomicity of Irmin's high-level operations. - Add
Irmin.Private.Lock
to provide per-handler, per-key locking. This
can be used by backend to implement simple locking policies. - Add
Lwt.t
to the return type ofIrmin.tag
andIrmin.tag_exn
- Do not throw [Not_found]. Now all the
_exn
function raiseInvalid_argument
(#144) - Remove
Irmin.switch
andIrmin.detach
- Add
Irmin.history
to get the branch history as a DAG of heads (#140). - Fix the computation of lcas (#160)