mte/unikernel/duniverse/mirage-kv/CHANGES.md
2025-11-11 02:07:51 +01:00

90 lines
3.2 KiB
Markdown

### 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.