Last release 2 days ago
25 Aug 2026
Ships on a steady schedule
a new release about every 9 days
Some releases are documented
notes for 29 of 49 stable releases
7 versions withdrawn
withdrawn after publishing
8 years old
999 releases · first in 2018
Release timeline
999 releases since 2018Releases
- v0.38.6-0.20240216152701-1e2ce7ef6d4816 Feb 2024pre-release
Nothing published for this version
- v0.38.524 Jan 2024
Release notes
Open source →January 24, 2024
This release fixes a problem introduced in
v0.38.3: if an application updates the value of ConsensusParamVoteExtensionsEnableHeightto the same value (actually a "noop" update) this is accepted inv0.38.2but rejected under some conditions inv0.38.3andv0.38.4. Even if rejecting a useless update would make sense in general, in a point release we should not reject a set of inputs to a function that was previuosly accepted (unless there is a good reason for it). The goal of this release is to accept again all "noop" updates, likev0.38.2did.IMPROVEMENTS
[consensus]Addchain_size_bytesmetric for measuring the size of the blockchain in bytes (#2093)
- v0.38.422 Jan 2024withdrawn: Version retracted: a regression was introduced
Release notes
Open source →January 22, 2024
This release is aimed at those projects that have a dependency on CometBFT, release line
v0.38.x, and make use of functionSaveBlockStoreStatein packagegithub.com/cometbft/cometbft/store. This function changed its signature inv0.38.3. This new release reverts the signature change so that upgrading to the latest release of CometBFT onv0.38.xdoes not require any change in the code depending on CometBFT.IMPROVEMENTS
[e2e]Add manifest optionVoteExtensionsUpdateHeightto test vote extension activation viaInitChainandFinalizeBlock. Also, extend the manifest generator to produce different values of this new option (#2065)
- v0.38.318 Jan 2024withdrawn: Version retracted: a breaking change was introduced
Release notes
Open source →January 17, 2024
This release addresses a high impact security issue reported in advisory (ASA-2024-001). There are other non-security bugs fixes that have been addressed since
v0.38.2was released, as well as some improvements. Please check the list below for further details.BUG FIXES
[consensus]Fix for "Validation ofVoteExtensionsEnableHeightcan cause chain halt" (ASA-2024-001)[mempool]Fix data races inCListMempoolby making atomic the types ofheight,txsBytes, andnotifiedTxsAvailable. (#642)[mempool]The calculation method of tx size returned by calling proxyapp should be consistent with that of mempool (#1687)[evidence]WhenVerifyCommitLight&VerifyCommitLightTrustingare called as part of evidence verification, all signatures present in the evidence must be verified (#1749)[crypto]SupportsBatchVerifierreturns false if public key is nil instead of dereferencing nil. (#1825)[blocksync]wait forpoolRoutineto stop in(*Reactor).OnStop(#1879)
IMPROVEMENTS
[types]ValidateValidator#AddressinValidateBasic(#1715)[abci]Increase ABCI socket message size limit to 2GB (#1730: @troykessler)[state]Save the state using a single DB batch (#1735)[store]Save block using a single DB batch if block is less than 640kB, otherwise each block part is saved individually (#1755)[rpc]Support setting proxy from env toDefaultHttpClient. (#1900)[rpc]Use default port for HTTP(S) URLs when there is no explicit port (#1903)[crypto/merkle]faster calculation of hashes (#1921)
- v0.38.3-0.20240117033245-e65a966827e017 Jan 2024pre-release
Nothing published for this version
- v0.38.3-0.20240112162522-07581a6c38fb12 Jan 2024pre-release
Nothing published for this version
- v0.38.3-0.20240108012115-1e434f11faa28 Jan 2024pre-release
Nothing published for this version
- v0.38.227 Nov 2023withdrawn: Version retracted: superseeded by v0.38.3 because of ASA-2024-001
Release notes
Open source →November 27, 2023
This release provides the nop mempool for applications that want to build their own mempool. Using this mempool effectively disables all mempool functionality in CometBFT, including transaction dissemination and the
broadcast_tx_*endpoints.Also fixes a small bug in the mempool for an experimental feature.
BUG FIXES
[mempool]Avoid infinite wait in transaction sending routine when using experimental parameters to limiting transaction gossiping to peers (#1654)
FEATURES
-
[mempool]Addnopmempool (#1643)If you want to use it, change mempool's
typetonop:[mempool] # The type of mempool for this node to use. # # Possible types: # - "flood" : concurrent linked list mempool with flooding gossip protocol # (default) # - "nop" : nop-mempool (short for no operation; the ABCI app is responsible # for storing, disseminating and proposing txs). "create_empty_blocks=false" # is not supported. type = "nop"
- v0.38.117 Nov 2023withdrawn: Version retracted: superseeded by v0.38.3 because of ASA-2024-001
Release notes
Open source →November 17, 2023
This release contains, among other things, an opt-in, experimental feature to help reduce the bandwidth consumption associated with the mempool's transaction gossip.
BUG FIXES
[state/indexer]Respect both height params while querying for events (#1529)
FEATURES
[metrics]Add metric for mempool size in bytesSizeBytes. (#1512)
IMPROVEMENTS
[mempool]Add experimental feature to limit the number of persistent peers and non-persistent peers to which the node gossip transactions. (#1558) (#1584)[config]Add mempool parametersexperimental_max_gossip_connections_to_persistent_peersandexperimental_max_gossip_connections_to_non_persistent_peersfor limiting the number of peers to which the node gossip transactions. (#1558) (#1584)
- v0.38.1-0.20231030194556-8cadcaeddc2b30 Oct 2023pre-releasewithdrawn: Version retracted: superseeded by v0.38.3 because of ASA-2024-001
Nothing published for this version
- v0.38.1-0.20230928115051-ea04ac7fb41028 Sept 2023pre-releasewithdrawn: Version retracted: superseeded by v0.38.3 because of ASA-2024-001
Nothing published for this version
- v0.38.012 Sept 2023withdrawn: Version retracted: superseeded by v0.38.3 because of ASA-2024-001
Release notes
Open source →September 12, 2023
This release includes the second part of ABCI++, called ABCI 2.0. ABCI 2.0 introduces ABCI methods
ExtendVoteandVerifyVoteExtension. These new methods allow the application to add data (opaque to CometBFT), called vote extensions to precommit votes sent by validators. These vote extensions are made available to the proposer(s) of the next height. Additionally, ABCI 2.0 coalescesBeginBlock,DeliverTx, andEndBlockinto one method,FinalizeBlock, whoseRequest*andResponse*data structures contain the sum of all data previously contained in the respectiveRequest*andResponse*data structures inBeginBlock,DeliverTx, andEndBlock. See the specification for more details on ABCI 2.0.BREAKING CHANGES
[mempool]Remove priority mempool. (#260)[config]RemoveVersionfield fromMempoolConfig. (#260)[protobuf]Remove fieldssender,priority, andmempool_errorfromResponseCheckTx. (#260)[crypto/merkle]Do not allow verification of Merkle Proofs against empty trees (nilroot).Proof.ComputeRootHashnow panics when it encounters an error, butProof.Verifydoes not panic (#558)[state/kvindexer]Remove the function type from the event key stored in the database. This should be breaking only for people who forked CometBFT and interact directly with the indexers kvstore. (#774)[rpc]Removedbegin_block_eventsandend_block_eventsfromBlockResultsResponse. The events are merged into one field calledfinalize_block_events. (#9427)[pubsub]Added support for big integers and big floats in the pubsub event query system. Breaking changes: functionNumberin packagelibs/pubsub/query/syntaxchanged its return value. (#797)[kvindexer]Added support for big integers and big floats in the kvindexer. Breaking changes: functionNumberin packagelibs/pubsub/query/syntaxchanged its return value. (#797)[mempool]Application can now setConsensusParams.Block.MaxBytesto -1 to have visibility on all transactions in the mempool atPrepareProposaltime. This means that the total size of transactions sent viaRequestPrepareProposalmight exceedRequestPrepareProposal.max_tx_bytes. If that is the case, the application MUST make sure that the total size of transactions returned inResponsePrepareProposal.txsdoes not exceedRequestPrepareProposal.max_tx_bytes, otherwise CometBFT will panic. (#980)[node/state]Add Go API to bootstrap block store and state store to a height. Make sure block sync starts syncing from bootstrapped height. (#1057) (@yihuang)[state/store]Added Go functions to save height at which offline state sync is performed. (#1057) (@jmalicevic)[p2p]Remove UPnP functionality (#1113)[node]RemovedConsensusState()accessor fromNodestruct - all access to consensus state should go via the reactor (#1120)[state]Signature ofExtendVotechanged inBlockExecutor. It now includes the block whose precommit will be extended, an the state object. (#1270)[state]Move pruneBlocks from node/state to state/execution. (#6541)[abci]Moveapp_hashparameter fromCommittoFinalizeBlock(#8664)[abci]IntroduceFinalizeBlockwhich condensesBeginBlock,DeliverTxandEndBlockinto a single method call (#9468)[p2p]Remove unused p2p/trust package (#9625)[rpc]Remove global environment and replace with constructor (#9655)[node]Move DBContext and DBProvider from the node package to the config package. (#9655)[inspect]Add a newinspectcommand for introspecting the state and block store of a crashed tendermint node. (#9655)[metrics]Move state-syncing and block-syncing metrics to their respective packages. Move labels from block_syncing -> blocksync_syncing and state_syncing -> statesync_syncing (#9682)
BUG FIXES
[kvindexer]Forward porting the fixes done to the kvindexer in 0.37 in PR #77 (#423)[consensus]Unexpected error conditions inApplyBlockare non-recoverable, so ignoring the error and carrying on is a bug. We replaced areturnthat disregarded the error by apanic. (#496)[consensus]Rename(*PeerState).ToJSONtoMarshalJSONto fix a logging data race (#524)[light]Fixed an edge case where a light client would panic when attempting to query a node that (1) has started from a non-zero height and (2) does not yet have any data. The light client will now, correctly, not panic and keep the node in its list of providers in the same way it would if it queried a node starting from height zero that does not yet have data (#575)[abci]Restore the snake_case naming in JSON serialization ofExecTxResult(#855).[consensus]Avoid recursive call after rename to (*PeerState).MarshalJSON (#863)[mempool/clist_mempool]Prevent a transaction to appear twice in the mempool (#890: @otrack)[docker]Ensure Docker image uses consistent version of Go. (#9462)[abci-cli]Fix broken abci-cli help command. (#9717)
DEPRECATIONS
[rpc/grpc]Mark the gRPC broadcast API as deprecated. It will be superseded by a broader API as part of #81 (#650)
FEATURES
[node/state]Add Go API to bootstrap block store and state store to a height (#1057) (@yihuang)[proxy]IntroduceNewConnSyncLocalClientCreator, which allows local ABCI clients to have the same concurrency model as remote clients (i.e. one mutex per client "connection", for each of the four ABCI "connections"). (tendermint/tendermint#9830 and #1145)[proxy]IntroduceNewUnsyncLocalClientCreator, which allows local ABCI clients to have the same concurrency model as remote clients (i.e. one mutex per client "connection", for each of the four ABCI "connections"). (#9830)[abci]New ABCI methodsVerifyVoteExtensionandExtendVoteallow validators to validate the vote extension data attached to a pre-commit message and allow applications to let their validators do more than just validate within consensus (#9836)
IMPROVEMENTS
[blocksync]Generate new metrics during BlockSync (#543)[jsonrpc/client]Improve the error message for client errors stemming from bad HTTP responses. (cometbft/cometbft#638)[rpc]Remove response data from response failure logs in order to prevent large quantities of log data from being produced (#654)[pubsub/kvindexer]Numeric query conditions and event values are represented as big floats with default precision of 125. Integers are read as "big ints" and represented with as many bits as they need when converting to floats. (#797)[node]Make handshake cancelable (cometbft/cometbft#857)[consensus]New metrics (counters) to track duplicate votes and block parts. (#896)[mempool]Application can now setConsensusParams.Block.MaxBytesto -1 to gain more control on the max size of transactions in a block. It also allows the application to have visibility on all transactions in the mempool atPrepareProposaltime. (#980)[node]Close evidence.db OnStop (cometbft/cometbft#1210: @chillyvee)[state]Make loggingblock_app_hashandapp_hashconsistent by logging them both as hex. (#1264)[crypto/merkle]Improve HashAlternatives performance (#6443)[p2p/pex]Improve addrBook.hash performance (#6509)[crypto/merkle]Improve HashAlternatives performance (#6513)[pubsub]Performance improvements for the event query API (#7319)
Additional notes
Open source →September 12, 2023
This release includes the second part of ABCI++, called ABCI 2.0. ABCI 2.0 introduces ABCI methods
ExtendVoteandVerifyVoteExtension. These new methods allow the application to add data (opaque to CometBFT), called vote extensions to precommit votes sent by validators. These vote extensions are made available to the proposer(s) of the next height. Additionally, ABCI 2.0 coalescesBeginBlock,DeliverTx, andEndBlockinto one method,FinalizeBlock, whoseRequest*andResponse*data structures contain the sum of all data previously contained in the respectiveRequest*andResponse*data structures inBeginBlock,DeliverTx, andEndBlock. See the specification for more details on ABCI 2.0.BREAKING CHANGES
[abci]IntroduceFinalizeBlockwhich condensesBeginBlock,DeliverTxandEndBlockinto a single method call (#9468)[abci]Moveapp_hashparameter fromCommittoFinalizeBlock(#8664)[config]RemoveVersionfield fromMempoolConfig. (#260)[crypto/merkle]Do not allow verification of Merkle Proofs against empty trees (nilroot).Proof.ComputeRootHashnow panics when it encounters an error, butProof.Verifydoes not panic (#558)[inspect]Add a newinspectcommand for introspecting the state and block store of a crashed tendermint node. (#9655)[kvindexer]Added support for big integers and big floats in the kvindexer. Breaking changes: functionNumberin packagelibs/pubsub/query/syntaxchanged its return value. (#797)[mempool]Application can now setConsensusParams.Block.MaxBytesto -1 to have visibility on all transactions in the mempool atPrepareProposaltime. This means that the total size of transactions sent viaRequestPrepareProposalmight exceedRequestPrepareProposal.max_tx_bytes. If that is the case, the application MUST make sure that the total size of transactions returned inResponsePrepareProposal.txsdoes not exceedRequestPrepareProposal.max_tx_bytes, otherwise CometBFT will panic. (#980)[mempool]Remove priority mempool. (#260)[metrics]Move state-syncing and block-syncing metrics to their respective packages. Move labels from block_syncing -> blocksync_syncing and state_syncing -> statesync_syncing (#9682)[node/state]Add Go API to bootstrap block store and state store to a height. Make sure block sync starts syncing from bootstrapped height. (#1057) (@yihuang)[state/store]Added Go functions to save height at which offline state sync is performed. (#1057) (@jmalicevic)[node]Move DBContext and DBProvider from the node package to the config package. (#9655)[node]RemovedConsensusState()accessor fromNodestruct - all access to consensus state should go via the reactor (#1120)[p2p]Remove UPnP functionality (#1113)[p2p]Remove unused p2p/trust package (#9625)[protobuf]Remove fieldssender,priority, andmempool_errorfromResponseCheckTx. (#260)[pubsub]Added support for big integers and big floats in the pubsub event query system. Breaking changes: functionNumberin packagelibs/pubsub/query/syntaxchanged its return value. (#797)[rpc]Remove global environment and replace with constructor (#9655)[rpc]Removedbegin_block_eventsandend_block_eventsfromBlockResultsResponse. The events are merged into one field calledfinalize_block_events. (#9427)[state/kvindexer]Remove the function type from the event key stored in the database. This should be breaking only for people who forked CometBFT and interact directly with the indexers kvstore. (#774)[state]Move pruneBlocks from node/state to state/execution. (#6541)[state]Signature ofExtendVotechanged inBlockExecutor. It now includes the block whose precommit will be extended, an the state object. (#1270)
BUG FIXES
[abci-cli]Fix broken abci-cli help command. (#9717)[abci]Restore the snake_case naming in JSON serialization ofExecTxResult(#855).[consensus]Avoid recursive call after rename to (*PeerState).MarshalJSON (#863)[consensus]Rename(*PeerState).ToJSONtoMarshalJSONto fix a logging data race (#524)[consensus]Unexpected error conditions inApplyBlockare non-recoverable, so ignoring the error and carrying on is a bug. We replaced areturnthat disregarded the error by apanic. (#496)[docker]Ensure Docker image uses consistent version of Go. (#9462)[kvindexer]Forward porting the fixes done to the kvindexer in 0.37 in PR #77 (#423)[light]Fixed an edge case where a light client would panic when attempting to query a node that (1) has started from a non-zero height and (2) does not yet have any data. The light client will now, correctly, not panic and keep the node in its list of providers in the same way it would if it queried a node starting from height zero that does not yet have data (#575)[mempool/clist_mempool]Prevent a transaction to appear twice in the mempool (#890: @otrack)
DEPRECATIONS
[rpc/grpc]Mark the gRPC broadcast API as deprecated. It will be superseded by a broader API as part of #81 (#650)
FEATURES
[abci]New ABCI methodsVerifyVoteExtensionandExtendVoteallow validators to validate the vote extension data attached to a pre-commit message and allow applications to let their validators do more than just validate within consensus (#9836)[node/state]Add Go API to bootstrap block store and state store to a height (#1057) (@yihuang)[proxy]IntroduceNewConnSyncLocalClientCreator, which allows local ABCI clients to have the same concurrency model as remote clients (i.e. one mutex per client "connection", for each of the four ABCI "connections"). (tendermint/tendermint#9830 and #1145)[proxy]IntroduceNewUnsyncLocalClientCreator, which allows local ABCI clients to have the same concurrency model as remote clients (i.e. one mutex per client "connection", for each of the four ABCI "connections"). (#9830)
IMPROVEMENTS
[blocksync]Generate new metrics during BlockSync (#543)[crypto/merkle]Improve HashAlternatives performance (#6443)[crypto/merkle]Improve HashAlternatives performance (#6513)[jsonrpc/client]Improve the error message for client errors stemming from bad HTTP responses. (cometbft/cometbft#638)[mempool]Application can now setConsensusParams.Block.MaxBytesto -1 to gain more control on the max size of transactions in a block. It also allows the application to have visibility on all transactions in the mempool atPrepareProposaltime. (#980)[node]Close evidence.db OnStop (cometbft/cometbft#1210: @chillyvee)[node]Make handshake cancelable (cometbft/cometbft#857)[p2p/pex]Improve addrBook.hash performance (#6509)[pubsub/kvindexer]Numeric query conditions and event values are represented as big floats with default precision of 125. Integers are read as "big ints" and represented with as many bits as they need when converting to floats. (#797)[pubsub]Performance improvements for the event query API (#7319)[rpc]Remove response data from response failure logs in order to prevent large quantities of log data from being produced (#654)[state]Make loggingblock_app_hashandapp_hashconsistent by logging them both as hex. (#1264)
- v0.38.0-rc3.0.20240122202257-c8dbd06b9f2122 Jan 2024pre-release
Nothing published for this version
- v0.38.0-rc3.0.20240112162522-07581a6c38fb12 Jan 2024pre-release
Nothing published for this version
- v0.38.0-rc3.0.20230821103434-804b8afe6e7821 Aug 2023pre-release
Nothing published for this version
- v0.38.0-rc3.0.20230818140436-3612b344e79318 Aug 2023pre-release
Nothing published for this version
- v0.38.0-rc3.0.20230801143529-d4e59b1def9e1 Aug 2023pre-release
Nothing published for this version
- v0.38.0-rc3.0.20230724200504-14ec61c5eaa024 Jul 2023pre-release
Nothing published for this version
- v0.38.0-rc314 Jul 2023pre-release
Nothing published for this version
- v0.38.0-rc226 Jun 2023pre-release
Nothing published for this version
- v0.38.0-rc1.0.20230626131955-1e3142a068ee26 Jun 2023pre-release
Nothing published for this version
- v0.38.0-rc1.0.20230622091836-aca3a06a091522 Jun 2023pre-release
Nothing published for this version
- v0.38.0-rc1.0.20230619125143-309de2e4565919 Jun 2023pre-release
Nothing published for this version
- v0.38.0-rc1.0.20230616160951-13dc04fb4de816 Jun 2023pre-release
Nothing published for this version
- v0.38.0-rc15 Jun 2023pre-release
Nothing published for this version
- v0.38.0-alpha.2.0.20230601213331-4c9960fea1c01 Jun 2023pre-release
Nothing published for this version
- v0.38.0-alpha.2.0.20230531143400-9af6e1fa0eed31 May 2023pre-release
Nothing published for this version
- v0.38.0-alpha.2.0.20230531132727-7c418bf72b7031 May 2023pre-release
Nothing published for this version
- v0.38.0-alpha.2.0.20230531120929-39d8a80d3f6331 May 2023pre-release
Nothing published for this version
- v0.38.0-alpha.2.0.20230531120548-4468ff781e1331 May 2023pre-release
Nothing published for this version
- v0.38.0-alpha.2.0.20230519094251-e9abb116e29b19 May 2023pre-release
Nothing published for this version
- v0.38.0-alpha.217 May 2023pre-release
Nothing published for this version
- v0.38.0-alpha.1.0.20230517082523-d067be95414517 May 2023pre-release
Nothing published for this version
- v0.38.0-alpha.1.0.20230426124802-2a0c1e6c6acf26 Apr 2023pre-release
Nothing published for this version
- v0.38.0-alpha.1.0.20230411165141-62d3e1ec5e3411 Apr 2023pre-release
Nothing published for this version
- v0.38.0-alpha.129 Mar 2023pre-release
Nothing published for this version
- v0.37.19-0.20260706042317-fd9bfe0556546 Jul 2026pre-release
Nothing published for this version
- v0.37.19-0.20260525053151-8ea0002c695425 May 2026pre-release
Nothing published for this version
- v0.37.1823 Jan 2026
Nothing published for this version
- v0.37.1712 Dec 2025
Nothing published for this version
- v0.37.1614 Oct 2025
Nothing published for this version
- v0.37.153 Feb 2025
Nothing published for this version
- v0.37.1420 Dec 2024
Nothing published for this version
- v0.37.14-0.20241206064752-416bb46a4fb26 Dec 2024pre-release
Nothing published for this version
- v0.37.1331 Oct 2024
Nothing published for this version
- v0.37.1225 Oct 2024
Nothing published for this version
- v0.37.12-0.20240906225724-02bccfb39dcf6 Sept 2024pre-release
Nothing published for this version
- v0.37.113 Sept 2024
Nothing published for this version
- v0.37.11-0.20240903101500-3937e00a339e3 Sept 2024pre-release
Nothing published for this version
- v0.37.1012 Aug 2024
Nothing published for this version
- v0.37.915 Jul 2024
Nothing published for this version
- v0.37.9-0.20240703112902-3f438815c7973 Jul 2024pre-release
Nothing published for this version
- v0.37.81 Jul 2024
Nothing published for this version
- v0.37.727 Jun 2024
Nothing published for this version
- v0.37.7-0.20240627104135-07866e11139127 Jun 2024pre-release
Nothing published for this version
- v0.37.7-0.20240515092623-8a0f4814d1dc15 May 2024pre-release
Nothing published for this version
- v0.37.7-0.20240508173623-b934738b22898 May 2024pre-release
Nothing published for this version
- v0.37.627 Apr 2024
Nothing published for this version
- v0.37.513 Mar 2024
Nothing published for this version
- v0.37.5-0.20240229205854-143787912ab529 Feb 2024pre-release
Nothing published for this version