This guide provides instructions for upgrading to specific versions of CometBFT.
- A new config field,
BootstrapPeers
has been introduced as a means of adding a list of addresses to the addressbook upon initializing a node. This is an alternative toPersistentPeers
.PersistentPeers
shold be only used for nodes that you want to keep a constant connection with i.e. sentry nodes - The field
Version
in the mempool section has been removed. The priority mempool (what was called versionv1
) has been removed (see below), thus there is only one implementation of the mempool available (what was calledv0
). - Config fields
TTLDuration
andTTLNumBlocks
, which were only used by the priority mempool, have been removed.
-
The
ABCIVersion
is now1.0.0
. -
Added new ABCI methods
PrepareProposal
andProcessProposal
. For details, please see the spec. Applications upgrading to v0.37.0 must implement these methods, at the very minimum, as described here -
Deduplicated
ConsensusParams
andBlockParams
. In the v0.34 branch they are defined both inabci/types.proto
andtypes/params.proto
. The definitions inabci/types.proto
have been removed. In-process applications should make sure they are not using the deleted version of those structures. -
In v0.34, messages on the wire used to be length-delimited with
int64
varint values, which was inconsistent with theuint64
varint length delimiters used in the P2P layer. Both now consistently useuint64
varint length delimiters. -
Added
AbciVersion
toRequestInfo
. Applications should check that CometBFT's ABCI version matches the one they expect in order to ensure compatibility. -
The
SetOption
method has been removed from the ABCIClient
interface. The corresponding Protobuf types have been deprecated. -
The
key
andvalue
fields in theEventAttribute
type have been changed from typebytes
tostring
. As per the Protocol Buffers updating guidelines, this should have no effect on the wire-level encoding for UTF8-encoded strings.
- The priority mempool (what was referred in the code as version
v1
) has been removed. There is now only one mempool (what was called versionv0
), that is, the default implementation as a queue of transactions. - In the protobuf message
ResponseCheckTx
, fieldssender
,priority
, andmempool_error
, which were only used by the priority mempool, were removed but still kept in the message as "reserved".