binapigen: fix union size
[govpp.git] / CHANGELOG.md
index 86e3edc..44a8c2d 100644 (file)
@@ -14,13 +14,27 @@ This file lists changes for the GoVPP releases.
 ## 0.4.0 (in development)
 > _NOT RELEASED YET_
 
+### Binapi Generator
+- generator code has been split into multiple packages:
+  - [vppapi](binapigen/vppapi) - parses VPP API (`.api.json`) files
+  - [binapigen](binapigen) - processes parsed VPP API and handles code generation
+- previously required manual patches for generated code should not longer be needed
+- any types imported from other VPP API (`*_types.api`) files are now automatically resolved for generated Go code
+- dependency on `github.com/lunixbochs/struc` was removed and message un/marshaling is now part of generated code
+- generated code now contains comment with information about versions of VPP and binapi-generator
+- RPC service code is now generated into a separated file (`*_rpc.ba.go`) in same directory
+- many generated aliases were removed and referenced to `*_types` files for simpler reading 
+- generated new helper methods for more convenient IP and MAC address conversion
+
 ### Features
 - optimized [socketclient](adapter/socketclient) adapter and add method to set client name
 - added list of compatible messages to `CompatibilityError`
+- removed global binary API adapter - this change allows GoVPP to manage multiple VPP connections with different 
+  sockets simultaneously
 
 ### Fixes
-- `MsgCodec` will recover panic occurring during a message decoding  
-- calling `Unsubscibe` will close the notification channel 
+- `MsgCodec` will recover panic occurring during a message decoding
+- calling `Unsubscibe` will close the notification channel
 
 ### Other
 - improved log messages to provide more relevant info
@@ -29,6 +43,8 @@ This file lists changes for the GoVPP releases.
 - added more code samples of working with unions in [union example](examples/union-example)
 - added profiling mode to [perf bench](examples/perf-bench) example
 - improved [simple client](examples/simple-client) example to work properly even with multiple runs
+- added [multi-vpp](examples/multi-vpp) example displaying management of two VPP instances from single
+  application
 
 #### Dependencies
 - updated `github.com/sirupsen/logrus` dep to `v1.6.0`