X-Git-Url: https://gerrit.fd.io/r/gitweb?a=blobdiff_plain;f=CHANGELOG.md;h=44a8c2d612044cbdf9c0440c2ed6ad6747365e1c;hb=2fdb2acee79b43af3e4edb7cac4a5cae428f587e;hp=c237fd60c1c80407fdfd3f1c7e31c49851492874;hpb=b1006dced4cc0c23d9dc754e97d89500aeb55170;p=govpp.git diff --git a/CHANGELOG.md b/CHANGELOG.md index c237fd6..44a8c2d 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -2,15 +2,120 @@ 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_ + +### Fixes +- statsclient: Fix stats data errors and panic for VPP 20.05 + +## 0.3.4 +> _17 April 2020_ + +### Features +- binapi-generator: Format generated Go source code in-process + +## 0.3.3 +> _9 April 2020_ + +### Fixes +- proxy: Unexport methods that do not satisfy rpc to remove warning + +## 0.3.2 +> _20 March 2020_ + +### Fixes +- statsclient: Fix panic occurring with VPP 20.05-rc0 (master) + +## 0.3.1 +> _18 March 2020_ + +### Fixes +- Fix import path in examples/binapi + +## 0.3.0 +> _18 March 2020_ + +### Fixes +- binapi-generator: Fix parsing default meta parameter + +### Features +- api: Improve compatibility checking with new error types: + `adapter.UnknownMsgError` and `api.CompatibilityError` +- api: Added exported function `api.GetRegisteredMessageTypes()` + for getting list of all registered message types +- binapi-generator: Support imports of common types from other packages +- binapi-generator: Generate `Reset()` method for messages +- binapi-generator: Compact generated methods + +### Other +- deps: Update `github.com/bennyscetbun/jsongo` to `v1.1.0` +- regenerate examples/binapi for latest VPP from stable/2001 + +## 0.2.0 +> _04 November 2019_ + +### Fixes +- fixed socketclient for 19.08 +- fixed binapi compatibility with master (20.01-rc0) +- fixed panic during stat data conversion + +### Features +- introduce proxy for remote access to stats and binapi +- optimizations for statclient + +### Other +- migrate to Go modules +- print info for users when sockets are missing + ## 0.1.0 > _03 July 2019_ The first release that introduces versioning for GoVPP. - -### VPP compatibility - -| VPP | Status | Notes | -|---|---|---| -| 19.08-rc0 | ❕ | preliminary support (`19.08-rc0~478-g2f5f` recommended) | -| 19.04 | ✔ | latest release (preffered) | -| 19.01 | ✔ | limited capabilities (dropping soon) |