# \[ANN\] First release of data-encoding, JSON and binary serialisation

**URL:** <https://discuss.ocaml.org/t/ann-first-release-of-data-encoding-json-and-binary-serialisation/4444>\
**Category:** Community\
**Created:** [September 27, 2019, 7:46am UTC](https://discuss.ocaml.org/t/ann-first-release-of-data-encoding-json-and-binary-serialisation/4444 "2019-09-27T07:46:49Z")\
**Posts on this page:** 1\
**Showing post:** 1

<div class="post-metadata">

**Author:** ![raphael-proust](https://sea2.discourse-cdn.com/flex020/user_avatar/discuss.ocaml.org/raphael-proust/32/415_2.png) [@raphael-proust](https://discuss.ocaml.org/u/raphael-proust)\
**Post date:** [September 27, 2019, 7:46am UTC](https://discuss.ocaml.org/t/ann-first-release-of-data-encoding-json-and-binary-serialisation/4444/1 "2019-09-27T07:46:49Z")

</div>

On behalf of Nomadic Labs, I’m pleased to announce the first public release of `data-encoding`: a library to encode and decode values to JSON or binary format. `data-encoding` provides fine grained control over the representation of the data, documentation generation, and detailed encoding/decoding errors.

In the [Tezos](https://gitlab.com/tezos/tezos) project, we use `data-encoding` for binary serialisation and deserialisation of data transported via the P2P layer and for JSON serialisation and deserialisation of configuration values stored on disk.

The library is available through opam (`opam install data-encoding`), hosted on Gitlab ([https://gitlab.com/nomadic-labs/data-encoding](https://gitlab.com/nomadic-labs/data-encoding)), and distributed under MIT license.

This release was only possible following an effort to refactor our internal tools and libraries. Most of the credit for this effort goes to Pietro Abate and Pierre Boutillier. Additional thanks to Gabriel Scherer who discovered multiple bugs and contributed the original crowbar tests.

Planned future improvements of the library include:

- splitting the library into smaller components (to minimise dependencies when using only a part of the library), and
- providing multiple endianness (currently the library only provides big-endian binary encodings).

---

_[View the full topic](https://discuss.ocaml.org/t/ann-first-release-of-data-encoding-json-and-binary-serialisation/4444)._
