[ANN] Ocaml-protoc.plugin.1.0.0

Hi All,

I’m happy to announce the second release of ocaml-protoc-plugin.

Ocaml-protoc-plugin is a plugin to googles protoc compiler which generates type idiomatic to ocaml from .proto files including full compliant serialization and deserialization functions.

Most noteworthy changes in this release:

  • Full proto2 support.
  • The list of dependencies has been slimmed way down, and now only depends on conf-protoc (the protoc compiler and googles well known types).
  • Buckescript support.
  • Added options to change the ocaml (type for scalar types (int, int64 or int32).

Many thanks to Wojtek Czekalski for helping trimming dependencies and for Buclescript support.

Full changelog:

  • Support enum aliasing
  • Avoid name clash with on ‘name’
  • Fix code generation when argument contains a path
  • Refactor internal types to make serialization and
    deserialization type spec symmetrical.
  • Optimize deserialization for messages with max_id < 1024
  • Don’t depend on Base in runtime
  • Slim runtime dependencies: Remove need for base, ocplib-endian
    and ppx_let
  • Honor [packed=…] flag.
  • Make fixed scalar types default to int32 and int64
  • Support proto2 specification
  • Add options to switch between int64|int32 and int
  • Fix name clash problem with special enum names
  • Refactor serialization and deserialization to simplify emitted code
  • Eagerly evaluate serialization (for speed).
3 Likes