[ANN] json-data-encoding 0.9

On behalf of Nomadic Labs, I’m happy to announce the release of json-data-encoding version 0.9.

The code is hosted on Gitlab: Nomadic Labs / json-data-encoding · GitLab
It is distributed under GNU LGPL with linking exception.
The documentation is available online: index
The package is available under opam: opam install json-data-encoding

json-data-encoding is a library to define encoder/decoder values to translate OCaml values to JSON and back. It also generates JSON schemas so you can document the value representation. It can use either Ezjsonm or Yojson as backends.

The version 0.9 has the following new features:

One major difference with the previous release is the inclusion of a lexeme-streaming JSON constructor. Specifically, the function

val construct_seq : 't encoding -> 't -> jsonm_lexeme Stdlib.Seq.t

generates a sequence of Jsonm.lexeme (the . This sequence is lazy (in the sense of Stdlib.Seq not of Stdlib.Lazy) and it paves the way to a similar feature in data-encoding. An interesting feature of sequences is that they can be used in Vanilla OCaml settings as well as Lwt/Async settings where they allow user-driven yielding in between elements.


On behalf of Nomadic Labs, it is my pleasure to release json-data-encoding.0.9.1. The code of this packaging-fix release is identical to the recent json-data-encoding.0.9 but the license information has been corrected.

The previous release had LGPL with linking exception headers in the source files, LICENSE file in the repository, and license field in the opam file. However, the code was actually under MIT as per agreement of the copyright holders. Release 0.9.1 has the correct license headers, LICENSE file and license field in the opam files.

The code of 0.9/0.9.1 is in dual license. Future releases will be under MIT license only.