Changelog History
Page 14
-
v0.14.0 Changes
December 11, 2017๐ฅ BREAKING CHANGES:
- ๐ consensus/wal: removed separator
- rpc/client: changed Subscribe/Unsubscribe/UnsubscribeAll funcs signatures to be identical to event bus.
๐ FEATURES:
- ๐ new
tendermint lite
command (andlite/proxy
pkg) for running a light-client RPC proxy. NOTE it is currently insecure and its APIs are not yet covered by semver
๐ IMPROVEMENTS:
- ๐ rpc/client: can act as event bus subscriber (See https://github.com/tendermint/tendermint/issues/945).
- p2p: use exponential backoff from seconds to hours when attempting to reconnect to persistent peer
- 0๏ธโฃ config: moniker defaults to the machine's hostname instead of "anonymous"
๐ BUG FIXES:
- ๐ p2p: no longer exit if one of the seed addresses is incorrect
-
v0.13.0 Changes
December 06, 2017๐ฅ BREAKING CHANGES:
- โก๏ธ abci: update to v0.8 using gogo/protobuf; includes tx tags, vote info in RequestBeginBlock, data.Bytes everywhere, use int64, etc.
- types: block heights are now
int64
everywhere - types & node: EventSwitch and EventCache have been replaced by EventBus and EventBuffer; event types have been overhauled
- node: EventSwitch methods now refer to EventBus
- rpc/lib/types: RPCResponse is no longer a pointer; WSRPCConnection interface has been modified
- rpc/client: WaitForOneEvent takes an EventsClient instead of types.EventSwitch
- ๐ rpc/client: Add/RemoveListenerForEvent are now Subscribe/Unsubscribe
- rpc/core/types: ResultABCIQuery wraps an abci.ResponseQuery
- rpc:
/subscribe
and/unsubscribe
takequery
arg instead ofevent
- โ
rpc:
/status
returns the LatestBlockTime in human readable form instead of in nanoseconds - mempool: cached transactions return an error instead of an ABCI response with BadNonce
๐ FEATURES:
- rpc: new
/unsubscribe_all
WebSocket RPC endpoint - rpc: new
/tx_search
endpoint for filtering transactions by more complex queries - ๐ p2p/trust: new trust metric for tracking peers. See ADR-006
- config: TxIndexConfig allows to set what DeliverTx tags to index
๐ IMPROVEMENTS:
- ๐ New asynchronous events system using
tmlibs/pubsub
- ๐ฒ logging: Various small improvements
- consensus: Graceful shutdown when app crashes
- โ tests: Fix various non-deterministic errors
- p2p: more defensive programming
๐ BUG FIXES:
- consensus: fix panic where prs.ProposalBlockParts is not initialized
- p2p: fix panic on bad channel
-
v0.12.1 Changes
November 27, 2017๐ BUG FIXES:
- โฌ๏ธ upgrade tmlibs dependency to enable Windows builds for Tendermint
-
v0.12.0 Changes
October 27, 2017๐ฅ BREAKING CHANGES:
- rpc/client: websocket ResultsCh and ErrorsCh unified in ResponsesCh.
- rpc/client: ABCIQuery no longer takes
prove
- state: remove GenesisDoc from state.
- consensus: new binary WAL format provides efficiency and uses checksums to detect corruption
- use scripts/wal2json to convert to json for debugging
๐ FEATURES:
- new
Verifiers
pkg contains the tendermint light-client library (name subject to change)! - rpc:
/genesis
includes theapp_options
. - rpc:
/abci_query
takes an additionalheight
parameter to support historical queries. - rpc/client: new ABCIQueryWithOptions supports options like
trusted
(set false to get a proof) andheight
to query a historical height.
๐ IMPROVEMENTS:
- rpc:
/genesis
result includesapp_options
- rpc/lib/client: add jitter to reconnects.
- rpc/lib/types:
RPCError
satisfies theerror
interface.
๐ BUG FIXES:
- rpc/client: fix ws deadlock after stopping
- blockchain: fix panic on AddBlock when peer is nil
- mempool: fix sending on TxsAvailable when a tx has been invalidated
- consensus: dont run WAL catchup if we fast synced
-
v0.11.1 Changes
October 10, 2017๐ IMPROVEMENTS:
- blockchain/reactor: respondWithNoResponseMessage for missing height
๐ BUG FIXES:
- rpc: fixed client WebSocket timeout
- rpc: client now resubscribes on reconnection
- rpc: fix panics on missing params
- rpc: fix
/dump_consensus_state
to have normal json output (NOTE: technically breaking, but worth a bug fix label) - types: fixed out of range error in VoteSet.addVote
- consensus: fix wal autofile via https://github.com/tendermint/tmlibs/blob/master/CHANGELOG.md#032-october-2-2017
-
v0.11.0 Changes
September 22, 2017๐ฅ BREAKING:
- genesis file: validator
amount
is nowpower
- abci: Info, BeginBlock, InitChain all take structs
rpc: various changes to match JSONRPC spec (http://www.jsonrpc.org/specification), including breaking ones:
- requests that previously returned HTTP code 4XX now return 200 with an error code in the JSONRPC.
rpctypes.RPCResponse
uses newRPCError
type instead ofstring
.
cmd: if there is no genesis, exit immediately instead of waiting around for one to show.
types:
Signer.Sign
returns an error.state: every validator set change is persisted to disk, which required some changes to the
State
structure.p2p: new
p2p.Peer
interface used for all reactor methods (instead of*p2p.Peer
struct).
๐ FEATURES:
- rpc:
/validators?height=X
allows querying of validators at previous heights. - rpc: Leaving the
height
param empty for/block
,/validators
, and/commit
will return the value for the latest height.
๐ IMPROVEMENTS:
- docs: Moved all docs from the website and tools repo in, converted to
.rst
, and cleaned up for presentation ontendermint.readthedocs.io
๐ BUG FIXES:
- fix WAL openning issue on Windows
- genesis file: validator
-
v0.10.4 Changes
September 05, 2017๐ IMPROVEMENTS:
- ๐ docs: Added Slate docs to each rpc function (see rpc/core)
- ๐ docs: Ported all website docs to Read The Docs
- ๐ config: expose some p2p params to tweak performance: RecvRate, SendRate, and MaxMsgPacketPayloadSize
- โฌ๏ธ rpc: Upgrade the websocket client and server, including improved auto reconnect, and proper ping/pong
๐ BUG FIXES:
- consensus: fix panic on getVoteBitArray
- consensus: hang instead of panicking on byzantine consensus failures
- cmd: dont load config for version command
-
v0.10.3 Changes
August 10, 2017๐ FEATURES:
- control over empty block production:
- new flag,
--consensus.create_empty_blocks
; when set to false, blocks are only created when there are txs or when the AppHash changes. - new config option,
consensus.create_empty_blocks_interval
; an empty block is created after this many seconds. - in normal operation,
create_empty_blocks = true
andcreate_empty_blocks_interval = 0
, so blocks are being created all the time (as in all previous versions of tendermint). The number of empty blocks can be reduced by increasingcreate_empty_blocks_interval
or by settingcreate_empty_blocks = false
. - new
TxsAvailable()
method added to Mempool that returns a channel which fires when txs are available. - new heartbeat message added to consensus reactor to notify peers that a node is waiting for txs before entering propose step.
- new flag,
- ๐ rpc: Add
syncing
field to response returned by/status
. Istrue
while in fast-sync mode.
๐ IMPROVEMENTS:
- ๐ various improvements to documentation and code comments
๐ BUG FIXES:
- mempool: pass height into constructor so it doesn't always start at 0
- control over empty block production:
-
v0.10.2 Changes
July 10, 2017๐ FEATURES:
- ๐ค Enable lower latency block commits by adding consensus reactor sleep durations and p2p flush throttle timeout to the config
๐ IMPROVEMENTS:
- ๐ฒ More detailed logging in the consensus reactor and state machine
- ๐ More in-code documentation for many exposed functions, especially in consensus/reactor.go and p2p/switch.go
- ๐ Improved readability for some function definitions and code blocks with long lines
-
v0.10.1 Changes
June 28, 2017๐ FEATURES:
- ๐ Use
--trace
to get stack traces for logged errors - types: GenesisDoc.ValidatorHash returns the hash of the genesis validator set
- ๐ types: GenesisDocFromFile parses a GenesiDoc from a JSON file
๐ IMPROVEMENTS:
- โ Add a Code of Conduct
- Variety of improvements as suggested by
megacheck
tool - โ rpc: deduplicate tests between rpc/client and rpc/tests
- 0๏ธโฃ rpc: addresses without a protocol prefix default to
tcp://
.http://
is also accepted as an alias fortcp://
- cmd: commands are more easily reuseable from other tools
- ๐ DOCKER: automate build/push
๐ BUG FIXES:
- ๐ Fix log statements using keys with spaces (logger does not currently support spaces)
- rpc: set logger on websocket connection
- rpc: fix ws connection stability by setting write deadline on pings
- ๐ Use