package mirage-kv

  1. Overview
  2. Docs
MirageOS signatures for key/value devices






v6.1.1 (2023-03-29)

  • Leave it up to implementations how to interpret last_modified for dictionaries, or even not implement it (then returning Error (`Value_expected _). The previous definition was not well founded when the dictionary doesn't contain any values directly, and some implementations implements last_modified differently from the description on dictionaries. (reported in #41, fixed in #42 by @reynir)

  • Leave it up to implemetations how to interpret digest for dictionaries, or even not implement it (returning Error (`Value_expected _). (reported mirage/ocaml-tar#111, fixed in #43 by @reynir)

v6.1.0 (2023-01-31)

  • Mirage_kv.Key.add now raises Invalid_argument (instead of Failure). Document that it raises (#40 @reynir)

v6.0.1 (2022-12-15)

  • Specify in RO.list that the returned list consists of keys being absolute, and kinds (#38 #39 @reynir @hannesm)

  • BREAKING: Before 6.0.0, the return type of RO.list consisted of a string and kind list, where the string was relative. Now it is absolute.

v6.0.0 (2022-12-12)

  • Use ptime directly for RO.last_modified, instead of the int * int64 pair (#34)

  • Add RW.allocate to allocate a key and fill it with zero bytes (#34)

  • RO.list: return Key.t instead of string (#37, fixes #33)

  • Introduce a custom error for RW.rename with a source which is a prefix of destination (#37, fixes #31)

  • Use Optint.Int63.t for RO.size, RO.get_partial, RO.set_partial (#37, fixes #32)

  • Remove RW.batch (#37, fixes #29 #36, discussed at the MirageOS meeting in November, and on the mirageos-devel mailing list in January 2022)

  • Key.pp: escape the entire string, not individual fragments (#35)

v5.0.0 (2022-09-07)

  • Add get_partial and size to the RO interface (@palainp #28, review by @yomimono @hannesm)

  • Add set_partial and rename to the RW interface (@palainp #28, review by @yomimono @hannesm)

  • Mirage_kv.Key.pp: escape binary keys (#30 @hannesm)

v4.0.1 (2022-02-28)

  • Return / for parent / and basename / (@yomimono, @talex5, #25)

v4.0.0 (2021-11-15)

  • Remove Mirage_kv_lwt module (#24 @hannesm)

  • remove mirage-device dependency (#24 @hannesm)

  • Adapt to fmt 0.8.7 dependency (#23 @MisterDA)

v3.0.1 (2019-11-04)

  • provide deprecated Mirage_kv_lwt for smooth transition (#21 @hannesm)

v3.0.0 (2019-10-22)

  • remove mirage-kv-lwt (#19 @hannesm)

  • specialise mirage-kv on Lwt.t and value being string (#19 @hannesm)

  • raise lower OCaml bound to 4.06.0 (#19 @hannesm)

v2.0.0 (2019-02-24)

  • Major revision of the RO signature:

  • values are of type string

  • keys are segments instead of a string

  • read is now named get, and does no longer take an offset and length

  • the new function list is provided

  • the new functions last_modified and digest are provided

  • A module Key is provided with convenience functions to build keys

  • An RW signature is provided, extending RO with

  • a function set to replace a value

  • a function remove to remove a key

  • batch to batch operations

v1.1.1 (2017-06-29)

  • Remove open Result statements (and drop support to 4.02)

v1.1.0 (2017-05-26)

  • Port to Jbuilder.

v1.0.0 (2016-12-27)

  • First release, import V1.KV_RO and V1_LWT.KV_RO from mirage-types.