2c0ca095b05d5906e10b225d4031c92a84bc5f3b
[govpp.git] / CHANGELOG.md
1 # Changelog
2
3 This file lists changes for the GoVPP releases.
4
5 <!-- TEMPLATE
6 ### Fixes
7 -
8 ### Features
9 -
10 ### Other
11 -
12 -->
13
14 ## 0.4.0 (in development)
15 > _NOT RELEASED YET_
16
17 ### Binapi Generator
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
27 ### Features
28 - optimized [socketclient](adapter/socketclient) adapter and add method to set client name
29 - added list of compatible messages to `CompatibilityError`
30
31 ### Fixes
32 - `MsgCodec` will recover panic occurring during a message decoding
33 - calling `Unsubscibe` will close the notification channel
34
35 ### Other
36 - improved log messages to provide more relevant info
37
38 #### Examples
39 - added more code samples of working with unions in [union example](examples/union-example)
40 - added profiling mode to [perf bench](examples/perf-bench) example
41 - improved [simple client](examples/simple-client) example to work properly even with multiple runs
42
43 #### Dependencies
44 - updated `github.com/sirupsen/logrus` dep to `v1.6.0`
45 - updated `github.com/lunixbochs/struc` dep to `v0.0.0-20200521075829-a4cb8d33dbbe`
46
47 ## 0.3.5
48 > _18 May 2020_
49
50 ### Fixes
51 - statsclient: Fix stats data errors and panic for VPP 20.05
52
53 ## 0.3.4
54 > _17 April 2020_
55
56 ### Features
57 - binapi-generator: Format generated Go source code in-process
58
59 ## 0.3.3
60 > _9 April 2020_
61
62 ### Fixes
63 - proxy: Unexport methods that do not satisfy rpc to remove warning
64
65 ## 0.3.2
66 > _20 March 2020_
67
68 ### Fixes
69 - statsclient: Fix panic occurring with VPP 20.05-rc0 (master)
70
71 ## 0.3.1
72 > _18 March 2020_
73
74 ### Fixes
75 - Fix import path in examples/binapi
76
77 ## 0.3.0
78 > _18 March 2020_
79
80 ### Fixes
81 - binapi-generator: Fix parsing default meta parameter
82
83 ### Features
84 - api: Improve compatibility checking with new error types:
85   `adapter.UnknownMsgError` and `api.CompatibilityError`
86 - api: Added exported function `api.GetRegisteredMessageTypes()`
87   for getting list of all registered message types
88 - binapi-generator: Support imports of common types from other packages
89 - binapi-generator: Generate `Reset()` method for messages
90 - binapi-generator: Compact generated methods
91
92 ### Other
93 - deps: Update `github.com/bennyscetbun/jsongo` to `v1.1.0`
94 - regenerate examples/binapi for latest VPP from stable/2001
95
96 ## 0.2.0
97 > _04 November 2019_
98
99 ### Fixes
100 - fixed socketclient for 19.08
101 - fixed binapi compatibility with master (20.01-rc0)
102 - fixed panic during stat data conversion
103
104 ### Features
105 - introduce proxy for remote access to stats and binapi
106 - optimizations for statclient
107
108 ### Other
109 - migrate to Go modules
110 - print info for users when sockets are missing
111
112 ## 0.1.0
113 > _03 July 2019_
114
115 The first release that introduces versioning for GoVPP.