mirror of
https://github.com/tendermint/tendermint.git
synced 2026-01-05 04:55:18 +00:00
I believe that this, in my testing seems to help the e2e state-sync tests complete more reliably, by fixing some potential, range-related slice building, as well as the way the test app hashes snapshots. Additionally, and I'm not sure if we want to do this, but I added this hook to the reactor that re-sends the request for snapshots during the retry. This helps in tests prevent systems from getting stuck, but I think in reality, it might create more traffic, and operators would just restart a state-syncing node to get a similar effect.
6.3 KiB
6.3 KiB
Unreleased Changes
vX.X
Special thanks to external contributors on this release:
Friendly reminder: We have a bug bounty program.
BREAKING CHANGES
-
CLI/RPC/Config
- [config] #5598 The
test_fuzzandtest_fuzz_configP2P settings have been removed. (@erikgrinaker) - [config] #5728
fast_sync = "v1"is no longer supported (@melekes) - [cli] #5772
gen_node_keyprints JSON-encodedNodeKeyrather than ID and does not save it tonode_key.json(@melekes) - [cli] #5777 use hyphen-case instead of snake_case for all cli commands and config parameters (@cmwaters)
- [rpc] #6019 standardise RPC errors and return the correct status code (@bipulprasad & @cmwaters)
- [rpc] #6168 Change default sorting to desc for
/tx_searchresults (@melekes) - [cli] #6282 User must specify the node mode when using
tendermint init(@cmwaters)
- [config] #5598 The
-
Apps
- [ABCI] #5447 Remove
SetOptionmethod fromABCI.Clientinterface - [ABCI] #5447 Reset
Oneofindexes forRequestandResponse. - [ABCI] #5818 Use protoio for msg length delimitation. Migrates from int64 to uint64 length delimiters.
- [ABCI] #5447 Remove
-
P2P Protocol
-
Go API
- [abci/client, proxy] #5673
Asyncfuncs return an error,SyncandAsyncfuncs acceptcontext.Context(@melekes) - [p2p] Removed unused function
MakePoWTarget. (@erikgrinaker) - [libs/bits] #5720 Validate
BitArrayinFromProto, which now returns an error (@melekes) - [proto/p2p] Renamed
DefaultNodeInfoandDefaultNodeInfoOthertoNodeInfoandNodeInfoOther(@erikgrinaker) - [proto/p2p] Rename
NodeInfo.default_node_idtonode_id(@erikgrinaker) - [libs/os] Kill() and {Must,}{Read,Write}File() functions have been removed. (@alessio)
- [store] #5848 Remove block store state in favor of using the db iterators directly (@cmwaters)
- [state] #5864 Use an iterator when pruning state (@cmwaters)
- [types] #6023 Remove
tm2pb.Header,tm2pb.BlockID,tm2pb.PartSetHeaderandtm2pb.NewValidatorUpdate.- Each of the above types has a
ToProtoandFromProtomethod or function which replaced this logic.
- Each of the above types has a
- [light] #6054 Move
MaxRetryAttemptoption from client to provider.NewWithOptionsnow sets the max retry attempts and timeouts (@cmwaters)
- [all] #6077 Change spelling from British English to American (@cmwaters)
- Rename "Subscription.Cancelled()" to "Subscription.Canceled()" in libs/pubsub
- Rename "behaviour" pkg to "behavior" and internalized it in blockchain v2
- [rpc/client/http] #6176 Remove
endpointarg fromNew,NewWithTimeoutandNewWithClient(@melekes) - [rpc/client/http] #6176 Unexpose
WSEvents(@melekes) - [rpc/jsonrpc/client/ws_client] #6176
NewWSno longer accepts options (useNewWSWithOptionsandOnReconnectfuncs to configure the client) (@melekes)
- [abci/client, proxy] #5673
-
Blockchain Protocol
-
Data Storage
- [store/state/evidence/light] #5771 Use an order-preserving varint key encoding (@cmwaters)
FEATURES
- [config] Add
--modeflag and config variable. See ADR-52 @dongsam - [rpc] /#6329 Don't cap page size in unsafe mode (@gotjoshua, @cmwaters)
IMPROVEMENTS
- [crypto/ed25519] #5632 Adopt zip215
ed25519verification. (@marbar3778) - [privval] #5603 Add
--keytoinit,gen_validator,testnet&unsafe_reset_priv_validatorfor use in generatingsecp256k1keys. - [privval] #5725 Add gRPC support to private validator.
- [privval] #5876
tendermint show-validatorwill query the remote signer if gRPC is being used (@marbar3778) - [abci/client] #5673
Asyncrequests return an error if queue is full (@melekes) - [mempool] #5673 Cancel
CheckTxrequests if RPC client disconnects or times out (@melekes) - [abci] #5706 Added
AbciVersiontoRequestInfoallowing applications to check ABCI version when connecting to Tendermint. (@marbar3778) - [blockchain/v1] #5728 Remove in favor of v2 (@melekes)
- [blockchain/v0] #5741 Relax termination conditions and increase sync timeout (@melekes)
- [cli] #5772
gen_node_keyoutput now contains node ID (idfield) (@melekes) - [blockchain/v2] #5774 Send status request when new peer joins (@melekes)
- [consensus] #5792 Deprecates the
time_iota_msconsensus parameter, to reduce the bug surface. The parameter is no longer used. (@valardragon) - [store] #5888 store.SaveBlock saves using batches instead of transactions for now to improve ACID properties. This is a quick fix for underlying issues around tm-db and ACID guarantees. (@githubsands)
- [consensus] #5987 Remove
time_iota_msfrom consensus params. Mergetmproto.ConsensusParamsandabci.ConsensusParams. (@marbar3778) - [types] #5994 Reduce the use of protobuf types in core logic. (@marbar3778)
ConsensusParams,BlockParams,ValidatorParams,EvidenceParams,VersionParams,sm.Versionandversion.Consensushave become native types. They still utilize protobuf when being sent over the wire or written to disk.
- [rpc/client/http] #6163 Do not drop events even if the
outchannel is full (@melekes) - [node] #6059 Validate and complete genesis doc before saving to state store (@silasdavis)
- [state] #6067 Batch save state data (@githubsands & @cmwaters)
- [crypto] #6120 Implement batch verification interface for ed25519 and sr25519. (@marbar3778)
- [types] #6120 use batch verification for verifying commits signatures.
- If the key type supports the batch verification API it will try to batch verify. If the verification fails we will single verify each signature.
- [privval/file] #6185 Return error on
LoadFilePV,LoadFilePVEmptyState. Allows for better programmatic control of Tendermint. - [privval] #6240 Add
context.Contextto privval interface. - [rpc] #6265 set cache control in http-rpc response header (@JayT106)
- [statesync] #6378 Retry requests for snapshots and add a minimum discovery time (5s) for new snapshots.
BUG FIXES
- [types] #5523 Change json naming of
PartSetHeaderwithinBlockIDfrompartstopart_set_header(@marbar3778) - [privval] #5638 Increase read/write timeout to 5s and calculate ping interval based on it (@JoeKash)
- [blockchain/v1] #5701 Handle peers without blocks (@melekes)
- [blockchain/v1] #5711 Fix deadlock (@melekes)