Skip to content

Major rewrite

Compare
Choose a tag to compare
@andersfugmann andersfugmann released this 19 Apr 20:11
· 82 commits to master since this release

This release features a major rewrite, and complete compatibility with Ppx_deriving_yojson, to allow Ppx_protocol_conv_json be a drop in replacement.

The deserialization functions now returns a result type. The previous exception style behavior is still available in function suffixed with _exn.

This release is not backward compatible with previous releases.

A short list of changes since version 4.0.0:

  • Add option make make lazy type indeed lazy
  • Add option to mangle variant names
  • Refactor tuple, variant and record code to be more efficient
  • Reduce amount of closures in generated code
  • Support nativeint
  • Remove superfluous rec flag from generated code
  • Cache partial results for recursive types
  • Fix signatures for parameterized types
  • Create helper module for tuple, record and variant.
  • Add strict option
  • create t_to_driver and t_to_driver_exn
  • Move some documentation to wiki pages
  • Add a TLDR to the README, including dune build instructions
  • Allow core < v.013
  • Switch to use alcotest
  • Expose constructor to driver error type for custom parsers. (@paurkedal)