All Versions
157
Latest Version
Avg Release Cycle
26 days
Latest Release
-
Changelog History
Page 16
Changelog History
Page 16
-
v0.9.0 Changes
March 06, 2017๐ฅ BREAKING CHANGES:
- โก๏ธ Update ABCI to v0.4.0, where Query is now
Query(RequestQuery) ResponseQuery
, enabling precise proofs at particular heights:
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; }
BlockMeta
data type unifies its Hash and PartSetHash under aBlockID
:
type BlockMeta struct { BlockID BlockID `json:"block_id"` // the block hash and partsethash Header *Header `json:"header"` // The block's Header }
โก๏ธ
ValidatorSet.Proposer
is exposed as a field and persisted with theState
. UseGetProposer()
to initialize or update after validator-set changes.tendermint gen_validator
command output is now pure JSON
๐ FEATURES:
- ๐ New RPC endpoint
/commit?height=X
returns header and commit for block at heightX
- โ Client API for each endpoint, including mocks for testing
๐ IMPROVEMENTS:
Node
is now aBaseService
- Simplified starting Tendermint in-process from another application
- ๐ Better organized Makefile
- ๐ Scripts for auto-building binaries across platforms
- ๐ณ Docker image improved, slimmed down (using Alpine), and changed from tendermint/tmbase to tendermint/tendermint
- ๐ New repo files:
CONTRIBUTING.md
, GithubISSUE_TEMPLATE
,CHANGELOG.md
- ๐ Improvements on CircleCI for managing build/test artifacts
- ๐ฆ Handshake replay is doen through the consensus package, possibly using a mockApp
- Graceful shutdown of RPC listeners
- ๐ Tests for the PEX reactor and DialSeeds
๐ BUG FIXES:
- โก๏ธ Check peer.Send for failure before updating PeerState in consensus
- ๐ Fix panic in
/dial_seeds
with invalid addresses - ๐ Fix proposer selection logic in ValidatorSet by taking the address into account in the
accumComparable
- ๐ Fix inconcistencies with
ValidatorSet.Proposer
across restarts by persisting it in theState
- โก๏ธ Update ABCI to v0.4.0, where Query is now
-
v0.8.0 Changes
January 13, 2017๐ฅ BREAKING CHANGES:
- ๐ New data type
BlockID
to represent blocks:
type BlockID struct { Hash []byte `json:"hash"` PartsHeader PartSetHeader `json:"parts"` }
Vote
data type now includes validator address and index:
type Vote struct { ValidatorAddress []byte `json:"validator_address"` ValidatorIndex int `json:"validator_index"` Height int `json:"height"` Round int `json:"round"` Type byte `json:"type"` BlockID BlockID `json:"block_id"` // zero if vote is nil. Signature crypto.Signature `json:"signature"` }
- โก๏ธ Update TMSP to v0.3.0, where it is now called ABCI and AppendTx is DeliverTx
- ๐ Hex strings in the RPC are now "0x" prefixed
๐ FEATURES:
- ๐ New message type on the ConsensusReactor,
Maj23Msg
, for peers to alert others they've seen a Maj23, in order to track and handle conflicting votes intelligently to prevent Byzantine faults from causing halts:
type VoteSetMaj23Message struct { Height int Round int Type byte BlockID types.BlockID }
- ๐ง Configurable block part set size
- Validator set changes
- Optionally skip TimeoutCommit if we have all the votes
- ๐ Handshake between Tendermint and App on startup to sync latest state and ensure consistent recovery from crashes
- GRPC server for BroadcastTx endpoint
๐ IMPROVEMENTS:
- ๐ฒ Less verbose logging
- ๐ Better test coverage (37% -> 49%)
- Canonical SignBytes for signable types
- ๐ฒ Write-Ahead Log for Mempool and Consensus via tmlibs/autofile
- ๐ Better in-process testing for the consensus reactor and byzantine faults
- ๐ Better crash/restart testing for individual nodes at preset failure points, and of networks at arbitrary points
- ๐ Better abstraction over timeout mechanics
๐ BUG FIXES:
- ๐ Fix memory leak in mempool peer
- ๐ Fix panic on POLRound=-1
- Actually set the CommitTime
- Actually send BeginBlock message
- ๐ Fix a liveness issues caused by Byzantine proposals/votes. Uses the new
Maj23Msg
.
- ๐ New data type
-
v0.7.4 Changes
December 14, 2016๐ FEATURES:
- Enable the Peer Exchange reactor with the
--pex
flag for more resilient gossip network (feature still in development, beware dragons)
๐ IMPROVEMENTS:
- โ Remove restrictions on RPC endpoint
/dial_seeds
to enable manual network configuration
- Enable the Peer Exchange reactor with the
-
v0.7.3 Changes
October 20, 2016๐ IMPROVEMENTS:
- Type safe FireEvent
- โ More WAL/replay tests
- ๐ Cleanup some docs
๐ BUG FIXES:
- ๐ Fix deadlock in mempool for synchronous apps
- Replay handles non-empty blocks
- ๐ Fix race condition in HeightVoteSet
-
v0.7.2 Changes
September 11, 2016๐ BUG FIXES:
- Set mustConnect=false so tendermint will retry connecting to the app
-
v0.7.1 Changes
September 10, 2016๐ FEATURES:
- ๐ New TMSP connection for Query/Info
- ๐ New RPC endpoints:
tmsp_query
tmsp_info
- ๐ Allow application to filter peers through Query (off by default)
๐ IMPROVEMENTS:
- TMSP connection type enforced at compile time
- All listen/client urls use a "tcp://" or "unix://" prefix
๐ BUG FIXES:
- ๐พ Save LastSignature/LastSignBytes to
priv_validator.json
for recovery - ๐ Fix event unsubscribe
- ๐ Fix fastsync/blockchain reactor
-
v0.7.0 Changes
August 07, 2016๐ฅ BREAKING CHANGES:
- Strict SemVer starting now!
- โก๏ธ Update to ABCI v0.2.0
- Validation types now called Commit
- ๐ NewBlock event only returns the block header
๐ FEATURES:
- ๐ TMSP and RPC support TCP and UNIX sockets
- โ Addition config options including block size and consensus parameters
- ๐ New WAL mode
cswal_light
; logs only the validator's own votes - ๐ New RPC endpoints:
- for starting/stopping profilers, and for updating config
/broadcast_tx_commit
, returns when tx is included in a block, else an error/unsafe_flush_mempool
, empties the mempool
๐ IMPROVEMENTS:
- Various optimizations
- โ Remove bad or invalidated transactions from the mempool cache (allows later duplicates)
- โ More elaborate testing using CircleCI including benchmarking throughput on 4 digitalocean droplets
๐ BUG FIXES:
- ๐ Various fixes to WAL and replay logic
- Various race conditions