|
@ -1,352 +0,0 @@ |
|
|
# Changelog |
|
|
|
|
|
|
|
|
|
|
|
## 0.12.0 |
|
|
|
|
|
|
|
|
|
|
|
*2018-06-12* |
|
|
|
|
|
|
|
|
|
|
|
BREAKING CHANGES: |
|
|
|
|
|
|
|
|
|
|
|
- [abci-cli] Change rpc port from 46658 to 26658. |
|
|
|
|
|
- [examples] Change rpc port from 46658 to 26658. |
|
|
|
|
|
|
|
|
|
|
|
## 0.11.0 |
|
|
|
|
|
|
|
|
|
|
|
*June 6, 2018* |
|
|
|
|
|
|
|
|
|
|
|
BREAKING CHANGES: |
|
|
|
|
|
|
|
|
|
|
|
- [example/dummy] Remove. See example/kvstore |
|
|
|
|
|
- [types] Upgrade many messages: |
|
|
|
|
|
- RequestInitChain takes all fields from a Genesis file |
|
|
|
|
|
- RequestBeginBlock provides a list of all validators and whether or not |
|
|
|
|
|
they signed |
|
|
|
|
|
- Header: remove some fields, add proposer |
|
|
|
|
|
- BlockID, PartSetHeader: remove |
|
|
|
|
|
- Validator: includes address |
|
|
|
|
|
- PubKey: new message with `type` and `data` |
|
|
|
|
|
- Evidence: add type and more fields |
|
|
|
|
|
|
|
|
|
|
|
FEATURES: |
|
|
|
|
|
|
|
|
|
|
|
- [types] Add some fields |
|
|
|
|
|
- ResponseInitChain includes ConsensusParams and Validators |
|
|
|
|
|
- ResponseBeginBlock includes tags |
|
|
|
|
|
- ResponseEndBlock includes tags |
|
|
|
|
|
|
|
|
|
|
|
## 0.10.3 (April 9, 2018) |
|
|
|
|
|
|
|
|
|
|
|
IMPROVEMENTS: |
|
|
|
|
|
|
|
|
|
|
|
- Update tmlibs dep |
|
|
|
|
|
|
|
|
|
|
|
## 0.10.2 (March 23, 2018) |
|
|
|
|
|
|
|
|
|
|
|
Hot fix to remove `omitempty` from `fee` and to actually run `make |
|
|
|
|
|
protoc` |
|
|
|
|
|
|
|
|
|
|
|
## 0.10.1 (March 22, 2018) |
|
|
|
|
|
|
|
|
|
|
|
FEATURES: |
|
|
|
|
|
|
|
|
|
|
|
- [types] ResponseCheckTx and ResponseDeliverTx are now the same. |
|
|
|
|
|
- [example] `dummy` is duplicated as `kvstore`. |
|
|
|
|
|
|
|
|
|
|
|
IMPROVEMENTS: |
|
|
|
|
|
|
|
|
|
|
|
- glide -> Godep |
|
|
|
|
|
- remove pkg/errors |
|
|
|
|
|
- improve specification.rst |
|
|
|
|
|
|
|
|
|
|
|
## 0.10.0 (February 20, 2018) |
|
|
|
|
|
|
|
|
|
|
|
BREAKING CHANGES: |
|
|
|
|
|
|
|
|
|
|
|
- [types] Socket messages are length prefixed with real protobuf Varint instead of `<len of len><big endian len>` |
|
|
|
|
|
- [types] Drop gogo custom type magic with data.Bytes |
|
|
|
|
|
- [types] Use `[(gogoproto.nullable)=false]` to prefer value over pointer for the types |
|
|
|
|
|
- [types] Field re-ordering ... |
|
|
|
|
|
- [types] KVPair: replace with common.KVPair. Add common KI64Pair too (for fees). |
|
|
|
|
|
- [types] CheckTx/DeliverTx: updates for tags, gas, fees |
|
|
|
|
|
- [types] Commit: Remove code and log from Commit |
|
|
|
|
|
- [types] SetOption: Remove code |
|
|
|
|
|
- [example/dummy] remove dependence on IAVL |
|
|
|
|
|
- [types] IsOk/IsErr: methods removed |
|
|
|
|
|
|
|
|
|
|
|
FEATURES: |
|
|
|
|
|
|
|
|
|
|
|
- [types] SetOption/Query/CheckTx/DeliverTx: Add `info string` field to responses |
|
|
|
|
|
- [types] RequestInitChain.AppStateBytes for app's genesis state |
|
|
|
|
|
|
|
|
|
|
|
IMPROVEMENTS: |
|
|
|
|
|
|
|
|
|
|
|
- [all] remove go-wire and go-crypto dependencies :) |
|
|
|
|
|
|
|
|
|
|
|
## 0.9.0 (December 28, 2017) |
|
|
|
|
|
|
|
|
|
|
|
BREAKING CHANGES: |
|
|
|
|
|
- [types] Id -> ID |
|
|
|
|
|
- [types] ResponseEndBlock: renamed Diffs field to ValidatorUpdates |
|
|
|
|
|
- [types] changed protobuf field indices for Request and Response oneof types |
|
|
|
|
|
|
|
|
|
|
|
FEATURES: |
|
|
|
|
|
- [types] ResponseEndBlock: added ConsensusParamUpdates |
|
|
|
|
|
|
|
|
|
|
|
BUG FIXES: |
|
|
|
|
|
- [cmd] fix console and batch commands to use a single persistent connection |
|
|
|
|
|
|
|
|
|
|
|
## 0.8.0 (December 6, 2017) |
|
|
|
|
|
|
|
|
|
|
|
BREAKING CHANGES: |
|
|
|
|
|
- [client] all XxxSync methods now return (ResponseXxx, error) |
|
|
|
|
|
- [types] all methods on Application interface now take RequestXxx and return (ResponseXxx, error). |
|
|
|
|
|
- Except `CheckTx`/`DeliverTx`, which takes a `tx []byte` argument. |
|
|
|
|
|
- Except `Commit`, which takes no arguments. |
|
|
|
|
|
- [types] removed Result and ResultQuery |
|
|
|
|
|
- [types] removed CodeType - only `0 == OK` is defined here, everything else is left to convention at the application level |
|
|
|
|
|
- [types] switched to using `gogo/protobuf` for code generation |
|
|
|
|
|
- [types] use `customtype` feature of `gogo/protobuf` to replace `[]byte` with `data.Bytes` in all generated types :) |
|
|
|
|
|
- this eliminates the need for additional types like ResultQuery |
|
|
|
|
|
- [types] `pubKey` -> `pub_key` |
|
|
|
|
|
- [types] `uint64` -> `int32` for `Header.num_txs` and `PartSetHeader.total` |
|
|
|
|
|
- [types] `uint64` -> `int64` for everything else |
|
|
|
|
|
- [types] ResponseSetOption includes error code |
|
|
|
|
|
- [abci-cli] codes are printed as their number instead of a message, except for `code == 0`, which is still printed as `OK` |
|
|
|
|
|
|
|
|
|
|
|
FEATURES: |
|
|
|
|
|
- [types] ResponseDeliverTx: added `tags` field |
|
|
|
|
|
- [types] ResponseCheckTx: added `gas` and `fee` fields |
|
|
|
|
|
- [types] RequestBeginBlock: added `absent_validators` and `byzantine_validators` fields |
|
|
|
|
|
- [dummy] DeliverTx returns an owner tag and a key tag |
|
|
|
|
|
- [abci-cli] added `log_level` flag to control the logger |
|
|
|
|
|
- [abci-cli] introduce `abci-cli test` command for simple testing of ABCI server implementations via Counter application |
|
|
|
|
|
|
|
|
|
|
|
## 0.7.1 (November 14, 2017) |
|
|
|
|
|
|
|
|
|
|
|
IMPROVEMENTS: |
|
|
|
|
|
- [cli] added version command |
|
|
|
|
|
|
|
|
|
|
|
BUG FIXES: |
|
|
|
|
|
- [server] fix "Connection error module=abci-server error=EOF" |
|
|
|
|
|
|
|
|
|
|
|
## 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 |
|
|
|
|
|
|
|
|
|
|
|
## 0.6.0 (September 22, 2017) |
|
|
|
|
|
|
|
|
|
|
|
BREAKING CHANGES: |
|
|
|
|
|
|
|
|
|
|
|
- [types/client] app.BeginBlock takes RequestBeginBlock |
|
|
|
|
|
- [types/client] app.InitChain takes RequestInitChain |
|
|
|
|
|
- [types/client] app.Info takes RequestInfo |
|
|
|
|
|
|
|
|
|
|
|
IMPROVEMENTS: |
|
|
|
|
|
|
|
|
|
|
|
- various linting |
|
|
|
|
|
|
|
|
|
|
|
## 0.5.0 (May 18, 2017) |
|
|
|
|
|
|
|
|
|
|
|
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` |
|
|
|
|
|
- [types] use `data.Bytes` and `json` tags in the `Result` struct |
|
|
|
|
|
|
|
|
|
|
|
BUG FIXES: |
|
|
|
|
|
|
|
|
|
|
|
## 0.4.1 (April 18, 2017) |
|
|
|
|
|
|
|
|
|
|
|
IMPROVEMENTS: |
|
|
|
|
|
|
|
|
|
|
|
- Update dependencies |
|
|
|
|
|
|
|
|
|
|
|
## 0.4.0 (March 6, 2017) |
|
|
|
|
|
|
|
|
|
|
|
BREAKING CHANGES: |
|
|
|
|
|
|
|
|
|
|
|
- Query takes RequestQuery and returns ResponseQuery. The request is split into `data` and `path`, |
|
|
|
|
|
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. |
|
|
|
|
|
|
|
|
|
|
|
``` |
|
|
|
|
|
message RequestQuery{ |
|
|
|
|
|
bytes data = 1; |
|
|
|
|
|
string path = 2; |
|
|
|
|
|
uint64 height = 3; |
|
|
|
|
|
bool prove = 4; |
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
message ResponseQuery{ |
|
|
|
|
|
CodeType code = 1; |
|
|
|
|
|
int64 index = 2; |
|
|
|
|
|
bytes key = 3; |
|
|
|
|
|
bytes value = 4; |
|
|
|
|
|
bytes proof = 5; |
|
|
|
|
|
uint64 height = 6; |
|
|
|
|
|
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; |
|
|
|
|
|
} |
|
|
|
|
|
``` |
|
|
|
|
|
|
|
|
|
|
|
- Info returns a ResponseInfo, containing last block height and app hash: |
|
|
|
|
|
|
|
|
|
|
|
``` |
|
|
|
|
|
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; |
|
|
|
|
|
bytes app_hash = 9; |
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
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. |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|