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_37
to constructEventAttribute::V037
variants.
(#1479, (#1480) - tendermint-light-client-js: bump
serde-wasm-bindgen
tov0.6.5
andjs-sys
to=v0.3.70
to
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]
AddAny
type 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]
Bumpprost
andprost-types
to their latest versions in thetendermint
crate. 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]
IfAppHash
fails 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]
: Updateprost
to v0.13 andtonic
to v0.12 (#1444)
BUG
[tendermint-rpc]
Deserialize an empty JSON object asNone
for theconsensus_param_updates
field in the/block_results
response. (#1440)
FEATURES
[tendermint-rpc]
Add support for the/genesis_chunked
RPC 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]
Upgradetonic
to 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.0
release are still intact.
FEATURES
[tendermint-rpc]
Add a way to specify custom User-Agent forHttpClient
(#1425)
[tendermint-rpc]
Add aclient()
method ontransport::http::Builder
to override the underlyingreqwest
client (#1421)[tendermint-rpc]
Add afrom_raw_parts()
method ontransport::http::HttpClient
to allow supplying the underlyingreqwest
client (#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::ToPrimitive
forBlockIDFlag
(#1389) -
[tendermint]
ChangeEventAttribute
'skey
andvalue
fields fromString
toVec<u8>
for Tendermint v0.34, as enforced by the Protobuf schema for Tendermint v0.34.tendermint::abci::EventAttribute
is now an enum, to account for version 0.34 and 0.37+, therefore thekey
,value
andindex
fields 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_overlap
method and second time by call tohas_sufficient_signers_overlap
method.With the new interface,
has_sufficient_validators_and_signers_overlap
is 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 missingserde
derives on Protobuf definitions (#1389)[tendermint]
Add the following impls fored25519-consensus
:From<ed25519_consensus::SigningKey
fortendermint::PrivateKey
From<ed25519_consensus::SigningKey>
fortendermint::SigningKey
From<ed25519_consensus::VerificationKey>
fortendermint::PublicKey
From<ed25519_consensus::VerificationKey>
fortendermint::VerificationKey
(#1401)
IMPROVEMENTS
[tendermint]
Allow misformed blocks (eg. with emptylast_commit
on non-first block) when decoding them from Protobuf or RPC responses (#1403)[tendermint]
Checkindex ≤ i32::MAX
invariant when convertingusize
intoValidatorIndex
. (#1411)[light-client-verifier]
Optimise validators lookup inProvidedVotingPowerCalculator::voting_power_in
method. (#1407)[tendermint-light-client-verifier]
Reuse buffer used to store sign_bytes to reduce number of allocations and deallocations. (#1413)