- [config] \#2169 Replace MaxNumPeers with MaxNumInboundPeers and MaxNumOutboundPeers
- [config] \#2300 Reduce default mempool size from 100k to 5k, until ABCI rechecking is implemented.
- [rpc] \#1815 `/commit` returns a `signed_header` field instead of everything being top-level
- [config] [\#2169](https://github.com/tendermint/tendermint/issues/2169) Replace MaxNumPeers with MaxNumInboundPeers and MaxNumOutboundPeers
- [config] [\#2300](https://github.com/tendermint/tendermint/issues/2300) Reduce default mempool size from 100k to 5k, until ABCI rechecking is implemented.
- [rpc] [\#1815](https://github.com/tendermint/tendermint/issues/1815)`/commit` returns a `signed_header` field instead of everything being top-level
* Apps
- [abci] Added address of the original proposer of the block to Header
- [abci] Change ABCI Header to match Tendermint exactly
- [abci] \#2159 Update use of `Validator` (see
- [abci] [\#2159](https://github.com/tendermint/tendermint/issues/2159) Update use of `Validator` (see
- format changed from DER to `r || s`, both little endian encoded as 32 bytes.
- malleability removed by requiring `s` to be in canonical form.
* P2P Protocol
- [p2p] \#2263 Update secret connection to use a little endian encoded nonce
- [blockchain] \#2213 Fix Amino routes for blockchain reactor messages
- [p2p] [\#2263](https://github.com/tendermint/tendermint/issues/2263) Update secret connection to use a little endian encoded nonce
- [blockchain] [\#2213](https://github.com/tendermint/tendermint/issues/2213) Fix Amino routes for blockchain reactor messages
(@peerlink)
FEATURES:
- [types] \#2015 Allow genesis file to have 0 validators (@b00f)
- [types] [\#2015](https://github.com/tendermint/tendermint/issues/2015) Allow genesis file to have 0 validators (@b00f)
- Initial validator set can be determined by the app in ResponseInitChain
- [rpc] \#2161 New event `ValidatorSetUpdates` for when the validator set changes
- [crypto/multisig] \#2164 Introduce multisig pubkey and signature format
- [libs/db] \#2293 Allow passing options through when creating instances of leveldb dbs
- [rpc] [\#2161](https://github.com/tendermint/tendermint/issues/2161) New event `ValidatorSetUpdates` for when the validator set changes
- [crypto/multisig] [\#2164](https://github.com/tendermint/tendermint/issues/2164) Introduce multisig pubkey and signature format
- [libs/db] [\#2293](https://github.com/tendermint/tendermint/issues/2293) Allow passing options through when creating instances of leveldb dbs
IMPROVEMENTS:
- [docs] Lint documentation with `write-good` and `stop-words`.
- [scripts] \#2196 Added json2wal tool, which is supposed to help our users restore (@bradyjoestar)
- [scripts] [\#2196](https://github.com/tendermint/tendermint/issues/2196) Added json2wal tool, which is supposed to help our users restore (@bradyjoestar)
corrupted WAL files and compose test WAL files (@bradyjoestar)
- [mempool] \#2234 Now stores txs by hash inside of the cache, to mitigate memory leakage
- [mempool] \#2166 Set explicit capacity for map when updating txs (@bluele)
- [mempool] [\#2234](https://github.com/tendermint/tendermint/issues/2234) Now stores txs by hash inside of the cache, to mitigate memory leakage
- [mempool] [\#2166](https://github.com/tendermint/tendermint/issues/2166) Set explicit capacity for map when updating txs (@bluele)
BUG FIXES:
- [config] \#2284 Replace `db_path` with `db_dir` from automatically generated configuration files.
- [mempool] \#2188 Fix OOM issue from cache map and list getting out of sync
- [state] \#2051 KV store index supports searching by `tx.height` (@ackratos)
- [rpc] \#2327 `/dial_peers` does not try to dial existing peers
- [node] \#2323 Filter empty strings from config lists (@james-ray)