- Leave it up to implementations how to interpret
last_modified
for dictionaries, or even not implement it (then returningError (`Value_expected _)
. The previous definition was not well founded when the dictionary doesn't contain any values directly, and some implementations implementslast_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 (returningError (`Value_expected _)
. (reported mirage/ocaml-tar#111, fixed in #43 by @reynir)
- Mirage_kv.Key.add now raises Invalid_argument (instead of Failure). Document that it raises (#40 @reynir)
- 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.
- 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)
- Add
get_partial
andsize
to the RO interface (@palainp #28, review by @yomimono @hannesm) - Add
set_partial
andrename
to the RW interface (@palainp #28, review by @yomimono @hannesm) - Mirage_kv.Key.pp: escape binary keys (#30 @hannesm)
- Return
/
forparent /
andbasename /
(@yomimono, @talex5, #25)
- Remove Mirage_kv_lwt module (#24 @hannesm)
- remove mirage-device dependency (#24 @hannesm)
- Adapt to fmt 0.8.7 dependency (#23 @MisterDA)
- provide deprecated Mirage_kv_lwt for smooth transition (#21 @hannesm)
- 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)
- Major revision of the
RO
signature:
- values are of type
string
- keys are segments instead of a string
read
is now namedget
, and does no longer take an offset and length- the new function
list
is provided - the new functions
last_modified
anddigest
are provided
- A module
Key
is provided with convenience functions to build keys - An
RW
signature is provided, extendingRO
with
- a function
set
to replace a value - a function
remove
to remove a key batch
to batch operations
- Remove
open Result
statements (and drop support to 4.02)
- Port to Jbuilder.
- First release, import
V1.KV_RO
andV1_LWT.KV_RO
from mirage-types.