Remove unnecessary allocation
[govpp.git] / CHANGELOG.md
index 145d1b1..44a8c2d 100644 (file)
@@ -11,6 +11,45 @@ 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
+
+### Other
+- improved log messages to provide more relevant info
+
+#### Examples
+- 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`
+- updated `github.com/lunixbochs/struc` dep to `v0.0.0-20200521075829-a4cb8d33dbbe`
+
 ## 0.3.5
 > _18 May 2020_