6.3 KiB
6.3 KiB
Changelog
0.8.0 (TBD)
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 atx []byte
argument. - Except
Commit
, which takes no arguments.
- Except
- [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 ofgogo/protobuf
to replace[]byte
withdata.Bytes
in all generated types :)- this eliminates the need for additional types like ResultQuery
- [types]
pubKey
->pub_key
- [types]
uint64
->int64
- [abci-cli] codes are printed as their number instead of a message, except for
code == 0
, which is still printed asOK
FEATURES:
- [types] added Tags field to ResponseDeliverTx
- [types] added Gas and Fee fields to ResponseCheckTx
- [dummy] DeliverTx returns tags
- [abci-cli] added
log_level
flag to control the logger
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
andNewGRPCClient
no longer start the client automatically, and don't return errors. The caller is responsible for runningclient.Start()
and checking the error.NewSocketServer
andNewGRPCServer
no longer start the server automatically, and don't return errors. The caller is responsible for runningserver.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
andfunc (r *ResponseDeliverTx) Result() Result
to convert from protobuf types (for control over json serialization) - [types] new method
func (r *ResponseQuery) Result() *ResultQuery
and structResultQuery
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
, andprove
- [types] use
data.Bytes
andjson
tags in theResult
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
andpath
, 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.