PackageTrack

Go modules · #1844

github.com/cometbft/cometbft

v1.0.1cometbft/cometbft

Release timeline

999 releases since 2018
20182020202220242026

Releases

  1. v1.0.0-alpha.2.0.20240611100558-b9ad406bb18511 Jun 2024pre-release

    Nothing published for this version

  2. v1.0.0-alpha.2.0.20240610113006-a7ff6f37709910 Jun 2024pre-release

    Nothing published for this version

  3. v1.0.0-alpha.2.0.20240607145759-15aec89c69067 Jun 2024pre-release

    Nothing published for this version

  4. v1.0.0-alpha.2.0.20240605100057-04236b1fa0625 Jun 2024pre-release

    Nothing published for this version

  5. v1.0.0-alpha.2.0.20240604114729-9f22ffbe48174 Jun 2024pre-release

    Nothing published for this version

  6. v1.0.0-alpha.2.0.20240530055211-ae27f7eb3c0830 May 2024pre-release

    Nothing published for this version

  7. v1.0.0-alpha.2.0.20240522140013-7d3cf13035f022 May 2024pre-release

    Nothing published for this version

  8. v1.0.0-alpha.2.0.20240520081718-4c291628ed5d20 May 2024pre-release

    Nothing published for this version

  9. v1.0.0-alpha.2.0.20240515102804-eff98c0b34fd15 May 2024pre-release

    Nothing published for this version

  10. v1.0.0-alpha.2.0.20240513093732-7af9ca2b47da13 May 2024pre-release

    Nothing published for this version

  11. v1.0.0-alpha.2.0.20240509094503-43f6859e29269 May 2024pre-release

    Nothing published for this version

  12. v1.0.0-alpha.2.0.20240503201126-6c1fc032d99b3 May 2024pre-release

    Nothing published for this version

  13. v1.0.0-alpha.2.0.20240429102542-490e9bc3de6529 Apr 2024pre-release

    Nothing published for this version

  14. v1.0.0-alpha.2.0.20240417065730-32803329c3e517 Apr 2024pre-release

    Nothing published for this version

  15. v1.0.0-alpha.2.0.20240410111256-3f195b9dcd1c10 Apr 2024pre-release

    Nothing published for this version

  16. v1.0.0-alpha.2.0.20240404155709-f101432c66974 Apr 2024pre-release

    Nothing published for this version

  17. v1.0.0-alpha.2.0.20240320215331-090bd497c68720 Mar 2024pre-release

    Nothing published for this version

  18. v1.0.0-alpha.2.0.20240320213515-e2448b9b4bf620 Mar 2024pre-release

    Nothing published for this version

  19. v1.0.0-alpha.2.0.20240319061928-a0e141bdd2cd19 Mar 2024pre-release

    Nothing published for this version

  20. v1.0.0-alpha.218 Mar 2024pre-release

    Nothing published for this version

  21. v1.0.0-alpha.1.0.20240318065337-63471c851bc318 Mar 2024pre-release

    Nothing published for this version

  22. v1.0.0-alpha.1.0.20240314141341-02f7e464355014 Mar 2024pre-release

    Nothing published for this version

  23. v1.0.0-alpha.1.0.20240314072611-5a2e40fbfc6c14 Mar 2024pre-release

    Nothing published for this version

  24. v1.0.0-alpha.1.0.20240312103653-4a62c99d422012 Mar 2024pre-release

    Nothing published for this version

  25. v1.0.0-alpha.1.0.20240125041110-98528eb6a08b25 Jan 2024pre-release

    Nothing published for this version

  26. v1.0.0-alpha.14 Dec 2023pre-release

    Nothing published for this version

  27. v0.40.1-0.20260825144801-298c0f7d9ec825 Aug 2026pre-release

    Nothing published for this version

  28. v0.40.1-0.20260817074050-dc83065f00b117 Aug 2026pre-release

    Nothing published for this version

  29. v0.40.1-0.20260812152555-4e907f47c40a12 Aug 2026pre-release

    Nothing published for this version

  30. v0.40.1-0.20260810091236-1f828a349fe710 Aug 2026pre-release

    Nothing published for this version

  31. v0.40.1-0.20260804062408-5bba72c14f2b4 Aug 2026pre-release

    Nothing published for this version

  32. v0.40.1-0.20260728215827-34f82a26ee5e28 Jul 2026pre-release

    Nothing published for this version

  33. v0.40.1-0.20260727223008-009f9aae3b1f27 Jul 2026pre-release

    Nothing published for this version

  34. v0.40.027 Jul 2026
    Release notes

    What's Changed

    This release contains various improvements, security fixes, dependency bumps, and testing changes for Comet BFT. In addition, it includes new validator key type, mldsa65.

    You can read more about the key types and how to enable them in your application in the Comsos SDK docs under Post-quantum keys.

    See the CHANGELOG for this release.

    Open source →
    Release notes

    July 27, 2026

    DEPENDENCIES

    BUG FIXES

    • [blocksync] tolerate late BlockResponse from honest peers after switching to consensus (#5959)
    • [mempool] include proto framing overhead in AppReactor batch size to prevent peer teardown (#5956)
    • [blocksync] document adaptive_sync equivocation risk for validator nodes (#5953)
    • [abci] fix socket transport missing InsertTx and ReapTxs cases in handleRequest and resMatchesReq, causing ErrUnexpectedResponse and node self-kill when mempool.type = "app" with the default socket transport (#5958)
    • [flowrate] fix flaky TestWriter by comparing Idle with a duration tolerance instead of exact equality (#5929)
    • [rpc] escape the request Host in the endpoints listing page so it cannot break out of the generated HTML (#5921)
    • [consensus] Fix double_sign_check_height = 1 performing no double-sign checks due to off-by-one error in loop condition (i < N should be i <= N). The value 1 now correctly checks the previous block as intended. (#5668)
    • [rpc/jsonrpc] reject non-finite, fractional, and out-of-int64-range numeric IDs in request decoding instead of silently saturating to math.MinInt, which previously made distinct large IDs collide. (#5861)
    • [consensus] a proposer now self-verifies its own vote extension before broadcasting its precommit, so an application whose ExtendVote and VerifyVoteExtension handlers are inconsistent halts the node with a clear CONSENSUS FAILURE instead of stalling the whole network (#5204)
    • [blocksync] fix deadlock in AddBlock caused by holding pool.mtx during sendError (#5931)
    • [blocksync] hold pool.mtx and recompute maxPeerHeight in Enable() (#5888)
    • [inspect] fix flaky TestInspectRun and consolidate start/stop handshake (#5891)
    • [p2p] fix flaky switch tests by replacing fixed sleeps with deterministic peer-wait polling (#5918)
    • [p2p] fix race and goroutine leak in TestTransportMultiplexAcceptNonBlocking test (#5878)
    • [evidence] fix flaky TestReactorsGossipNoCommittedEvidence test (#5870)
    • [blocksync] fix flaky TestBlockPoolBasic deadlock under -race (#5867)
    • [blocksync] fix removeTimedoutPeers deadlock found via Byzantine prevote gossip race (#5839)
    • [mempool] fix setRecheckFull/setDone race causing spurious ErrRecheckFull. (#5837)
    • [abci] fix deadlock when response callback re-enters the client. (#5850)
    • [node] use kernel-assigned ephemeral ports and fix OnStart cleanup (#5868)
    • [node] close partial listeners on startRPC failure (#5869)
    • [lp2p] remove MaxStreamSize clamp in StreamReadSized (#5954)
    • [lp2p] fallback to conn remote addr when resolving inbound peer (#5879)
    • [consensus] release cs.mtx before sending to statsMsgQueue (#5813)
    • [mempool] truncate proto field number to int32 in filter's ReadTag (#5948)
    • [privval] preempt sleep retries in privval signer client (#5934)

    IMPROVEMENTS

    • [blocksync] replace numPending int32 with atomic.Int32 and document BlockPool field ownership (#5889)
    • [execution] cache validator set within a block cycle. (#5834)
    • [state] skip the proposer-priority advance when loading validators for the block-replay commit-info path (LoadValidatorsFast); up to ~900x faster at the largest checkpoint offsets. (#5204)
    • [consensus] reuse encode/decode buffers in WALEncoder and WALDecoder. (#5865)
    • [blocksync] validate blocksync response sender and signature count (#5860)
    • [autofile] skip fsync in FlushAndSync when no new data was written (#5866)
    • [mempool] Implement MsgBytesFilter in Reactor to prevent heap amplification attack (#5946)
    • [privval] Dynamically calculate privval maxRemoteSignerMsgSize. (#5985)
    • [types] Update default max block bytes param to account for increased signature size of mldsa65. (#5987)
    • [config] Update the default max_tx_bytes to account for increased signature size of mlsdsa65. (#5989)
    • [crypto] Add UnmarshalJSON to secp256k1eth key type. (#5990)

    FEATURES

    • [config] Add EventBusBufferCapacity setting. (#5849)
    • [abci/server] Accept pre-bound listener in socket and gRPC servers. (#5904)
    • [crypto] Add ml-dsa-65 keytype. (#5875)
    • [crypto] Add secp256k1eth keytype: go-ethereum-compatible secp256k1 signing (legacy Keccak-256, 65-byte [R||S||V] signatures, 20-byte Ethereum addresses). (#5907)

    STATE-BREAKING

    • [crypto] secp256k1eth verification now requires exact 65-byte recoverable [R||S||V] signatures with canonical V in {0,1}.
    • [state] MedianTime skips Nil and Absent precommits, aligning with VerifyCommit's commit tally. (#5901)

    API-BREAKING

    • [crypto] Add ml-dsa-65 keytype. (#5875)
    Open source →
  35. v0.39.428 Jul 2026
    Release notes

    What's Changed

    • test(consensus): fix flaky TestByzantinePrevoteEquivocation (backport #5814) by @mergify[bot] in #5840
    • test(consensus): fix cs.GetRoundState deadlock after ensureNewProposal (backport #5815) by @mergify[bot] in #5842
    • fix(mempool): fix setRecheckFull/setDone race causing spurious ErrRecheckFull (backport #5837) by @mergify[bot] in #5844
    • fix(blocksync): validate blocksync response sender and signature count (backport #5860) by @mergify[bot] in #5862
    • feat(consensus): additional validation for vote ext signatures (backport #5873) by @mergify[bot] in #5876
    • test(types): clarify EventBusBufferCapacity test intent by @aljo242 in #5886
    • build(deps): Bump github.com/prometheus/common from 0.67.5 to 0.68.0 (backport #5903) by @mergify[bot] in #5908
    • build(deps): Bump github.com/quic-go/quic-go from 0.59.0 to 0.59.1 in the go_modules group across 1 directory (backport #5906) by @mergify[bot] in #5909
    • perf(autofile): skip fsync in FlushAndSync when no new data was written (backport #5866) by @mergify[bot] in #5884
    • feat(config): add EventBusBufferCapacity setting (backport #5849) by @mergify[bot] in #5913
    • fix(abci): fix deadlock when response callback re-enters the client (backport #5850) by @mergify[bot] in #5922
    • blocksync: fix flaky TestBlockPoolBasic deadlock under -race (backport #5867) by @mergify[bot] in #5923
    • fix(node): use kernel-assigned ephemeral ports and fix OnStart cleanup (backport #5868) by @mergify[bot] in #5924
    • consensus: add LoadValidatorsFast to skip proposer-priority advance (#1693) (backport #5857) by @mergify[bot] in #5930
    • fix(mempool): Implement MsgBytesFilter in Reactor to prevent heap amplification (backport #5946) by @mergify[bot] in #5947
    • fix(consensus): release cs.mtx before sending to statsMsgQueue (backport #5813) by @mergify[bot] in #5999
    • fix(consensus): correct loop condition in checkDoubleSigningRisk for height=1 (backport #5668) by @mergify[bot] in #6000
    • fix(blocksync): tolerate late BlockResponse from honest peers after switching to consensus (backport #5959) by @mergify[bot] in #6002
    • fix(mempool): truncate proto field number to int32 in filter's ReadTag (backport #5948) by @mergify[bot] in #6004
    • chore: bump changelog / version by @swift1337 in #6012

    Full Changelog: v0.39.3...v0.39.4

    Open source →
  36. v0.39.4-0.20260701133343-e8c0f71fd54f1 Jul 2026pre-release

    Nothing published for this version

  37. v0.39.4-0.20260616180710-797ce0c4823e16 Jun 2026pre-release

    Nothing published for this version

  38. v0.39.4-0.20260526181141-22d5a9f7654026 May 2026pre-release

    Nothing published for this version

  39. v0.39.4-0.20260512171422-170b9087534b12 May 2026pre-release

    Nothing published for this version

  40. v0.39.35 May 2026
    Release notes

    What's Changed

    Full Changelog: v0.39.2...v0.39.3

    Open source →
    Release notes

    May 5, 2026

    DEPENDENCIES

    • Bump pq version to 1.12.0 (#5713)

    FEATURES

    • [mempool] Allow CheckTx retries for BroadcastTxSync (#5802)
    Open source →
  41. v0.39.24 May 2026
    Release notes

    What's Changed

    • fix(blocksync): prevent maxPeerHeight poisoning (backport #5803) by @mergify[bot] in #5805
    • chore(execution, state): height validation (backport #5804) by @mergify[bot] in #5807
    • fix(lp2p): reactor panic recovery (backport #5816) by @mergify[bot] in #5817
    • build(deps): Bump github.com/Masterminds/semver/v3 from 3.4.0 to 3.5.0 (backport #5823) by @mergify[bot] in #5824
    • fix(light): stop witness comparison after divergence checks (backport #5820) by @mergify[bot] in #5825
    • perf(consensus): skip fsync for unsigned internal messages (block parts) (backport #5695) by @mergify[bot] in #5828
    • fix(abci): prevent panic on unlock in socket server panic recovery (backport #5593) by @mergify[bot] in #5829
    • chore(v0.39.2): restore Krakatoa app mempool and finalize changelog by @aljo242 in #5827

    Full Changelog: v0.39.1...v0.39.2

    Open source →
    Release notes

    May 4, 2026

    DEPENDENCIES

    • [build] Bump github.com/Masterminds/semver/v3 from 3.4.0 to 3.5.0 (#5823)

    BUG FIXES

    • [mempool] App mempool waits before broadcasting. (#5800)
    • [blocksync] Prevent maxPeerHeight poisoning (#5803)
    • [p2p] Add lp2p reactor panic recovery (#5816)
    • [light] Stop witness comparison after divergence checks (#5820)
    • [abci] fix(abci): prevent panic on unlock in socket server panic recovery (#5593)

    IMPROVEMENTS

    • [abci,mempool] Add Krakatoa app-mempool flow, including ABCI app-connection methods and app mempool/reactor wiring. (f4a9ba936, #5791)
    • [e2e] Introduce app-mempool e2e network fixtures for simple, perturbed, and libp2p scenarios. (f4a9ba936)
    • [execution,state] Add height validation in state execution and consensus paths (#5804)
    • [consensus] perf(consensus): skip fsync for unsigned internal messages (block parts) (#5695)
    Open source →
  42. v0.39.114 Apr 2026
    Release notes

    What's Changed

    • test(p2p): comet-p2p vs lib-p2p benchmarks (backport #5746) by @mergify[bot] in #5768
    • fix(autopool): modify recovery of autopool workers (backport #5775) by @mergify[bot] in #5779
    • chore(node): dont log experimental warning for libp2p if running at height 0 (backport #5776) by @mergify[bot] in #5780
    • fix(types): properly handle nil votes (backport #5777) by @mergify[bot] in #5781

    Full Changelog: v0.39.0...v0.39.1

    Open source →
    Release notes

    April 14, 2026

    BUG FIXES

    • [autopool] Fix autopool worker message handling recovery (#5775)
    • [types] Fix nil vote handling (#5777)

    IMPROVEMENTS

    • [node] do not log experimental warning for libp2p if starting node at height 0 (#5776)
    Open source →
  43. v0.39.1-0.20260414181457-6a63d017750614 Apr 2026pre-release

    Nothing published for this version

  44. v0.39.1-0.20260410173500-f4a9ba93609e10 Apr 2026pre-release

    Nothing published for this version

  45. v0.39.010 Apr 2026
    Release notes

    April 10, 2026

    BUG FIXES

    • [evidence] Add validation for Light Client Attack evidence ByzantineValidators (#5638)
    • [types] Fix buffer offset bug in ProposerPriorityHash that caused hash collisions when validator priorities differed (#5613)
    • [p2p] fix(privval): Ephemeral Port Exhaustion (#5433)
    • [blocksync] fix(blocksync): ExtendedCommit verification via next blocks LastCommit (#5629)
    • [p2p] fix(lp2p): enforce stream max size (#5647)
    • [metrics] fix(metrics)!: peer_send_queue_size (#5648)
    • [statesync] fix adaptive_sync and streamline stateSync logic (#5663)
    • [blocksync] Modify blocksync to use full commit verification instead of light (#5663)
    • [adaptivesync] Simplify loop, reuse blockExec.ValidateBlock (#5717)

    IMPROVEMENTS

    • [consensus] perf(consensus): skip fsync for unsigned internal messages (block parts) (#5695)
    • [ci]: add lp2p testnet (#5643)
    • [mempool] feat!(p2p): introduce follower-mode. Improve lib-p2p integraap access
    • [types] Add validation for AuthorityParams.Authority field in consensus params, enforcing a maximum length of 256 characters (#5511)
    • [mempool] perf(mempool/cache): Optimize LRUTxCache.Remove to reduce lock contention and map access (#5244)
    • [e2e] add support for testing different keytypes, including BLS (#3513)
    • [crypto] Reduce BLS signature size to 48 bytes by increasing pubkey size to 192 bytes (#3624)
    • [p2p] feat(lp2p): make reactor queue configurable (#5662)
    • [cli] print lib-p2p peer id (#5667)
    • [p2p] Add warning when go-libp2p transport is enabled, conveying that the setting should only be activated if it can be enabled simultaneously for all validators and peer IDs have been predetermined and exchanged (#5692)
    • [p2p] feat(p2p): add adaptive sync for comet-p2p (#5705)
    • [blocksync] fix redo event loss, stale event cancellation, and optimize retry timer (#5592)

    FEATURES

    • [p2p] feat(lp2p): implemented resource limiter (#5671)
    • [p2p] feat(consensus): add adaptive sync blocksync-to-consensus ingestion (#5633)
    • [p2p] feat(lp2p): implement Peer info methods (NodeInfo, RemoteIP, RemoteAddr, IsOutbound) for /net_info RPC compatibility with libp2p transport (#5619)
    • [p2p] feat(lp2p): stop/reconnect peers that failed (#5618)
    • [p2p] Add experimental support for lib-p2p networking (#5463)
    • [crypto] Add support for BLS12-381 keys. Since the implementation needs cgo and brings in new dependencies, we use the bls12381 build flag to enable it (#2765)
    • [mempool] Add a metric (a counter) to measure whether a tx was received more than once. (#634)
    • [p2p] Rename IPeerSet#List to Copy, add Random, ForEach methods. Rename PeerSet#List to Copy, add Random, ForEach methods. (#2246)
    • [mempool] When the node is performing block sync or state sync, the mempool reactor now discards incoming transactions from peers, and does not propagate transactions to peers. (#785)
    • Optimized the PSQL indexer (#2142) thanks to external contributor @k0marov !
    • [p2p] make PeerSet.Remove more efficient (Author: @odeke-em) (#2246)
    • [light] Remove duplicated signature checks in light.VerifyNonAdjacent (#2365)
    • [state/indexer] Lower the heap allocation of transaction searches (#2839)
    • [libs/json] Lower the memory overhead of JSON encoding by using JSON encoders internally (#2846).
    • [log] allow strip out all debug-level code from the binary at compile time using build flags (#2847)
    • [types] Small reduction in memory allocation via swapping Key with Equals in VoteSet (#1112)
    • [event-bus] Remove the debug logs in PublishEventTx, which were noticed production slowdowns. (#2911)
    • [state/execution] Cache the block hash computation inside of the Block Type, so we only compute it once. (#2924)
    • [consensus/state] Remove a redundant VerifyBlock call in FinalizeCommit (#2928)
    • [p2p/channel] Speedup ProtoIO writer creation time, and thereby speedup channel writing by 5%. (#2949)
    • [p2p/conn] Minor speedup (3%) to connection.WritePacketMsgTo, by removing MinInt calls. (#2952)
    • [blockstore] Remove a redundant Header.ValidateBasic call in LoadBlockMeta, 75% reducing this time. (#2964)
    • [p2p] Lower flush_throttle_timeout to 10ms (#2988)
    • [types] Significantly speedup types.MakePartSet and types.AddPart, which are used in creating a block proposal (#3117)
    • [types] Make a new methodGetByAddressMutforValSet`, which does not copy the returned validator. (#3119)
    • [consensus] Make Vote messages only take one peerstate mutex (#3156)
    • [consensus] Make the consensus reactor no longer have packets on receive take the consensus lock. Consensus will now update the reactor's view after every relevant change through the existing synchronous event bus subscription. (#3211)
    • [p2p/conn] Speedup secret connection large writes, by buffering the write to the underlying connection. (#3346)
    • [consensus] Make broadcasting HasVote and HasProposalBlockPart control messages use TrySend instead of Send. This saves notable amounts of performance, while at the same time those messages are for preventing redundancy, not critical, and may be dropped without risks for the protocol. (#3151)
    • [p2p/conn] Removes several heap allocations per packet send, stemming from how we double-wrap packets prior to proto marshalling them in the connection layer. This change reduces the memory overhead and speeds up the code. (#3423)
    • [p2p/conn] Speedup secret connection large packet reads, by buffering the read to the underlying connection. (#3419)
    • [mempool] In the broadcast routine, get the pointer to the peer's state once, before starting to iterate through the list of transactions. (#3430)
    • [consensus] Make mempool updates asynchronous from consensus Commit's, reducing latency for reaching consensus timeouts. (#3008)
    • [consensus] Add peer height metric publication to the consensus reactor's peer state. (#5517)

    BUG-FIXES

    • [evidence] Use structured logging for consensus buffer flush error (#5465)
    • [mempool] Fix mutex in CListMempool.Flush method, by changing it from read-lock to write-lock (#2443).
    • [crypto/bls12381] Fix JSON marshal of private key (#4772)
    • [crypto/bls12381] Modify Sign, Verify to use dstMinPk (#4783)
    • [cli] Prevent inadvertent rollover of IPs in cometbft testnet config generator (#5541)
    • [abci] fix(abci): prevent panic on unlock in socket server panic recovery (#5593)

    API-BREAKING

    • [p2p] Rename IPeerSet#List to Copy, add Random, ForEach methods. Rename PeerSet#List to Copy, add Random, ForEach methods. (#2246)
    • [crypto] Remove Sr25519 curve (#3646)
    • [rpc] The endpoints broadcast_tx_* now return an error when the node is performing block sync or state sync. (#785)
    Open source →
  46. v0.39.0-rc47 Apr 2026pre-release

    Nothing published for this version

  47. v0.39.0-rc324 Mar 2026pre-release

    Nothing published for this version

  48. v0.39.0-rc224 Mar 2026pre-release

    Nothing published for this version

  49. v0.39.0-rc1.0.20260727141658-a54e79bce3ba27 Jul 2026pre-release

    Nothing published for this version

  50. v0.39.0-rc1.0.20260724173426-9730a227032a24 Jul 2026pre-release

    Nothing published for this version

  51. v0.39.0-rc1.0.20260724141629-0ca6260621c824 Jul 2026pre-release

    Nothing published for this version

  52. v0.39.0-rc1.0.20260723164339-5e3308bef09b23 Jul 2026pre-release

    Nothing published for this version

  53. v0.39.0-rc1.0.20260721163844-c9111462e85f21 Jul 2026pre-release

    Nothing published for this version

  54. v0.39.0-rc1.0.20260720070847-8715446eae4120 Jul 2026pre-release

    Nothing published for this version

  55. v0.39.0-rc1.0.20260714154909-6ac238be847214 Jul 2026pre-release

    Nothing published for this version

  56. v0.39.0-rc1.0.20260710145646-2d1a24c6d69e10 Jul 2026pre-release

    Nothing published for this version

  57. v0.39.0-rc1.0.20260707092220-096ac149f3f87 Jul 2026pre-release

    Nothing published for this version

  58. v0.39.0-rc1.0.20260701132208-70dbf6506b261 Jul 2026pre-release

    Nothing published for this version

  59. v0.39.0-rc1.0.20260622163312-75c78305bb7222 Jun 2026pre-release

    Nothing published for this version

  60. v0.39.0-rc1.0.20260615134937-9ea34470f33615 Jun 2026pre-release

    Nothing published for this version