2017-03-05 23:53:15 -08:00
# Changelog
2017-11-14 11:09:19 -08:00
## 0.7.1 (November 14, 2017)
IMPROVEMENTS:
- [cli] added version command
BUG FIXES:
- [server] fix "Connection error module=abci-server error=EOF"
2017-10-27 09:12:07 -07:00
## 0.7.0 (October 27, 2017)
BREAKING CHANGES:
- [cli] consolidate example apps under a single `abci-cli` binary
IMPROVEMENTS:
- [cli] use spf13/cobra instead of urfave/cli
- [dummy] use iavl instead of merkleeyes, and add support for historical queries
BUG FIXES:
- [client] fix deadlock on StopForError
2017-09-22 07:38:45 -07:00
## 0.6.0 (September 22, 2017)
BREAKING CHANGES:
- [types/client] app.BeginBlock takes RequestBeginBlock
- [types/client] app.InitChain takes RequestInitChain
2017-09-22 08:16:09 -07:00
- [types/client] app.Info takes RequestInfo
2017-09-22 07:38:45 -07:00
IMPROVEMENTS:
- various linting
2017-05-18 02:39:12 -07:00
## 0.5.0 (May 18, 2017)
2017-05-15 09:52:33 -07:00
BREAKING CHANGES:
- `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.
- `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.
FEATURES:
- [types] new method `func (res Result) IsSameCode(compare Result) bool` checks whether two results have the same code
- [types] new methods `func (r *ResponseCheckTx) Result() Result` and `func (r *ResponseDeliverTx) Result() Result` to convert from protobuf types (for control over json serialization)
- [types] new method `func (r *ResponseQuery) Result() *ResultQuery` and struct `ResultQuery` to convert from protobuf types (for control over json serializtion)
IMPROVEMENTS:
- Update imports for new `tmlibs` repository
- Use the new logger
- [abci-cli] Add flags to the query command for `path` , `height` , and `prove`
2017-11-14 11:09:19 -08:00
- [types] use `data.Bytes` and `json` tags in the `Result` struct
2017-05-15 09:52:33 -07:00
BUG FIXES:
2017-04-18 20:31:30 -07:00
## 0.4.1 (April 18, 2017)
IMPROVEMENTS:
- Update dependencies
2017-03-05 23:53:15 -08:00
## 0.4.0 (March 6, 2017)
2017-11-14 11:09:19 -08:00
BREAKING CHANGES:
2017-03-05 23:53:15 -08:00
2017-11-14 11:09:19 -08:00
- Query takes RequestQuery and returns ResponseQuery. The request is split into `data` and `path` ,
2017-03-05 23:58:26 -08:00
can specify a height to query the state from, and whether or not the response should come with a proof.
The response returns the corresponding key-value pair, with proof if requested.
2017-03-05 23:53:15 -08:00
```
message RequestQuery{
bytes data = 1;
string path = 2;
uint64 height = 3;
2017-11-14 11:09:19 -08:00
bool prove = 4;
2017-03-05 23:53:15 -08:00
}
message ResponseQuery{
CodeType code = 1;
int64 index = 2;
bytes key = 3;
bytes value = 4;
bytes proof = 5;
2017-03-05 23:58:26 -08:00
uint64 height = 6;
2017-03-05 23:53:15 -08:00
string log = 7;
}
```
IMPROVEMENTS:
- Updates to Makefile
- Various cleanup
- BaseApplication can be embedded by new apps to avoid implementing empty methods
- Drop BlockchainAware and make BeginBlock/EndBlock part of the `type Application interface`
## 0.3.0 (January 12, 2017)
BREAKING CHANGES:
- TMSP is now ABCI (Application/Asynchronous/A BlockChain Interface or Atomic BroadCast Interface)
- AppendTx is now DeliverTx (conforms to the literature)
- BeginBlock takes a Header:
```
message RequestBeginBlock{
bytes hash = 1;
Header header = 2;
}
```
2017-03-05 23:58:26 -08:00
- Info returns a ResponseInfo, containing last block height and app hash:
2017-03-05 23:53:15 -08:00
```
message ResponseInfo {
string data = 1;
string version = 2;
uint64 last_block_height = 3;
bytes last_block_app_hash = 4;
}
```
- EndBlock returns a ResponseEndBlock, containing the changed validators:
```
message ResponseEndBlock{
repeated Validator diffs = 4;
}
```
- Hex strings are 0x-prefixed in the CLI
- Query on the Dummy app now uses hex-strings
FEATURES:
- New app, PersistentDummy, uses Info/BeginBlock to recover from failures and supports validator set changes
- New message types for blockchain data:
```
//----------------------------------------
// Blockchain Types
message Header {
string chain_id = 1;
uint64 height = 2;
uint64 time = 3;
uint64 num_txs = 4;
BlockID last_block_id = 5;
bytes last_commit_hash = 6;
bytes data_hash = 7;
bytes validators_hash = 8;
2017-11-14 11:09:19 -08:00
bytes app_hash = 9;
2017-03-05 23:53:15 -08:00
}
message BlockID {
bytes hash = 1;
PartSetHeader parts = 2;
}
message PartSetHeader {
uint64 total = 1;
bytes hash = 2;
}
message Validator {
bytes pubKey = 1;
uint64 power = 2;
}
```
- Add support for Query to Counter app
IMPROVEMENT:
- Don't exit the tmsp-cli console on bad args
BUG FIXES:
- Fix parsing in the Counter app to handle invalid transactions
## 0.2.1 (September 12, 2016)
IMPROVEMENTS
- Better error handling in console
## 0.2.0 (July 23, 2016)
BREAKING CHANGES:
- Use `oneof` types in protobuf
FEATURES:
- GRPC support
## PreHistory
##### Mar 26h, 2016
* Introduce BeginBlock
##### Mar 6th, 2016
* Added InitChain, EndBlock
##### Feb 14th, 2016
* s/GetHash/Commit/g
* Document Protobuf request/response fields
##### Jan 23th, 2016
* Added CheckTx/Query ABCI message types
* Added Result/Log fields to DeliverTx/CheckTx/SetOption
* Removed Listener messages
* Removed Code from ResponseSetOption and ResponseGetHash
* Made examples BigEndian
##### Jan 12th, 2016
* Added "RetCodeBadNonce = 0x06" return code
##### Jan 8th, 2016
* Tendermint/ABCI now comes to consensus on the order first before DeliverTx.