package data-encoding

  1. Overview
  2. Docs
Library of JSON and binary encoding combinators

Install

Dune Dependency

Authors

Maintainers

Sources

data-encoding-v0.7.1.tar.gz
md5=a1a36b7ed3e4e17f751462ff54cf1c6f
sha512=93cbec5d3d3828b5368203b76af543c491d545e7d2200a050996289dc705b43ad025bc2e3201a8b1240ea3e2609f4abba9000ea15c53b84294f0cf3bfd89a92d

CHANGES.md.html

CHANGES.md

v0.1: Initial Release

v0.1.1:

  • customizable initial size for internal buffer

  • remove single lwt related function and lwt dependency

v0.2:

  • CI tests

  • error management improvements (use result, allow exn and option)

  • do not print 0-sized fields in binary descriptions

v0.3:

  • Adapt to json-data-encoding.0.9.1 and provide json-lexeme seq to string seq

  • Improved performance

  • maximum_length to determine static size bounds (when possible)

  • provide to_/of_string alongside to_/of_bytes

  • Improved documentation

  • Increase test coverage

  • Fix JSON encoding of Result

v0.4:

  • catch exceptions in user-provided functions

  • provide conv_guard to help enforce invariants

  • remove unused read_error constructor: Invalid_size

  • check that int31 is actually within int31 bounds

  • add "slicing" feature to analyse binary encoded values

v0.5:

  • add compact encoding combinators

  • add fixed-length list and fixed-length array combinators

  • fix bug wherein mu (… option …) caused an infinite recursion

  • fix roundtrip property of BSON

  • fix error management of lazy encodings (consistent with non-lazy encodings)

  • add a default argument to Json.construct: ?include_default_fields, which is simply passed on to Json_encoding.construct

  • fix missing exported type

v0.5.1:

  • fix bug wherein infinite recursion protection prevented some legitimate uses

v0.5.2:

  • make compact encoding's JSON encoding less opinionated

v0.5.3:

  • fix bug wherein the binary description of zeroable encodings was invalid RST

  • make compact encodings JSON output identical to that of vanilla encodings

v0.6:

  • OCaml 4.14 support (including CI tests)

  • new tutorial

  • fix pathological performance issues when generating some binary descriptions for mu+union encodings

v0.7:

  • Improve documentation structure

  • Fix bug when using a negative number for a fixed-size argument

  • Support N-style uint encoding and Z-style int encoding

  • Give control over JSON strings representation to user

  • Fix bug when length and write would disagree on validity

  • Allow the use of N-style size prefixes

  • Allow the use of length prefixes (rather than size prefixes)

  • Export type equalities between Data_encoding.Encoding and Data_encoding

  • Improve binary-schemas for zero-width fields

  • Add a safety-wrapper for some combinators

v0.7.1:

  • Fixed binary-schema reference duplication issue