Skip to content

Latest commit

 

History

History
98 lines (85 loc) · 4.1 KB

Changelog.md

File metadata and controls

98 lines (85 loc) · 4.1 KB

5.0.0: Unreleased

  • Merge messages when receiving multiple messages for the same field (#57)
  • Optimize serialization and deserialization (#55)
  • Fix upper case handling in name mangling and apply name mangling for serivce records (#54) (thanks @crackcomm)
  • Fix bug in name resolution leading to uncompilable code (#53)

4.5.0: 2023-06-16

  • Add more fields in generated service structs to make it easier to extract service endpoint names for gRPC (#50)
  • Remove buckescript packaging support (#45)

4.4.0: 2023-03-13

  • Emit modules for service endpoints with request/reply and gRPC endpoint name (thanks @Nymphium)
  • Support importing from proto files with - in their name.

4.3.1: 2022-09-12

  • Fix serialization/deserialization on big endian architectures
  • Update tests for proto3 optional fields
  • Remove dependency on dune-configurator

4.3.0: 2022-09-09

  • Use pkg-config to locate google well known types (thanks @vprevosto)
  • Support proto3 optional fields
  • Map proto3 optional fields into option types

4.2.0: 2021-01-31

  • Do not serialize field values when the same as the default attribute.
  • Fix bug when uint32/64 where values are converted to negative integers if high bit is set.
  • Fix bug which prevented specification of multiple opens (thanks @rauanmayemir)

4.1.0: 2020-10-31

  • Fix bug with Proto2 default integer arguments for Int32 and Int64 types
  • Add function to construct messages with default values
  • Add missing includes for google well known types

4.0.0: 2020-05-10

  • Move userdefined opens to beginning of autogenerated files, to allow using new google types
  • [*] Wrap google types (protofiles using googles well known types will need to add open=Google_types to the list of compilation options
  • Disable warning 33 (unused opens) for user provided opens

3.0.0: 2020-01-06

  • Add custom option to mangle names (modules, fields and enums) to more Ocaml idiomatic names (snake_cased)
  • Change type of deserialize error type to be an lower bound polymorphic variant
  • Rewrite type mapping to ensure that no name clashes can exist.
  • Fix bug in nested cursive types referencing wrong types
  • Add custom options, so options to ocaml_protoc_plugin can be embedded in .proto files
  • Support extensions
  • Allow use of message name Ocaml_protoc_plugin
  • *Do not treat oneof fields as required, adding a `not_set variant to all oneofs.
  • Avoid name clash with imported .proto files
  • Avoid eager evaluation of members of recursivbe modules to fix bug triggered in bucklescript - @wokalski

2.0.0: 2019-10-20

  • Add examples
  • *Oneofs with only one element should not be a variant type
  • Add test when including proto files which defines the same package
  • Add google well know types (library ocaml-protoc-plugin.google_types).
  • *Move module to ocaml-protoc-plugin
  • Optimize deserialization of large nested structures
  • Provide pretty_printers aka deriving_show for Result.error and Field.t
  • Fix stack overflow when deserializing big nested structures
  • *Add option to not wrap single field type in records
  • Refactor type emitter to closely follow spec

1.0.0: 2019-10-12

  • 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
  • Dont depend on Base in runtime
  • Slim runtime dependencies: Remove need for base, ocplib-endian and ppx_let
  • Honour [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 serializaton and deserialization to simplify emitted code
  • Eagerly evaluate serialization (for speed).

0.9: 2019-09-25

  • Initial Release