swh:1:snp:61dcfc0dd5674a0e65803e88039c122d9532074e
Tip revision: 3a6e2b424c9764d7a3aeac2346aeaf5bc8c14744 authored by Max on 28 March 2024, 15:13:58 UTC
Merge branch 'drafts' into 'master'
Merge branch 'drafts' into 'master'
Tip revision: 3a6e2b4
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.6.1:
- improve error management when converting lazy-bytes into JSON
v0.7:
- add module with safer encoding combinators
- extend Registration API to allow introspection
- improve binary schema generation
- allow dynamic-width ints for ints (with proper overflow checks)
- allow dynamic-width ints (à la `n`) as size headers
- allow to use length-of-collection as header information instead of size
- export type equalities between `Encoding.t` and `encoding` and so on
- improve documentation
- add new string/bytes combinator with parameters to control the JSON representation
- fix bug in check-size combinator
v0.7.1:
- fixed binary-schema reference duplication issue
v1.0.0:
- merge in the json-data-encoding repository
- allow bigstring encodings
- allow to chose endianness of integers
- allow to ignore extra object fields when destructing JSON
- improve performance of JSON construction/destruction
- improve self documentation of compact encodings
- improve (further) error management when converting lazy-bytes into JSON