3 This file lists changes for the GoVPP releases.
14 ## 0.4.0 (in development)
18 - generator code has been split into multiple packages:
19 - [vppapi](binapigen/vppapi) - parses VPP API (`.api.json`) files
20 - [binapigen](binapigen) - processes parsed VPP API and handles code generation
21 - previously required manual patches for generated code should not longer be needed
22 - any types imported from other VPP API (`*_types.api`) files are now automatically resolved for generated Go code
23 - dependency on `github.com/lunixbochs/struc` was removed and message un/marshaling is now part of generated code
24 - generated code now contains comment with information about versions of VPP and binapi-generator
25 - RPC service code is now generated into a separated file (`*_rpc.ba.go`) in same directory
26 - many generated aliases were removed and referenced to `*_types` files for simpler reading
27 - generated new helper methods for more convenient IP and MAC address conversion
30 - optimized [socketclient](adapter/socketclient) adapter and add method to set client name
31 - added list of compatible messages to `CompatibilityError`
32 - removed global binary API adapter - this change allows GoVPP to manage multiple VPP connections with different
33 sockets simultaneously
36 - `MsgCodec` will recover panic occurring during a message decoding
37 - calling `Unsubscibe` will close the notification channel
40 - improved log messages to provide more relevant info
43 - added more code samples of working with unions in [union example](examples/union-example)
44 - added profiling mode to [perf bench](examples/perf-bench) example
45 - improved [simple client](examples/simple-client) example to work properly even with multiple runs
46 - added [multi-vpp](examples/multi-vpp) example displaying management of two VPP instances from single
50 - updated `github.com/sirupsen/logrus` dep to `v1.6.0`
51 - updated `github.com/lunixbochs/struc` dep to `v0.0.0-20200521075829-a4cb8d33dbbe`
57 - statsclient: Fix stats data errors and panic for VPP 20.05
63 - binapi-generator: Format generated Go source code in-process
69 - proxy: Unexport methods that do not satisfy rpc to remove warning
75 - statsclient: Fix panic occurring with VPP 20.05-rc0 (master)
81 - Fix import path in examples/binapi
87 - binapi-generator: Fix parsing default meta parameter
90 - api: Improve compatibility checking with new error types:
91 `adapter.UnknownMsgError` and `api.CompatibilityError`
92 - api: Added exported function `api.GetRegisteredMessageTypes()`
93 for getting list of all registered message types
94 - binapi-generator: Support imports of common types from other packages
95 - binapi-generator: Generate `Reset()` method for messages
96 - binapi-generator: Compact generated methods
99 - deps: Update `github.com/bennyscetbun/jsongo` to `v1.1.0`
100 - regenerate examples/binapi for latest VPP from stable/2001
106 - fixed socketclient for 19.08
107 - fixed binapi compatibility with master (20.01-rc0)
108 - fixed panic during stat data conversion
111 - introduce proxy for remote access to stats and binapi
112 - optimizations for statclient
115 - migrate to Go modules
116 - print info for users when sockets are missing
121 The first release that introduces versioning for GoVPP.