- ## v0.31.0
-
- **
-
- Special thanks to external contributors on this release:
-
- ### BREAKING CHANGES:
-
- * CLI/RPC/Config
- - [httpclient] Update Subscribe interface to reflect new pubsub/eventBus API [ADR-33](https://github.com/tendermint/tendermint/blob/develop/docs/architecture/adr-033-pubsub.md)
-
- * Apps
-
- * Go API
- - [libs/common] TrapSignal accepts logger as a first parameter and does not block anymore
- * previously it was dumping "captured ..." msg to os.Stdout
- * TrapSignal should not be responsible for blocking thread of execution
-
- * Blockchain Protocol
-
- * P2P Protocol
-
- ### FEATURES:
- - [mempool] \#3079 bound mempool memory usage (`mempool.max_txs_bytes` is set to 1GB by default; see config.toml)
- mempool's current `txs_total_bytes` is exposed via `total_bytes` field in
- `/num_unconfirmed_txs` and `/unconfirmed_txs` RPC endpoints.
- - [config] \#2920 Remove `consensus.blocktime_iota` parameter
- - [genesis] \#2920 Add `time_iota_ms` to block's consensus parameters
- - [genesis] \#2920 Rename `consensus_params.block_size` to `consensus_params.block`
-
- ### IMPROVEMENTS:
- - [libs/common] \#3238 exit with zero (0) code upon receiving SIGTERM/SIGINT
- - [libs/db] \#3378 CLevelDB#Stats now returns the following properties:
- - leveldb.num-files-at-level{n}
- - leveldb.stats
- - leveldb.sstables
- - leveldb.blockpool
- - leveldb.cachedblock
- - leveldb.openedtables
- - leveldb.alivesnaps
- - leveldb.aliveiters
-
- CI/CD: * [\#3396](https://github.com/tendermint/tendermint/pull/3396)
-
- ### BUG FIXES:
-
- - [p2p/conn] \#3347 Reject all-zero shared secrets in the Diffie-Hellman step of secret-connection
- - [libs/pubsub] \#951, \#1880 use non-blocking send when dispatching messages [ADR-33](https://github.com/tendermint/tendermint/blob/develop/docs/architecture/adr-033-pubsub.md)
|