diff --git a/CHANGELOG.md b/CHANGELOG.md index d7675d296..3fb471a00 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,5 +1,17 @@ # Changelog +## v0.27.2 + +*December 16th, 2018* + +### IMPROVEMENTS: + +- [node] [\#3025](https://github.com/tendermint/tendermint/issues/3025) Validate NodeInfo addresses on startup. + +### BUG FIXES: + +- [p2p] [\#3025](https://github.com/tendermint/tendermint/pull/3025) Revert to using defers in addrbook. Fixes deadlocks in pex and consensus upon invalid ExternalAddr/ListenAddr configuration. + ## v0.27.1 *December 15th, 2018* diff --git a/CHANGELOG_PENDING.md b/CHANGELOG_PENDING.md index 6742f4e8e..335c6732c 100644 --- a/CHANGELOG_PENDING.md +++ b/CHANGELOG_PENDING.md @@ -1,4 +1,4 @@ -## v0.27.2 +## v0.27.3 *TBD* @@ -22,4 +22,3 @@ Special thanks to external contributors on this release: ### BUG FIXES: -- [\#3025](https://github.com/tendermint/tendermint/pull/3025) - Revert to using defers in addrbook. Fixes deadlocks in pex and consensus upon invalid ExternalAddr/ListenAddr configuration. diff --git a/node/node.go b/node/node.go index 1bb195fb0..993f1cd1c 100644 --- a/node/node.go +++ b/node/node.go @@ -348,20 +348,21 @@ func NewNode(config *cfg.Config, indexerService := txindex.NewIndexerService(txIndexer, eventBus) indexerService.SetLogger(logger.With("module", "txindex")) - var ( - p2pLogger = logger.With("module", "p2p") - nodeInfo = makeNodeInfo( - config, - nodeKey.ID(), - txIndexer, - genDoc.ChainID, - p2p.NewProtocolVersion( - version.P2PProtocol, // global - state.Version.Consensus.Block, - state.Version.Consensus.App, - ), - ) + p2pLogger := logger.With("module", "p2p") + nodeInfo, err := makeNodeInfo( + config, + nodeKey.ID(), + txIndexer, + genDoc.ChainID, + p2p.NewProtocolVersion( + version.P2PProtocol, // global + state.Version.Consensus.Block, + state.Version.Consensus.App, + ), ) + if err != nil { + return nil, err + } // Setup Transport. var ( @@ -782,7 +783,7 @@ func makeNodeInfo( txIndexer txindex.TxIndexer, chainID string, protocolVersion p2p.ProtocolVersion, -) p2p.NodeInfo { +) (p2p.NodeInfo, error) { txIndexerStatus := "on" if _, ok := txIndexer.(*null.TxIndex); ok { txIndexerStatus = "off" @@ -818,11 +819,7 @@ func makeNodeInfo( nodeInfo.ListenAddr = lAddr err := nodeInfo.Validate() - if err != nil { - panic(err) - } - - return nodeInfo + return nodeInfo, err } //------------------------------------------------------------------------------ diff --git a/version/version.go b/version/version.go index 3c1e2f319..caf6c73f3 100644 --- a/version/version.go +++ b/version/version.go @@ -18,7 +18,7 @@ const ( // TMCoreSemVer is the current version of Tendermint Core. // It's the Semantic Version of the software. // Must be a string because scripts like dist.sh read this file. - TMCoreSemVer = "0.27.1" + TMCoreSemVer = "0.27.2" // ABCISemVer is the semantic version of the ABCI library ABCISemVer = "0.15.0"