NewYour coding agent can read the release notes before it upgrades.Set up the MCP server →
crates.io · #4331 most downloaded on crates.io
tendermint-proto is a the Rust implementation of the Tendermint proto structs.
Last release 1 years ago
05 May 2025
Release timing varies
gaps range from 2 weeks to 5 months
Nearly every release is documented
notes for 47 of 48 stable releases
Nothing withdrawn
no release was ever pulled
6 years old
55 releases · first in 2020
One column per quarter.
See the CHANGELOG for this release.
See the CHANGELOG for this release.
See the CHANGELOG for this release.
See the CHANGELOG for this release.
April 8, 2025
This release fixes a security vulnerability. All users are advised to update ASAP.
[tendermint] Export abci::event::v0_37 to construct EventAttribute::V037 variants.
(#1479, (#1480)[tendermint-light-client-js] Bump serde-wasm-bindgen to v0.6.5 and js-sys to =v0.3.70 to
fix compilation failure of wasm-bindgen-test. (#1481)[light-client-verifier] Check for duplicate votes
(ISA-2025-003)[tendermint-rpc] Strip auth info from URL to avoid double Authorization header
April 3rd, 2025
[tendermint-rpc] Strip auth info from URL to avoid double Authorization header (#1494)April 3rd, 2025
This release fixes a bug in tendermint-rpc crate.
[tendermint-rpc] Strip auth info from URL to avoid double Authorization
header (#1494)This is a bug fix release that address omissions in the v0.40.0 release.
December 24th, 2024
This is a bug fix release that address omissions in the v0.40.0 release.
abci::event::v0_37 to construct EventAttribute::V037 variants.serde-wasm-bindgen to v0.6.5 and js-sys to =v0.3.70 towasm-bindgen-test. (#1481)Full Changelog: v0.40.0...v0.40.1
This release adds a new dialect for CometBFT v0.38.x , enabling the correct serialization of misbehavior Evidence . This improvement ensures compatibi
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.
EvidenceThis is a bugfix release which addresses a couple issues found in the v0.39.0 release.
August 9th, 2024
This is a bugfix release which addresses a couple issues found in the v0.39.0 release.
Users of v0.39.0 are strongly encouraged to upgrade to v0.39.1.
BUG FIXES:
This release bundles the google.protobuf.Any Protobuf type in tendermint-proto and brings improvements to google.protobuf.Duration and google.protobuf
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.
[tendermint-proto] Add Any type under tendermint_proto::google::protobuf::Any (#1445)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
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.
[tendermint] Bump prost and prost-types to their latest versions in the tendermint crate. This was missed in #1444, which only updated the two dependencies in tendermint-rpc, leading to duplicate versions of both crates to be present in the dependency graph. (#1446)[tendermint-rpc] If AppHash fails to decode as hex, try to decode it as base64. (#1449)tendermint-rs and CometBFT are versioned separately, and the version numbers seemingly matching at the moment is not intended.
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.
Block (#1435)[tendermint-proto]: Update prost to v0.13 and tonic to v0.12 (#1444)[tendermint-rpc] Deserialize an empty JSON object as None for the consensus_param_updates field in the /block_results response. (#1440)[tendermint-rpc] Add support for the /genesis_chunked RPC endpoint (#1438)July 15th, 2024
This release enhances /block_results response handling, relaxes Block validation, and adds support for the /genesis_chunked RPC endpoint.
Block
(#1435)[tendermint-proto]: Update prost to v0.13 and tonic to v0.12
(#1444)[tendermint-rpc] Deserialize an empty JSON object as None for the consensus_param_updates
field in the /block_results response.
Deserialize version in consensus params as None if it is an empty object, null or not found.
(#1440)[tendermint-rpc] Add support for the /genesis_chunked RPC endpoint
(#1438)This release restores the commit verification interfaces of PredicateVerifier from tendermint-rs 0.35.0 and lower, but retains the performance improve
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.
[tendermint-proto] Upgrade tonic to v0.11 (#1422)[tendermint-light-client-verifier] Restores the commit verification interfaces of PredicateVerifier<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 to verify_commit_against_trusted.0.36.0 release are still intact.[tendermint-rpc] Add a way to specify custom User-Agent for HttpClient (#1425)[tendermint-rpc] Add a client() method on transport::http::Builder to override the underlying reqwest client (#1421)[tendermint-rpc] Add a from_raw_parts() method on transport::http::HttpClient to allow supplying the underlying reqwest client (#1421)May 30th, 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.
[tendermint-proto] Upgrade tonic to v0.11 (#1422)[tendermint-light-client-verifier] Restores the commit verification interfaces of PredicateVerifier<P, C, V> from <= 0.35.0.
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 to verify_commit_against_trusted.
The performance improvements made in the 0.36.0 release are still intact.
(#1423)[tendermint-abci] Add serde default for Event.type since it has omitempty in the Go
implementation.
(#1416)[tendermint-rpc] Add a client() method on transport::http::Builder to override the underlying reqwest client.
(#1421)[tendermint-rpc] Add a from_raw_parts() method on transport::http::HttpClient to allow supplying the underlying reqwest client.
(#1421)[tendermint-rpc] Add a way to specify custom User-Agent for HttpClient
(#1425)[tendermint] Fix FinalizeBlock::validator_updates deserialization as nullable (#1428)This release also technically contains a breaking change in tendermint-proto, but this should not impact normal use of the library, as the ToPrimitive…
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.
[tendermint-proto] Remove redundant impl of num_traits::ToPrimitive for BlockIDFlag
(#1389)
[tendermint] Change EventAttribute's key and value fields from String to Vec<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 the key, value and index fields now have to be retrieved through the key_str()/key_bytes, value_str()/value_bytes() and index() 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 to has_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)
[tendermint-proto] Add missing serde derives on Protobuf definitions
(#1389)[tendermint] Add the following impls for ed25519-consensus:
From<ed25519_consensus::SigningKey for tendermint::PrivateKeyFrom<ed25519_consensus::SigningKey> for tendermint::SigningKeyFrom<ed25519_consensus::VerificationKey> for tendermint::PublicKeyFrom<ed25519_consensus::VerificationKey> for tendermint::VerificationKey
(#1401)[tendermint] Allow misformed blocks (eg. with empty last_commit
on non-first block) when decoding them from Protobuf or RPC responses
(#1403)[light-client-verifier] Optimise validators lookup in
ProvidedVotingPowerCalculator::voting_power_in method.
(#1407)[tendermint] Check index ≤ i32::MAX invariant when converting usize
into ValidatorIndex.
(#1411)[tendermint-light-client-verifier] Reuse buffer used to store
sign_bytes to reduce number of allocations and deallocations.
(#1413)This release brings breaking changes related to flex-error, EventAttribute fields and /tx_broadcast Response struct, as well as a critical bug fix for…
This release brings breaking changes related to flex-error,
EventAttribute fields and /tx_broadcast Response struct,
as well as a critical bug fix for tendermint-p2p,
multiple improvements to tendermint-rpc and
a performance optimization for tendermint-light-client-verifier.
flex-error/eyre_tracer feature in crates which don’t
use eyre directly. If you’re using eyre, and no other crate enables
it, you may need to enable that explicitly.
(#1371)[tendermint] Allow null values in key and value fields of
EventAttribute when deserializing. The serialization schema for the fields
is changed to Option<String>
(#1375).codespace field to the Tx sync and async broadcast Response
(#1382)[tendermint-rpc] Fix deserialization of /block_results response when some
tx results are non-ok ([#1391](https://github.com/informalsystems/tendermint-
rs/pull/1391))[tendermint-p2p] Fix data corruption on sending long messages via SecretConnection
(#1393)[tendermint-rpc] Add FromStr, Serialize and Deserialize instances
to CompatMode ([#1374](https://github.com/informalsystems/tendermint-
rs/issues/1374))[tendermint-rpc] Export the http, websocket
modules under client, each with the public Builder type
(#1378).HttpClient.
http::Builder now provides a .timeout(Duration) method to specify the request timeout.
If not specified, the default value is 30 seconds.
(#1379)[tendermint-light-client-verifer] Optimizing voting power calculation by breaking the loop when we have enough voting power
(#1378).Nothing published for this version
[tendermint-rpc] Address the RUSTSEC-2023-0052 vulnerability by dropping dependency on hyper-proxy and changing the HTTP client to use reqwest (\#1342…
This release brings breaking changes, updating the ExtendVote request
data structure to the changes in the CometBFT 0.38.0 release.
The gRPC stack has been updated to prost 0.12 and tonic 0.10.
The RPC client for HTTP has been reimplemented using reqwest.
Support for Secp256k1 consensus keys has been added as an optional feature.
[tendermint-proto] Update dependencies to prost 0.12 and tonic 0.10
(#1349)[tendermint-rpc] Changed ErrorDetail variants
(#1362):
Hyper and InvalidUri variants.Http variant now has Error from reqwest as the source.InvalidProxy variant.tungstenite dependency exposed through its Error type in
WebSocket-related variants has been updated to version 0.20.x.[tendermint-rpc] Removed a TryFrom<HttpClientUrl> conversion for
hyper::Uri as hyper is no longer a direct dependency
(#1362).[tendermint-proto] Update v0_38 bindings to CometFBT release 0.38.0
(#1365).[tendermint] Add fields to abci::request::ExtendVote to represent
the fields added to the abci.RequestExtendVote protobuf message since
the 0.38.0-rc3 release
(#1365).[tendermint] Add support for secp256k1 consensus keys
(#1364)[tendermint-rpc] Turn non-200 HTTP response into an error
instead of trying to parse the body as a JSON-RPC response
(#1359)[tendermint-rpc] Address the RUSTSEC-2023-0052 vulnerability by dropping
dependency on hyper-proxy and changing the HTTP client to use reqwest
(#1342).This release includes bug fixes and performance improvements to how CometBFT data types are serialized and deserialized.
September 18th, 2023
This release includes bug fixes and performance improvements to how CometBFT data types are serialized and deserialized.
Changed the serde schema produced by serialize functions in these
helper modules ([#1351](https://github.com/informalsystems/tendermint-
rs/pull/1351)):
tendermint-proto:
serializers::nullableserializers::optionaltendermint:
serializers::apphashserializers::hashserializers::option_hashIf serde_json is used for serialization, the output schema does not change.
But since serde is a generic framework, the changes may be breaking for
other users. Overall, these changes should make the serialized data
acceptable by the corresponding deserializer agnostically of the format.
[tendermint] Integer overflows are prevented when calculating the total
voting power value in validator::Set
(#1348).[tendermint-proto] Serialize and Deserialize impls for
v*::crypto::PublicKey are corrected to match the JSON schema used by
other implementations
(#1350).tendermint] Fix JSON serialization of timestamp field for
CommitSig::BlockIdFlagAbsent to match what is expected by CometBFT
(#1352)[tendermint-testgen] Add app_hash field to testgen Header and implement
convenient method for default LightBlock construction from Header
(#1343)[tendermint] Improve and validate deserialization of validator::Set
(#1348).
The total_voting_power field no longer has to be present in the format
processed by Deserialize. If it is present, it is validated against the
sum of the voting_power values of the listed validators. The sum value
is also checked against the protocol-defined maximum.[tendermint-proto] In the Deserialize impls derived for
v*::types::ValidatorSet, the total_voting_power field value is retrieved
when present.[tendermint-proto] Add serialziation helper module
serializers::from_str_allow_null. Use it to allow the proposed_priority
field value of null in the deserialization of v*::types::Validator.tendermint-proto: This release adds an optional grpc-server feature to the proto crate. When enabled the feature will include gRPC service definitions
Aug 29th, 2023
tendermint-proto: This release adds an optional grpc-server feature to the proto crate. When enabled the feature will include gRPC service definitions for the RPC and ABCI servers.
[tendermint-proto] add grpc/grpc-server features to include gRPC server definitions for the RPC/ABCI services.
(#1338)This release adds support for CometBFT 0.38 protocols. In the response to the sync_info RPC endpoint, the data of the earliest block are exposed to th
This release adds support for CometBFT 0.38 protocols.
In the response to the sync_info RPC endpoint, the data of the earliest block
are exposed to the client.
[tendermint] Adaptations for CometFBT 0.38
(#1312):
consensus::params::AbciParams struct, add the abci field of this
type to consensus::Params to represent the protobuf additions.abci::Request and abci::Response reexports to use the
enums defined in v0_38.[tendermint] Define version-specific categorized request/response enums:
ConsensusRequest, MempoolRequest, InfoRequest, ShapshotRequest,
ConsensusResponse, MempoolResponse, InfoResponse, ShapshotResponse,
in each of the v0_*::abci modules, so that the variants are trimmed to the
requests/responses used by the respective protocol version.
Reexport the types from v0_38::abci as aliases for these names in the
abci module, continuing the naming as used in older API.
(#1312).[tendermint] Rename Signature::to_bytes to Signature::into_bytes
(#1312).[tendermint-abci] Update the Application interface to CometBFT 0.38
(#1312)[tendermint-rpc] Changes to support the RPC protocol in CometBFT 0.38
(#1317):
finalize_block_results and app_hash fields to
endpoint::block_results::Response.deliver_tx field is renamed to tx_result in
endpoint::broadcast::tx_commit::Response.tx_result field type changed to ExecTxResult in
endpoint::tx::Response.event::EventData::NewBlock variant is renamed to LegacyNewBlock.
The new NewBlock variant only carries fields relevant since CometBFT 0.38.event::DialectEvent, replaced with non-generic serialization
helpers in event::{v0_34, v0_37, v0_38}. The Deserialize helpers in
the latter two modules are aliased from common types that can support both
fields added in CometBFT 0.38, block_id and result_finalize_block,
as well as the fields present 0.37. Likewise for DialectEventData
and other event data structure types.tendermint.[tendermint] Changes to support the RPC protocol in CometBFT 0.38
(#1317):
Serialize is
changed for abci::response types CheckTx and FinalizeBlock.tendermint-rpc] Decode the earliest block data fields of the sync_info
object in /status response and expose them in the SyncInfo struct:
earliest_block_hash, earliest_app_hash, earliest_block_height,
earliest_block_time
(#1321).[tendermint-proto] Align the return signature of the encode_vec and
encode_length_delimited_vec methods in the Protobuf trait with
prost::Message by directly returning Vec<u8>.
(#1323)
Protobuf methods and let callers decide on
clone beforehand for original value access[tendermint-proto] Generate prost bindings for CometBFT 0.38
under the tendermint::v0_38 module
(#1312)[tendermint] Support for CometBFT 0.38:
(#1312):
tendermint::v0_38 protobuf
types generated in [tendermint-proto].v0_38::abci to enumerate all requests
and responses appropriate for CometBFT version 0.38.abci to represent the requests
and responses new to ABCI++ 2.0 in CometBFT version 0.38. The names are
ExtendVote, FinalizeBlock, VerifyVoteExtension.[tendermint-rpc] Support for CometBFT 0.38
(#1317):
Deserialize implementations on abci::Event, abci::EventAttribute
that correspond to the current RPC serialization.abci::response also get Deserialize implementations
corresponding to the current RPC serialization.Serialize, Deserialize implementations on abci::types::ExecTxResult
corresponding to the current RPC serialization.apphash_base64 serializer module.Fixed a minor cargo metadata problem that gummed up the 0.32.1 release.
Fixed a minor cargo metadata problem that gummed up the 0.32.1 release.
Fixed a bug with processing the latest_block_result endpoint result in the RPC client set to the 0.34 compatibility mode.
Fixed a bug with processing the latest_block_result endpoint result
in the RPC client set to the 0.34 compatibility mode.
[tendermint-rpc] Use compatibility mode in implementations
of the Client::latest_block_results method
(#1326)This release notably comes with a fully featured [light client attack detector][attack-detector], and introduces a [CLI for the light client][light-cl
May 3rd, 2023
This release notably comes with a fully featured light client attack detector, and introduces a CLI for the light client for verifying headers, detecting attacks against the light client, and reporting the evidence to primary and witness nodes.
It also adds a Verifier::verify_misbehaviour_header method for verifying
headers coming from a misbehaviour evidence.
Moreover, the Client trait is now exposed by the tendermint-rpc without requiring
the http-client or the websocket-client feature flags to be enabled.
tendermint-light-client-verifier] Rename Verifier::verify
to Verifier::verify_update_header to better describe
its purpose versus Verifier::verify_misbehaviour_header
(#1294)tendermint-light-client-detector] Implement a light client
attack detector, based on its Go version found in Comet
(#1291)tendermint-light-client-verifier] Add Verifier::verify_misbehaviour_header
for verifying headers coming from a misbehaviour evidence.
The verification for these headers is a bit more relaxed in order to catch FLA attacks.
In particular the "header in the future" check for the header should be skipped.
(#1294)Expose the TypedEvent marker trait.
April 17th, 2023
Expose the TypedEvent marker trait.
Upgrade signature crate versions and add a TypedEvent trait for ABCI events.
April 16th, 2023
Upgrade signature crate versions and add a TypedEvent trait for ABCI events.
[tendermint, tendermint-p2p] Bump ed25519 to v2, k256 to v0.13, and signature to v2This release introduces support for multiple versions of CometBFT protocols. Consumers of tendermint-rs crates, with the exception of tendermint-abci,
March 7th, 2023
This release introduces support for multiple versions of CometBFT protocols.
Consumers of tendermint-rs crates, with the exception of tendermint-abci,
should be able to interoperate with CometBFT nodes based on 0.34.x and
0.37.x releases, or a combination of these.
tendermint] Version-specific definitions for ABCI Request and Response
enums under v0_34::abci and v0_37::abci, containing only the method variants
present in each of the respective protocol versions.
Request and Response defined under v0_37 are re-exported under
the non-versioned abci module name, but the SetOption variant is not present
in these latest versions of the enums.
(#1193)tendermint-abci] Change the frame length encoding in the ABCI wire protocol
to unsigned varint, to correspond to the changes in Tendermint Core 0.37.
No compatibility with 0.34 is provided at the moment.
(#1193)tendermint-rpc] Changed the signature of WebSocketClient::new_with_config
to accept a WebSocketConfig struct value rather than an Option.
(#1193)tendermint-proto] The serializers::evidence module has been made private.
(#1193)tendermint-rpc] Bump async-tungstenite dependency version to 0.20,
re-exporting WebSocketConfig from tungstenite 0.18
(#1276).tendermint-proto] Generate prost bindings for Tendermint 0.34 and 0.37 side by side.
The version-specific structs are placed under the tendermint::v0_34 and
tendermint::v0_37 module namespaces, respectively. The names under
tendermint::v0_37 are also re-exported under tendermint.
(#1193)tendermint] New and updated ABCI domain types for Tendermint Core v0.37
(#1193).tendermint] Protobuf conversions provided for both v0_34 and v0_37
versions of the generated [tendermint-proto] structs, where applicable.
(#1193).tendermint-rpc] Introduce client::CompatMode, enumerating protocol
compatibility modes specifying the RPC data encoding used by the client.
An HttpClient can be created with a selected mode specified in the new
builder API, or have the mode changed afterwards (usually after
version discovery) by the added set_compat_mode method.
For WebSocketClient, the mode can only be specified at creation via the new
builder API.
(#1193)tendermint-abci] Port ABCI application support to 0.37 Tendermint Core API.
No legacy support for 0.34 is provided at the moment.
(#1193).Hash on tendermint::Time
(#1278)tendermint-light-client] Show max_clock_drift in error raised when header
is from the future
(#1280)Improve debug output for Ed25519 keys.
February 27th, 2023
Improve debug output for Ed25519 keys.
[tendermint] Restore hex-formatting in debug output of Ed25519 keys.
(#1272)Remove a deprecated constant signature::ED25519_SIGNATURE_SIZE.
Feb 17th, 2023
This release features modularity improvements for the cryptographic routines, as well as fixes related to block verification and the use of a consensus-friendly ed25519 crate.
[tendermint] Make implementations of cryptographic primitives replaceable
(#1238).
Sha256 trait in module crypto and make digest hashing
implementations available through it.Verifier trait in module crypto::signature to enable
alternative implementations of signature verification available through it.
An Error enum is defined in the same module, representing the error cases
that can arise in the implementation in a deliberately opaque way.crypto::default provides pure Rust implementations of the
cryptographic traits. The module is made available by a
new rust-crypto feature, enabled by default.merkle::simple_hash_from_byte_vectors is made generic over an
implementation of the new MerkleHash trait. Implementations for
Rust-Crypto conformant digest objects and the non-incremental
crypto::Sha256 API are provided in the crate.Header::hash and ValidatorSet::hash methods are gated by the
rust-crypto feature. Generic hashing methods not dependent on
the default crypto implementations are added for both types,
named hash_with.account::Id and node::Id from PublicKey and
curve-specific key types are gated by the rust-crypto feature.validator::Info::new method is gated by the rust-crypto feature.signature::ED25519_SIGNATURE_SIZE.[tendermint-light-client-verifier] Changes for the new Tendermint crypto API
(#1238).
rust-crypto feature, enabled by default, guards the
batteries-included implementation types: ProdVerifier, ProdPredicates,
ProdVotingPowerCalculator.operations::hasher API (Hasher and ProdHasher),
made unnecessary by the new crypto abstractions in the tendermint crate.VerificationPredicates trait features a Sha256 associated type
to represent the hasher implementation, replacing the &dyn Hasher
parameter passed to methods.VerificationErrorDetail::FaultySigner field
validator_set to ValidatorSet. This removes a hasher dependency from
CommitValidator, and ProdCommitValidator is now an empty dummy type.[tendermint-light-client] Changes for the new Tendermint crypto API
(#1238).
rust-crypto feature enables the default crypto implementations,
and is required by the rpc-client and unstable features.
ProdForkDetector is guarded by this feature, and is made a specific
type alias to the hasher-generic ProvidedForkDetector type.LightClientBuilder gets another type parameter for the Merkle hasher.
Its generic constructors lose the Hasher parameter.[tendermint-light-client] Fix verification of blocks between two trusted
heights
(#1246)[tendermint, tendermint-p2p] Replaced the ed25519-dalek dependency with
ed25519-consensus
(#1046)This is primarily a security-related release, and although it's a breaking release, the breaking changes are relatively minor.
Dec 13, 2022
This is primarily a security-related release, and although it's a breaking release, the breaking changes are relatively minor.
It is highly recommended that all tendermint-rs light client users upgrade to this version immediately.
[tendermint-light-client-verifier] Add is_matching_chain_id
method to the VerificationPredicates trait[tendermint-light-client-verifier] Add a
chain_id field to the TrustedBlockState struct[tendermint-light-client-js] Switch to serde-wasm-bindgen for marshalling
JS values (#1242)[tendermint-light-client] Fix an issue where the light client was not
checking that the chain ID of the trusted and untrusted headers matchFollowing on from the ABCI domain type-related work in v0.26.0, this release deduplicates types across the tendermint and tendermint-rpc crates, and m
Nov 28, 2022
Following on from the ABCI domain type-related work in v0.26.0, this release
deduplicates types across the tendermint and tendermint-rpc crates, and
makes better use of our domain types across the crates (a big thanks to
@mzabaluev here!).
@romac helped make the RPC query interface more ergonomic, and @hu55a1n1 implemented Rust equivalents for Tendermint Go's VerifyCommitLight and VerifyCommitLightTrusting methods for the light client.
Some additional convenience methods for the Time type were provided by
@scalalang2.
[tendermint] Change hash fields' type from Bytes
(#1095):
| Struct | Field | Type |
|---|---|---|
abci::request::OfferSnapshot |
app_hash |
AppHash |
abci::response::Info |
last_block_app_hash |
AppHash |
abci::response::InitChain |
app_hash |
AppHash |
Genesis |
app_hash |
AppHash |
[tendermint] Remove method AppHash::value,
replaced with non-allocating AppHash::as_bytes
#1232.
[tendermint-rpc] Remove ABCI-related types, change the affected field types
to standard Rust types or ABCI domain types in [tendermint].
(#1090)
[tendermint-rpc] Extract the key field from query::Condition and
structure a query::Condition to have key and operation fields, since the
key field is common to all conditions
(#1230)
[tendermint] Rename merkle::proof::Proof to ProofOps
(#1234)
[tendermint-rpc] Change the type of /tx response field proof
to tendermint::tx::Proof
(#1233)
[tendermint] Added Time methods unix_timestamp and unix_timestamp_nanos.
(#1175)[light-client] Added validate, validate_against_trusted, verify_commit and verify_commit_against_trusted methods to PredicateVerifier.
(#1222)[tendermint-rpc] Make tendermint_rpc::Query's fields
public and add a Condition::key(&self) -> &str method
(#1230)[tendermint] Add domain types merkle::Proof and tx::Proof,
to represent protobuf messages crypto.Proof and types.TxProof respectively
(#1234)…module and RPC crate, so please expect further breaking changes in subsequent breaking releases.
Oct 31, 2022
The highlight of this release is the addition of domain types specifically for ABCI. Previously, Rust-based Tendermint application developers would have had to exclusively rely on the generated Protobuf types. Many thanks to @hdevalence for the heavy lifting on this, and to @mzabaluev for the porting work after the Tendermint v0.35 retraction!
While we will endeavour to keep this API as stable as possible, we know that we will have to evolve it over the coming months to reduce duplication of functionality and types across the ABCI module and RPC crate, so please expect further breaking changes in subsequent breaking releases.
[tendermint] Added domain types for ABCI
(#862)[tendermint-proto] Use Bytes for byte array fields of ABCI protobuf types.
(#1203)[tendermint-rpc] The encoding of the hash field for requests to the /block_by_hash
endpoint has been changed to base64 (from hex) to accommodate discrepancies in
how the Tendermint RPC encodes this field for different RPC interfaces
(#942)TrustThresholdFraction of 1
(#1208)[tendermint-abci] Deprecate Client::set_option.
(#1203)[tendermint-rpc] Add support for the /block_by_hash RPC endpoint. See https://docs.tendermint.com/master/rpc/#/Info/block_by_hash for details (#832).…v0.35 and v0.36 releases. As such, it is a non-breaking change, and removes the need to pin one's tendermint-rs dependencies to a specific version (as…
Sep 23, 2022
This release follows from v0.23.9, with the v0.24 series skipped due to Tendermint Core abandoning the v0.35 and v0.36 releases. As such, it is a non-breaking change, and removes the need to pin one's tendermint-rs dependencies to a specific version (as was the case for the v0.23 series).
This release still targets compatibility with Tendermint Core v0.34, and specifically provides compatibility with v0.34.21.
[tendermint-rpc] Fix deserialization of /block_results response when it contains evidence for a duplicate vote
(#1194)time dependency
(#1199)[proto] Do not generate types in google::protobuf
(#1188).Nothing published for this version
Nothing published for this version
This minor release adds Basic authentication support for HTTP and WebSocket RPC clients, in addition to some dependency updates.
Aug 5, 2022
This minor release adds Basic authentication support for HTTP and WebSocket RPC clients, in addition to some dependency updates.
We had to restrict our time dependency for some crates to a version range of
>=0.3, <0.3.12 due to what seems to be a recent issue in js-sys causing our
no_std support to break. We will undo this restriction as soon as the issue is
resolved.
[tendermint-rpc] Add support for HTTP Basic authentication to HTTP and WebSocket RPC clients
(#1169)This release focuses on ensuring compatibility with Tendermint v0.34.20, which introduces a prioritized mempool. As per the release notes for v0.23.8-
Jul 22, 2022
This release focuses on ensuring compatibility with Tendermint v0.34.20, which
introduces a prioritized
mempool.
As per the release notes for v0.23.8-pre.1, this has a minor additive impact
on the ABCI and RPC interfaces in the fields that the CheckTx response
contains.
This release also contains some important dependency updates and minor bug fixes.
[tools/proto-compiler] Annotate serde to fall back to Default for the
omitted fields when deserializing tendermint_proto::abci::ResponseInfo struct,
also providing deserialization for the response at the /abci_info RPC endpoint.
(#1132)k256 to v0.11 (#1153)[tendermint-proto,tendermint-rpc,tools] Update to ensure compatibility with
Tendermint v0.34.20 (#1159)This pre-release targets Tendermint v0.34.20-rc0, which introduces a prioritized mempool. This has a minor additive impact on the ABCI and RPC interfa
Jun 29, 2022
This pre-release targets Tendermint v0.34.20-rc0, which introduces a prioritized
mempool. This has a minor additive impact on the ABCI and RPC interfaces in the
fields that the CheckTx response contains.
Pre-releases will continue along this line until v0.34.20 is released.
A minor update to use the latest version of prost.
Apr 25, 2022
A minor update to use the latest version of prost.
prost to v0.10 ([#1113](https://github.com/informalsystems/tendermint-
rs/issues/1113))A minor release that allows for a small UX improvement in the usage of the Client::genesis() call in tendermint-rpc.
Mar 29, 2022
A minor release that allows for a small UX improvement in the usage of the
Client::genesis() call in tendermint-rpc.
[tendermint-rpc] Allow users to specify the AppState type in the Client::genesis() function.
(#1106)A single breaking change is provided by this release in order to move us closer toward no_std support in both tendermint-rs and ibc-rs.
Jan 13, 2022
A single breaking change is provided by this release in order to move us closer
toward no_std support in both tendermint-rs and ibc-rs.
[tendermint-light-client] Split out the verification functionality from the
tendermint-light-client crate into its own no_std-compatible crate:
tendermint-light-client-verifier. This helps move us closer to no_std
compliance in both tendermint-rs and ibc-rs
(#1027)This release exclusively focuses on removing native-tls/openssl from the dependency tree and replacing it with rustls. This was previously incorrectly
Jan 11, 2022
This release exclusively focuses on removing native-tls/openssl from the
dependency tree and replacing it with rustls. This was previously incorrectly
configured in our hyper-proxy dependency.
[tendermint-rpc]: Switch hyper-proxy to use rustls, eliminating
the only use of native-tls in tendermint-rs dependencies
(#1068)Here we mainly attempt to provide a short-term workaround for \#1021 by catering for both possible forms of JSON serialization for public keys.
Dec 20, 2021
Here we mainly attempt to provide a short-term workaround for #1021 by catering for both possible forms of JSON serialization for public keys.
[tendermint] Hash is implemented for tendermint::Time
(#1054)[tendermint-rpc] Allow deserialization of public keys from validator updates
from block_results endpoint in multiple JSON formats until this is fixed in
Tendermint
(#1021)This is necessarily a breaking change, but is released as v0.23.2 as per our current versioning scheme.
Dec 7, 2021
This release focuses on the removal of
chrono as our primary dependency for
dealing with time, and replaces it with the
time crate.
This is necessarily a breaking change, but is released as v0.23.2 as per our current versioning scheme.
[tendermint] Reform tendermint::Time
(#1030):
chrono::DateTime<chrono::Utc>.TimestampOverflow, replaced with
TimestampNanosOutOfRange; removed ChronoParse, replaced with TimeParse.[tendermint-rpc] Use OffsetDateTime and Date types provided by the time crate
in query operands instead of their chrono counterparts.
(#1030)[tendermint] Deprecated signature::ED25519_SIGNATURE_SIZE
in favor of Ed25519Signature::BYTE_SIZE
(#1023)chrono crate.
(#1030)[tendermint] Improve tendermint::Time
(#1036,
revised by #1048):
Time to dates with years in the range
1-9999, to match the specification of protobuf message Timestamp.
Add an ErrorDetail variant DateOutOfRange to report when this
restriction is not met.OffsetDateTime of the time crate.[tools/proto-compiler] Fixed our proto-compiler, which was producing protos that did not compile due to an incorrect Prost field annotation
Nov 15, 2021
Minor bug fixes.
The main changes in this release involve upgrading to Prost v0.9 and some foundational changes to prepare for no_std support for some of our crates.
Oct 27, 2021
The main changes in this release involve upgrading to Prost
v0.9 and some
foundational changes to prepare for no_std support for some of our crates.
One of the main no_std-related changes in this release was to break out
configuration-related data structures from the tendermint crate into their own
crate (tendermint-config) as these structures depend on other crates which do
not yet support no_std.
[tendermint] The tendermint::node::info::ListenAddress::to_net_address
method was replaced with a simple as_str method toward facilitating
no_std compatibility ([#983](https://github.com/informalsystems/tendermint-
rs/issues/983))[tendermint] The tendermint::node::info::OtherInfo::rpc_address
field type has been changed from tendermint::net::Address
to String toward facilitating no_std compatibility
(#983)[tendermint, tendermint-config] The tendermint::config
module has now been broken out into its own crate (tendermint- config) to help towards facilitating no_std compatibility
(#983)[tendermint-rpc] Add support for the /block_search RPC endpoint. See
https://docs.tendermint.com/v0.34.x/rpc/\#/Info/block_search for details
(#832)Nothing published for this version
This release targets numerous issues largely in support of ibc-rs. The major breaking change in this regard is in the API we use to perform verificati…
Sep 23, 2021
This release targets numerous issues largely in support of
ibc-rs. The major breaking change
in this regard is in the
API
we use to perform verification in the tendermint-light-client crate.
Toward no_std compatibility and flexibility in the way we handle error tracing
and reporting, we have also refactored the entire error handling system in
tendermint-rs to make use of
flex-error.
Finally, we are also (painfully) aware of the fact that our documentation does
not build for this release and apologize for this. We currently still depend on
Prost v0.7.0 and are awaiting a new release of Prost after v0.8.0 that does not
break our builds. We have
#978 open in
preparation for this upgrade and will release a new version of tendermint-rs
as soon as a new Prost release is available.
See below for more specific detail as to what has changed in this release.
flex-error. This gives
users greater flexibility in terms of the error handling/reporting systems
they want to use and is a critical step towards no_std support.
(#923)[tendermint-rpc] The /tx endpoint's Request::hash field has been changed
from String to tendermint::abci::transaction::Hash
(#942)[tendermint-light-client] The light client verification functionality has
been refactored (including breaking changes to the API) such that it can be
more easily used from both tendermint_light_client and ibc-rs
(#956)[tendermint-light-client] Disable the lightstore-sled feature by default
(#976)[tendermint-rpc] The encoding of the hash field for requests to the /tx
endpoint has been changed to base64 (from hex) to accommodate discrepancies in
how the Tendermint RPC encodes this field for different RPC interfaces
(#942)[tendermint-rpc] Add support for the /consensus_params RPC endpoint. See
https://docs.tendermint.com/v0.34.x/rpc/\#/Info/consensus_params for details
(#832)[tendermint-rpc] Runtime query parsing (relevant to the /subscribe and
/tx_search endpoints) has been reintroduced. This allows for client-side
validation of queries prior to submitting them to a remote Tendermint node. An
example of how to use this is available in the tendermint-rpc CLI (see the
README
for details).
(#859)[tendermint, tendermint-light-client] Add support for Secp256k1 signatures
(#939)[tendermint-p2p] The SecretConnection can now be split into two halves to
facilitate full-duplex communication (must be facilitated by using each half
in a separate thread).
(#938)[tendermint-light-client] Model-based tests are now disabled by default and
can be enabled through the mbt feature
(#968)[tendermint, tendermint-rpc] Derive Eq on SignedHeader and Commit
(#969)[tendermint-light-client] Add WebSocketClient::new_with_config to specify
the WebSocket connection settings
(#974)[tendermint-p2p] Amino support is now implemented using the upstream
prost crate, eliminating a dependency on prost-amino
(#979)This release introduces several minor breaking changes (see below), among other improvements, that clean up a few RPC-related data structures and ensu…
Jul 20, 2021
This release introduces several minor breaking changes (see below), among other
improvements, that clean up a few RPC-related data structures and ensure better
correctness of the TrustThresholdFraction data structure when constructing
and deserializing it.
A security issue
was reported in prost v0.7, and we attempted to upgrade to v0.8, but we are
still awaiting one bug fix in
v0.8 before we can upgrade. The moment that is fixed in prost, we will upgrade
to v0.8 and provide another tendermint-rs release.
[tendermint-rpc] Remove the TmEvent and Attribute structs and replace
them with their equivalent domain types from the tendermint crate
(#918)[tendermint] The TrustThresholdFraction struct can now only be constructed
by way of its new constructor. Deserialization also now makes use of this
constructor, facilitating better validation. The numerator and denominator
fields can be accessed (read-only) via their respective methods, since the
fields are now private.
(#924)[tendermint] Update Genesis for Tendermint v.0.34.x (#917)[tendermint-rpc] Fix bug where NewBlock events emitted by Tendermint could not be parsed because of a missing field (#930)[tendermint-proto] Regenerate the Rust equivalents of the Tendermint
Protobuf structures for Tendermint v0.34.9
(#871)[tendermint-rpc] Add PartialEq, Eq, PartialOrd, Ord and Hash trait
bounds to the RPC URL types
(#919)[tendermint-rpc] Propagate JSON-RPC errors through the Rust subscription (#932)This release's number is bumped up to v0.20.0 due to two minor breaking changes in our public APIs (see the breaking changes section below for details…
Jun 22, 2021
This release's number is bumped up to v0.20.0 due to two minor breaking changes in our public APIs (see the breaking changes section below for details).
Also, since nobody was really making use of the Light Node, we decided to remove its crate from the repo for now. If anyone needs it back, please contact us and we'll restore it (although, we are considering migrating any and all binaries to their own repositories in the future to separate library-level concerns from operational ones).
The tendermint-p2p crate is still undergoing significant expansion (thanks to
@xla and @melekes). A lot's been done and we're in the process of finalizing
this new architecture, which will form the basis for future work towards
building more Tendermint nodes in Rust. More on this in future
releases.
Other than that, this release mainly contains various small bug fixes, improvements and dependency updates.
[tendermint-p2p] Remove superfluous module name suffixes in p2p::error (#898)[tendermint] Rename time::Time::to_rfc3339 to as_rfc3339 to be
consistent with Rust's self reference
conventions
(#910)[tendermint-abci,tendermint-rpc] Fix DeliverTx response deserialization
issues with gas_wanted and gas_used fields
(#876)[tendermint] Update TendermintConfig for Tendermint v.0.34.x (#897)[tendermint] Better handling of optional values in TendermintConfig (#908)[tendermint-light-client] Replaced tempdir dev dependency (deprecated)
with tempfile
(#851)[tendermint] Changed tendermint::public_key::Secp256k1 to be an alias
of k256::ecdsa::VerifyingKey
(#900)[tendermint-light-node] We removed the light-node crate from the repo since
nobody's currently really using it. If anyone needs please log an issue and
we'll restore it. It will, of course, remain accessible in the
repo history
for now.
(#879)This release primarily aims to enhance RPC and Light Client functionality, thereby improving [ibc-rs] and fixing an important bug affecting the Light
Apr 7, 2021
This release primarily aims to enhance RPC and Light Client functionality,
thereby improving ibc-rs and fixing an important bug affecting the Light
Client (#831).
The RPC now supports TLS 1.2+ connections (through the use of rustls),
allowing for secure HTTP and WebSocket connections, as well as HTTP/HTTPS
proxies. This implies that the Light Client now also supports these types of
connections.
We additionally introduce two new crates:
tendermint-abci - A lightweight, minimal framework for building Tendermint
ABCI applications in Rust.tendermint-light-client-js - Exposes the Light Client's verify method to
JavaScript/WASM. This implies that, for now, you need to bring your own
networking functionality to practically make use of the Light Client's
verification mechanisms.Various relatively minor breaking API changes were introduced, and are listed below.
[tendermint] The tendermint::block::CommitSig enum's members have been
renamed to be consistent with Rust's naming conventions. For example,
BlockIDFlagAbsent is now renamed to BlockIdFlagAbsent (#839)[tendermint-light-client] The Light Client no longer uses
tendermint::net::Address to refer to peers, and instead uses the
tendermint_rpc::Url type (#835)[tendermint-rpc] The Client::validators method now requires a Paging
parameter. Previously, this wasn't possible and, if the network had more than
30 validators (the default for the RPC endpoint), it only returned a subset
of the validators (#831)[tendermint-rpc] The Client::validators method now requires a Paging
parameter. Previously, this wasn't possible and, if the network had more than
30 validators (the default for the RPC endpoint), it only returned a subset
of the validators (#831)[tendermint-rpc] The SubscriptionClient trait now requires a close
method, since it assumes that subscription clients will, in general, use
long-running connections. This should not, however, break any downstream
usage of the clients (#820)[tendermint-rpc] The HttpClient and WebSocketClient constructors now
take any input that can be converted to a tendermint_rpc::Url. This should
hopefully have minimal impact on projects using the code, but it might
require some minor code changes in some cases - see the crate docs for more
details (#820)[tendermint-rpc] The event::EventData::GenericJSONEvent member has been
renamed to event::EventData::GenericJsonEvent (#839)[tendermint-testgen] The TMLightBlock data structure has been renamed to
TmLightBlock to be consistent with Rust's naming conventions (#839)[tendermint-abci] Release minimal framework for building ABCI applications
in Rust (#794)[tendermint-light-client] The Light Client now provides support for secure
(HTTPS) connections to nodes (#835)[tendermint-light-client-js] First release of the
tendermint-light-client-js crate to provide access to Tendermint Light
Client functionality from WASM. This only provides access to the verify
method at present, exclusively provides access to block verification. This
does not include network access or the Light Client's bisection algorithm
(#812)[tendermint-rpc] Support for secure connections (https:// and wss://)
has been added to the Tendermint RPC clients, as well as support for HTTP
proxies for HTTP clients (#820)[tendermint-rpc] A tendermint-rpc CLI has been added to simplify
interaction with RPC endpoints from the command line (#820)[tendermint] IPv6 support has been added for net::Address (#5)[tendermint-rpc] Add wait_until_healthy utility method for RPC clients
to poll the /health endpoint of a node until it either returns successfully
or times out (#855)[tendermint-light-client] Due to the RPC client's validators method
sometimes only returning a subset of validators (for networks larger than 30
validators), validator set hash calculations were failing. Now we are at
least obtaining a full validator set (#831)[tendermint-rpc] Fix intermittent deserialization failures of the consensus
state response (#836)[tendermint-light-node] Upgrade jsonrpc dependency to v17.0 to fix security vulnerability in hyper v0.12.35 ([#803])
Feb 10, 2021
The main focus for this minor release is fixing the rendering of our
tendermint-light-client crate documentation.
[tendermint-proto] Fix panic in evidence serialization in the case where we
receive an empty evidence Protobuf structure (#782)[tendermint-light-node] Upgrade jsonrpc dependency to v17.0 to fix security
vulnerability in hyper v0.12.35 (#803)[tendermint-light-client] Fix rendering of documentation on docs.rs (#806)This release is breaking due to significant dependency updates (see below). It also introduces experimental support for [backward verification][lc-bac
Jan 29, 2021
This release is breaking due to significant dependency updates (see below).
It also introduces experimental support for
backward verification for the Light Client,
feature-guarded behind the unstable feature.
The Light Client's storage system and its API were also improved.
[all] Update all crates to use the latest version of the following dependencies: (#764)
tokio (1.0)hyper (0.14)prost (0.7)bytes (1.0)async-tungstenite (0.12)[light-client] Add basic support for backward verification, behind a unstable feature flag. (#361)
Note: This feature is currently unstable and should not be relied on by downstream dependencies.This release primarily focuses on fixing [#774], which is critical to the Light Client's correct and reliable operation.
Jan 11, 2021
This release primarily focuses on fixing #774, which is critical to the Light Client's correct and reliable operation.
[rpc, tools] The RPC probe has been moved into the tools folder and can
now be easily executed against a Tendermint node running the kvstore app by
way of cargo make. tendermint-rpc test coverage has been expanded here
too. (#758)[tendermint] Time values were not always formatted properly,
causing the light client to sometimes return malformed light blocks (#774)[tendermint] Protocol breaking changes for compatibility with Tendermint Core v0.34 (and the Cosmos Stargate release) ([#305]):
Dec 17, 2020
This release is a significant breaking upgrade from v0.16.0 that primarily targets compatibility with Tendermint v0.34 and the Cosmos Stargate release.
To highlight some of the major changes over the course of 3 release candidates and this release, we have:
Please see the following detailed release notes, as well as the crate documentation, for further details.
[rpc] The RPC client interface has been refactored. The
Client struct is now HttpClient and is enabled with the http-client
feature. It provides all RPC endpoints except the subscription related ones.[rpc] The EventListener was replaced with a new and improved
WebSocketClient for more robust event subscriptions. It can be enabled with the
websocket-client feature. Subscriptions are exposed using unbounded
channels. (#516)[tendermint] Removed all traces of Amino, including amino_types modules.
All types are now "domain types" implementing the Protobuf trait for Protobuf-encoding using Prost.
(#504, #535, #536, #585)[tendermint] Protocol breaking changes for compatibility with Tendermint
Core v0.34 (and the Cosmos Stargate release) (#305):
[tendermint] Direct serialization capabilities have been removed from the
domain types. (#639)[tendermint] Work has started on making it compulsory to construct domain
types by way of their constructors to ensure validity. (#639)[light-client] Introduce builder API for light client initialization
(#583)[rpc] The subscription client interface provides a structured Query
mechanism to help ensure compile-time validity of subscription queries. (#584)[rpc] Support unsubscribing from events (#516)[spec] TLA+ for the Tendermint consensus algorithm including proof
forks can only be caused by +1/3 Byzantine validators
committing equivocation or amnesia attacks. (#496)[spec] English spec of light client attacks and evidence required to
correctly handle them (#526)[tendermint] Implement fmt::UpperHex for Transaction (#613)[tendermint/proto-compiler] Protobuf structs generator now also accepts
commit IDs from the Tendermint Go repository (#660)[testgen] Various features and improvements to support model-based testing with
the [Apalache model checker] (#414)light-client] Start using model-based testing to test Light Client
executions against traces emitted from the TLA+ model (#414)[light-client] Only require Tokio when rpc-client feature is enabled (#425)[rpc] A WebSocketClient is now provided to facilitate event
subscription for a limited range of RPC events over a WebSocket connection.
See the Tendermint /subscribe endpoint's
and the tendermint-rpc crate's docs for more details (#516)[rpc] The subscription client interface provides a structured Query
mechanism to help ensure compile-time validity of subscription queries.
See the crate docs and #584 for details.[rpc] The RPC request and response types' fields are now all publicly
accessible (#636).[rpc] A new RPC probe (in the rpc-probe directory) has been added to
facilitate quick, pre-scripted interactions with a Tendermint node (via its
WebSocket endpoint). This aims to help improve testing and compatibility
between Tendermint in Go and Rust. (#653)[rpc] The WebSocketClient now adds support for all remaining RPC requests
by way of implementing the Client trait (#646)[rpc] Support for the tx_search RPC endpoint has been added (#701)[rpc] Responses that include events now automatically have their tag
key/value pairs decoded from base64, where previously tag key/value pairs
were Base64-encoded (#717)[rpc] Support for the consensus_state RPC endpoint has been added (#719)[tendermint] Remove total_voting_power parameter from validator::Set::new (#739)[tendermint, rpc, light-client] Crates now compile to WASM on the
wasm32-unknown-unknown and wasm32-wasi targets (#463)[tendermint, light-client] Specify the proposer in the validator set of fetched light blocks (#705)[tendermint-proto] Upgrade protobuf definitions to Tendermint Go v0.34.0 (#737)[testgen] Compute last_block_id hash when generating a LightChain (#745)[light-client] Fix bug where a commit with only absent signatures would be
deemed valid instead of invalid (#650)[light-client] Revert a change introduced in #652 that would enable DoS attacks,
where full nodes could spam the light client with massive commits (eg. 10k validators).[rpc] Correctly handles control and keep-alive messages (#516, #590)[rpc] More robust handling of concurrency issues (#311, #313)Nothing published for this version
Nothing published for this version
Nothing published for this version
[0.10.0]: https://github.com/tendermint/kms/pull/328 [tendermint v0.32]: https://github.com/tendermint/tendermint/blob/main/CHANGELOG.md#v0320 [#326]:
Your coding agent can read these notes before it upgrades. Set up the MCP server →