OSDN Git Service

new repo
[bytom/vapor.git] / vendor / github.com / tendermint / abci / CHANGELOG.md
1 # Changelog
2
3 ## 0.7.0 (October 27, 2017)
4
5 BREAKING CHANGES:
6  - [cli] consolidate example apps under a single `abci-cli` binary
7
8 IMPROVEMENTS:
9  - [cli] use spf13/cobra instead of urfave/cli
10  - [dummy] use iavl instead of merkleeyes, and add support for historical queries
11
12 BUG FIXES:
13  - [client] fix deadlock on StopForError
14
15 ## 0.6.0 (September 22, 2017)
16
17 BREAKING CHANGES:
18
19 - [types/client] app.BeginBlock takes RequestBeginBlock
20 - [types/client] app.InitChain takes RequestInitChain
21 - [types/client] app.Info takes RequestInfo
22
23 IMPROVEMENTS:
24
25 - various linting
26
27 ## 0.5.0 (May 18, 2017)
28
29 BREAKING CHANGES:
30
31 - `NewSocketClient` and `NewGRPCClient` no longer start the client automatically, and don't return errors. The caller is responsible for running `client.Start()` and checking the error.
32 - `NewSocketServer` and `NewGRPCServer` no longer start the server automatically, and don't return errors. The caller is responsible for running `server.Start()` and checking the error.
33
34
35 FEATURES:
36
37 - [types] new method `func (res Result) IsSameCode(compare Result) bool` checks whether two results have the same code
38 - [types] new methods `func (r *ResponseCheckTx) Result() Result` and `func (r *ResponseDeliverTx) Result() Result` to convert from protobuf types (for control over json serialization)
39 - [types] new method `func (r *ResponseQuery) Result() *ResultQuery` and struct `ResultQuery` to convert from protobuf types (for control over json serializtion)
40
41 IMPROVEMENTS:
42
43 - Update imports for new `tmlibs` repository
44 - Use the new logger
45 - [abci-cli] Add flags to the query command for `path`, `height`, and `prove`
46 - [types] use `data.Bytes` and `json` tags in the `Result` struct 
47
48 BUG FIXES:
49
50 ## 0.4.1 (April 18, 2017)
51
52 IMPROVEMENTS:
53
54 - Update dependencies
55
56 ## 0.4.0 (March 6, 2017)
57
58 BREAKING CHANGES: 
59
60 - Query takes RequestQuery and returns ResponseQuery. The request is split into `data` and `path`, 
61 can specify a height to query the state from, and whether or not the response should come with a proof.
62 The response returns the corresponding key-value pair, with proof if requested.
63
64 ```
65 message RequestQuery{
66         bytes data = 1;
67         string path = 2;
68         uint64 height = 3;
69         bool prove = 4; 
70 }
71
72 message ResponseQuery{
73         CodeType          code        = 1;
74         int64             index       = 2;
75         bytes             key         = 3;
76         bytes             value       = 4;
77         bytes             proof       = 5;
78         uint64            height      = 6;
79         string            log         = 7;
80 }
81 ```
82
83 IMPROVEMENTS:
84
85 - Updates to Makefile
86 - Various cleanup
87 - BaseApplication can be embedded by new apps to avoid implementing empty methods
88 - Drop BlockchainAware and make BeginBlock/EndBlock part of the `type Application interface`
89
90 ## 0.3.0 (January 12, 2017)
91
92 BREAKING CHANGES:
93
94 - TMSP is now ABCI (Application/Asynchronous/A BlockChain Interface or Atomic BroadCast Interface)
95 - AppendTx is now DeliverTx (conforms to the literature)
96 - BeginBlock takes a Header:
97
98 ```
99 message RequestBeginBlock{
100         bytes hash = 1;
101         Header header = 2;
102 }
103 ```
104
105 - Info returns a ResponseInfo, containing last block height and app hash:
106
107 ```
108 message ResponseInfo {
109         string data = 1;
110         string version = 2;
111         uint64 last_block_height = 3;
112         bytes last_block_app_hash = 4;
113 }
114 ```
115
116 - EndBlock returns a ResponseEndBlock, containing the changed validators:
117
118 ```
119 message ResponseEndBlock{
120         repeated Validator diffs = 4;
121 }
122 ```
123
124 - Hex strings are 0x-prefixed in the CLI
125 - Query on the Dummy app now uses hex-strings
126
127 FEATURES:
128
129 - New app, PersistentDummy, uses Info/BeginBlock to recover from failures and supports validator set changes
130 - New message types for blockchain data:
131
132 ```
133 //----------------------------------------
134 // Blockchain Types
135
136 message Header {
137         string chain_id = 1;
138         uint64 height = 2;
139         uint64 time = 3;
140         uint64 num_txs = 4;
141         BlockID last_block_id = 5;
142         bytes last_commit_hash = 6;
143         bytes data_hash = 7;
144         bytes validators_hash = 8;
145         bytes app_hash = 9; 
146 }
147
148 message BlockID {
149         bytes hash = 1;
150         PartSetHeader parts = 2;
151 }
152
153 message PartSetHeader {
154         uint64 total = 1;
155         bytes hash = 2;
156 }
157
158 message Validator {
159             bytes             pubKey      = 1;
160             uint64            power       = 2;
161 }
162 ```
163
164 - Add support for Query to Counter app
165
166 IMPROVEMENT:
167
168 - Don't exit the tmsp-cli console on bad args
169
170 BUG FIXES:
171
172 - Fix parsing in the Counter app to handle invalid transactions
173
174
175 ## 0.2.1 (September 12, 2016)
176
177 IMPROVEMENTS
178
179 - Better error handling in console
180
181
182 ## 0.2.0 (July 23, 2016)
183
184 BREAKING CHANGES:
185
186 - Use `oneof` types in protobuf
187
188 FEATURES:
189
190 - GRPC support
191
192
193 ## PreHistory
194
195 ##### Mar 26h, 2016
196 * Introduce BeginBlock
197
198 ##### Mar 6th, 2016
199
200 * Added InitChain, EndBlock
201
202 ##### Feb 14th, 2016
203
204 * s/GetHash/Commit/g
205 * Document Protobuf request/response fields
206
207 ##### Jan 23th, 2016
208
209 * Added CheckTx/Query ABCI message types
210 * Added Result/Log fields to DeliverTx/CheckTx/SetOption
211 * Removed Listener messages
212 * Removed Code from ResponseSetOption and ResponseGetHash
213 * Made examples BigEndian
214
215 ##### Jan 12th, 2016
216
217 * Added "RetCodeBadNonce = 0x06" return code
218
219 ##### Jan 8th, 2016
220
221 * Tendermint/ABCI now comes to consensus on the order first before DeliverTx.
222
223
224