From 892b170818cd3be4cd3f919d72dde1ad60c28bbb Mon Sep 17 00:00:00 2001 From: Ethan Buchman Date: Wed, 5 Sep 2018 18:02:45 -0400 Subject: [PATCH] Bucky/changelog (#2339) * update changelog pending * fixes from review --- CHANGELOG_PENDING.md | 90 +++++++++++++++++++++++++++++--------------- 1 file changed, 59 insertions(+), 31 deletions(-) diff --git a/CHANGELOG_PENDING.md b/CHANGELOG_PENDING.md index 08461ba2c..de91f52ec 100644 --- a/CHANGELOG_PENDING.md +++ b/CHANGELOG_PENDING.md @@ -1,45 +1,73 @@ # Pending BREAKING CHANGES: -- [types] Header ... -- [state] Add NextValidatorSet, changes on-disk representation of state -- [state] Validator set changes are delayed by one block (!) -- [lite] Complete refactor of the package -- [rpc] `/commit` returns a `signed_header` field instead of everything being - top-level -- [abci] Added address of the original proposer of the block to Header. -- [abci] Change ABCI Header to match Tendermint exactly -- [libs] Remove cmn.Fmt, in favor of fmt.Sprintf -- [blockchain] fix go-amino routes for blockchain messages -- [crypto] Rename AminoRoute variables to no longer be prefixed by signature type. -- [config] Replace MaxNumPeers with MaxNumInboundPeers and MaxNumOutboundPeers -- [node] NewNode now accepts a `*p2p.NodeKey` -- [crypto] Secp256k1 signature format changed from DER to `r || s`, both little endian encoded as 32 bytes. -- [crypto] Secp256k1 signature malleability removed by requiring s to be in canonical form. (See ADR 14) -- [abci] \#2159 Update use of `Validator` ala ADR-018: - - Remove PubKey from `Validator` and introduce `ValidatorUpdate` + +* CLI/RPC/Config + - [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 + +* 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 + [ADR-018](https://github.com/tendermint/tendermint/blob/develop/docs/architecture/adr-018-ABCI-Validators.md)): + - Remove PubKey from `Validator` (so it's just Address and Power) + - Introduce `ValidatorUpdate` (with just PubKey and Power) - InitChain and EndBlock use ValidatorUpdate - Update field names and types in BeginBlock -- [state] Implement BFT time -- [p2p] update secret connection to use a little endian encoded nonce -- [libs/clist] Panics if list extends beyond MaxLength -- [common] SplitAndTrim was deleted + - [state] \#1815 Validator set changes are now delayed by one block + - updates returned in ResponseEndBlock for block H will be included in RequestBeginBlock for block H+2 + +* Go API + - [lite] \#1815 Complete refactor of the package + - [node] \#2212 NewNode now accepts a `*p2p.NodeKey` + - [libs/common] \#2199 Remove Fmt, in favor of fmt.Sprintf + - [libs/common] SplitAndTrim was deleted + - [libs/clist] Panics if list extends beyond MaxLength + - [crypto] \#2205 Rename AminoRoute variables to no longer be prefixed by signature type. + +* Blockchain Protocol + - [state] \#1815 Validator set changes are now delayed by one block (!) + - Add NextValidatorSet to State, changes on-disk representation of state + - [state] \#2184 Enforce ConsensusParams.BlockSize.MaxBytes (See + [ADR-020](https://github.com/tendermint/tendermint/blob/develop/docs/architecture/adr-020-block-size.md)). + - Remove ConsensusParams.BlockSize.MaxTxs + - Introduce maximum sizes for all components of a block, including ChainID + - [types] Updates to the block Header: + - \#1815 NextValidatorsHash - hash of the validator set for the next block, + so the current validators actually sign over the hash for the new + validators + - \#2106 ProposerAddress - address of the block's original proposer + - [consensus] \#2203 Implement BFT time + - Timestamp in block must be monotonic and equal the median of timestamps in block's LastCommit + - [crypto] \#2239 Secp256k1 signature changes (See + [ADR-014](https://github.com/tendermint/tendermint/blob/develop/docs/architecture/adr-014-secp-malleability.md)): + - 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 + FEATURES: -- [types] allow genesis file to have 0 validators ([#2015](https://github.com/tendermint/tendermint/issues/2015)) -- [libs] allow passing options through when creating instances of leveldb dbs ([#2292](https://github.com/tendermint/tendermint/issues/2292)) +- [types] \#2015 Allow genesis file to have 0 validators + - 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 IMPROVEMENTS: - [docs] Lint documentation with `write-good` and `stop-words`. - [scripts] Added json2wal tool, which is supposed to help our users restore corrupted WAL files and compose test WAL files (@bradyjoestar) -- [mempool] Now stores txs by hash inside of the cache, to mitigate memory leakage -- [config] Replace db_path with db_dir from automatically generated configuration files. - Issue reported to Cosmos SDK ([#1712](https://github.com/cosmos/cosmos-sdk/issues/1712)) -- [config] Reduce default mempool size from 100k to 5k, until ABCI rechecking is implemented. +- [mempool] \#2234 Now stores txs by hash inside of the cache, to mitigate memory leakage BUG FIXES: -- [mempool] No longer possible to fill up linked list without getting caching - benefits [#2180](https://github.com/tendermint/tendermint/issues/2180) -- [state] kv store index tx.height to support search -- [rpc] /dial_peers does not try to dial existing peers +- [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` +- [rpc] \#2327 `/dial_peers` does not try to dial existing peers +- [node] \#2323 Filter empty strings from config lists +- [abci/client] \#2236 Fix closing GRPC connection