Releases: cometbft/tendermint-rs
v0.40.4
v0.40.3
v0.40.2
v0.40.1
0.40.1
December 24th, 2024
This is a bug fix release that address omissions in the v0.40.0 release.
BUG FIXES
- tendermint: export
abci::event::v0_37to constructEventAttribute::V037variants.
(#1479, (#1480) - tendermint-light-client-js: bump
serde-wasm-bindgentov0.6.5andjs-systo=v0.3.70to
ix compilation failure ofwasm-bindgen-test. (#1481)
New Contributors
- @SuperFluffy made their first contribution in #1479
Full Changelog: v0.40.0...v0.40.1
v0.40.0
October 23rd, 2024
This release adds a new dialect for CometBFT v0.38.x, enabling the correct serialization of misbehavior Evidence. This improvement ensures compatibility with CometBFT v0.38.x, addressing specific issues in evidence handling for this version.
BREAKING CHANGES
- [tendermint-rpc] Add new dialect for CometBFT v0.38.x
(#1467)
BUG FIXES
- [tendermint-rpc] Fix serialization of misbehaviour
Evidence
on CometBFT v0.38.x using the newly introduced dialect
(#1467)
v0.39.0
August 6th, 2024
This release bundles the google.protobuf.Any Protobuf type in tendermint-proto and brings improvements to google.protobuf.Duration and google.protobuf.Timestamp.
FEATURES
[tendermint-proto]AddAnytype undertendermint_proto::google::protobuf::Any(#1445)
IMPROVEMENTS
v0.38.1
July 23rd, 2024
This release enhances decoding of the AppHash type by trying to decode it as base64 if it fails to decode as hex.
This release also updates prost and prost-types to their latest version in the tendermint crate, something that was missed in the v0.38.0 release.
BREAKING CHANGES
[tendermint]Bumpprostandprost-typesto their latest versions in thetendermintcrate. This was missed in #1444, which only updated the two dependencies intendermint-rpc, leading to duplicate versions of both crates to be present in the dependency graph. (#1446)
IMPROVEMENTS
[tendermint-rpc]IfAppHashfails to decode as hex, try to decode it as base64. (#1449)
v0.38.0
Important
tendermint-rs and CometBFT are versioned separately, and the version numbers seemingly matching at the moment is not intended.
July 15th, 2024
This release enhances /block_results response handling, relaxes Block validation, and adds support for the /genesis_chunked RPC endpoint.
BREAKING CHANGES
- tendermint: relax validation rules on
Block(#1435) [tendermint-proto]: Updateprostto v0.13 andtonicto v0.12 (#1444)
BUG
[tendermint-rpc]Deserialize an empty JSON object asNonefor theconsensus_param_updatesfield in the/block_resultsresponse. (#1440)
FEATURES
[tendermint-rpc]Add support for the/genesis_chunkedRPC endpoint (#1438)
v0.37.0
May 31st, 2024
This release restores the commit verification interfaces of PredicateVerifier from tendermint-rs 0.35.0 and lower, but retains the performance improvements made in version 0.36.0.
This version also brings a few new features to the HTTP RPC client, notably a way to specify the User-Agent to send along HTTP requests, as well as a way to override the underlying reqwest client.
Additionally, this release fixes a couple of issues with the serde-based deserialization of the FinalizeBlock and Event types.
BREAKING CHANGES
[tendermint-proto]Upgradetonicto v0.11 (#1422)[tendermint-light-client-verifier]Restores the commit verification interfaces ofPredicateVerifier<P, C, V>from<= 0.35.0(#1423)verify_commit(&self. untrusted: &UntrustedBlockState<'_>)is restored, as in <= 0.35.0.verify_commit(&self, untrusted: &UntrustedBlockState<'_>, trusted: &TrustedBlockState<'_>,)introduced in 0.36.0 is renamed toverify_commit_against_trusted.
The performance improvements made in the0.36.0release are still intact.
FEATURES
[tendermint-rpc]Add a way to specify custom User-Agent forHttpClient(#1425)
[tendermint-rpc]Add aclient()method ontransport::http::Builderto override the underlyingreqwestclient (#1421)[tendermint-rpc]Add afrom_raw_parts()method ontransport::http::HttpClientto allow supplying the underlyingreqwestclient (#1421)
BUG FIXES
v0.36.0
This release brings substantial performance improvements to the voting power computation within the light client, improves the handling of misformed blocks (eg. with empty last_commit on non-first block) when decoding them from Protobuf or RPC responses, and adds missing serde derives on some Protobuf definitions.
This release also technically contains a breaking change in tendermint-proto, but this should not impact normal use of the library, as the ToPrimitive impl that was removed on BlockIdFlag trait did not provide any additional functionality.
BREAKING CHANGES
-
[tendermint-proto]Remove redundant impl ofnum_traits::ToPrimitiveforBlockIDFlag(#1389) -
[tendermint]ChangeEventAttribute'skeyandvaluefields fromStringtoVec<u8>for Tendermint v0.34, as enforced by the Protobuf schema for Tendermint v0.34.tendermint::abci::EventAttributeis now an enum, to account for version 0.34 and 0.37+, therefore thekey,valueandindexfields now have to be retrieved through thekey_str()/key_bytes,value_str()/value_bytes()andindex()methods. (#1400). -
[light-client-verifier]Rework VerificationPredicates and VotingPowerCalculator by introducing methods which check validators and signers overlap at once. The motivation of this is to avoid checking the same signature multiple times.Consider a validator is in old and new set. Previously their signature would be verified twice. Once by call to
has_sufficient_validators_overlapmethod and second time by call tohas_sufficient_signers_overlapmethod.With the new interface,
has_sufficient_validators_and_signers_overlapis called and it can be implemented to remember which signatures have been verified.As a side effect of those changes, signatures are now verified in the order of validator’s power which may further reduce number of signatures which need to be verified.
(#1410)
FEATURES
[tendermint-proto]Add missingserdederives on Protobuf definitions (#1389)[tendermint]Add the following impls fored25519-consensus:From<ed25519_consensus::SigningKeyfortendermint::PrivateKeyFrom<ed25519_consensus::SigningKey>fortendermint::SigningKeyFrom<ed25519_consensus::VerificationKey>fortendermint::PublicKeyFrom<ed25519_consensus::VerificationKey>fortendermint::VerificationKey
(#1401)
IMPROVEMENTS
[tendermint]Allow misformed blocks (eg. with emptylast_commiton non-first block) when decoding them from Protobuf or RPC responses (#1403)[tendermint]Checkindex ≤ i32::MAXinvariant when convertingusizeintoValidatorIndex. (#1411)[light-client-verifier]Optimise validators lookup inProvidedVotingPowerCalculator::voting_power_inmethod. (#1407)[tendermint-light-client-verifier]Reuse buffer used to store sign_bytes to reduce number of allocations and deallocations. (#1413)