Closes #3831 The support for rocksdb was added a while back in https://github.com/tendermint/tm-db/pull/12. This commit merely updates the documentation.
6.2 KiB
v0.32.9
**
This release contains breaking changes to the Block#Header, specifically
NumTxs and TotalTxs were removed (#2521). Here's how this change affects
different modules:
- apps: it breaks the ABCI header field numbering
- state: it breaks the format of
Stateon disk - RPC: all RPC requests which expose the header broke
- Go API: the
Headerbroke - P2P: since blocks go over the wire, technically the P2P protocol broke
Also, blocks are significantly smaller 🔥 because we got rid of the redundant
information in Block#LastCommit. Commit now mainly consists of a signature
and a validator address plus a timestamp. Note we may remove the validator
address & timestamp fields in the future (see ADR-25).
Special thanks to external contributors on this release: @erikgrinaker, @PSalant726, @gchaincl, @gregzaitsev, @princesinha19, @Stumble
Friendly reminder, we have a bug bounty program.
BREAKING CHANGES:
-
CLI/RPC/Config
-
[rpc] #3471 Paginate
/validatorsresponse (default: 30 vals per page) -
[rpc] #3188 Remove
BlockMetainResultBlockin favor ofBlockIdfor/block -
[rpc]
/block_resultsresponse format updated (see RPC docs for details){ "jsonrpc": "2.0", "id": "", "result": { "height": "2109", "txs_results": null, "begin_block_events": null, "end_block_events": null, "validator_updates": null, "consensus_param_updates": null } } -
[rpc] #4141 Remove
#eventsuffix from the ID in event responses.{"jsonrpc": "2.0", "id": 0, "result": ...} -
[rpc] #4141 Switch to integer IDs instead of
json-client-XYZid=0 method=/subscribe id=0 result=... id=1 method=/abci_query id=1 result=...- ID is unique for each request;
- Request.ID is now optional. Notification is a Request without an ID. Previously ID="" or ID=0 were considered as notifications.
-
[config] #4046 Rename tag(s) to CompositeKey & places where tag is still present it was renamed to event or events. Find how a compositeKey is constructed here
- You will have to generate a new config for your Tendermint node(s)
-
-
Apps
- [tm-bench] Removed tm-bench in favor of tm-load-test
-
Go API
- [rpc/client] #3471
Validatorsnow requires two more args:pageandperPage - [libs/common] #3262 Make error the last parameter of
Task(@PSalant726) - [cs/types] #3262 Rename
GotVoteFromUnwantedRoundErrortoErrGotVoteFromUnwantedRound(@PSalant726) - [libs/common] #3862 Remove
errors.gofromlibs/common - [libs/common] #4230 Move
KVout of common to its own pkg - [libs/common] #4230 Rename
cmn.KVPair(s)tokv.Pair(s)s - [libs/common] #4232 Move
Service&BaseServicefromlibs/commontolibs/service - [libs/common] #4232 Move
common/nil.gototypes/utils.go& make the functions private - [libs/common] #4231 Move random functions from
libs/commoninto pkgrand
- [rpc/client] #3471
-
Blockchain Protocol
- [abci] #2521 Remove
TotalTxsandNumTxsfromHeader - [types] #4151 Enforce ordering of votes in DuplicateVoteEvidence to be lexicographically sorted on BlockID
- [types] #1648 Change
Committo consist of just signatures
- [abci] #2521 Remove
-
P2P Protocol
- [p2p] #3668 Make
SecretConnectionnon-malleable
- [p2p] #3668 Make
-
[proto] #3986 Prefix protobuf types to avoid name conflicts.
- ABCI becomes
tendermint.abci.typeswith the new API endpoint/tendermint.abci.types.ABCIApplication/ - core_grpc becomes
tendermint.rpc.grpcwith the new API endpoint/tendermint.rpc.grpc.BroadcastAPI/ - merkle becomes
tendermint.crypto.merkle - libs.common becomes
tendermint.libs.common - proto3 becomes
tendermint.types.proto3
- ABCI becomes
FEATURES:
- [p2p] #4053 Add
unconditional_peer_idsandpersistent_peers_max_dial_periodconfig variables (see ADR-050) (@dongsam) - [cli] #4234 Add
--db_backend and --db_dirflags (@princesinha19) - [cli] #4113 Add optional
--genesis_hashflag to check genesis hash upon startup - [config] #3831 Add support for RocksDB (@Stumble)
IMPROVEMENTS:
- [rpc] #3188 Added
block_sizetoBlockMetathis is reflected in/blockchain - [types] #2521 Add
NumTxstoBlockMetaandEventDataNewBlockHeader - [docs] #4111 Replaced dead whitepaper link in README.md
- [p2p] #4185 Simplify
SecretConnectionhandshake with merlin - [cli] #4065 Add
--consensus.create_empty_blocks_intervalflag (@jgimeno) - [docs] #4065 Document
--consensus.create_empty_blocks_intervalflag (@jgimeno) - [crypto] #4190 Added SR25519 signature scheme
- [abci] #4177 kvstore: Return
LastBlockHeightandLastBlockAppHashinInfo(@princesinha19)
BUG FIXES:
- [rpc/lib]#4051 Fix RPC client, which was previously resolving https protocol to http (@yenkhoon)
- [rpc] #4141 JSONRPCClient: validate that Response.ID matches Request.ID
- [rpc] #4141 WSClient: check for unsolicited responses
- [types] \4164 Prevent temporary power overflows on validator updates
- [cs] #4069 Don't panic when block meta is not found in store (@gregzaitsev)
- [types] #4164 Prevent temporary power overflows on validator updates (joint efforts of @gchaincl and @ancazamfir)
- [p2p] #4140
SecretConnection: use the transcript solely for authentication (i.e. MAC)