You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 
 

8.2 KiB

Changelog

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.