Description
The packages of all Protobuf definitions in the proto
folder of on branch main
must be renamed from tendermint
to cometbft
. We intend on making substantial changes to the architecture and interfaces in the coming year and, as such, the protos could diverge substantially from Tendermint Core over time (only across major releases, of course). We also have no intention of remaining compatible with Tendermint Core in future major releases (this is already actually the case with our v0.37 release). As such, it makes very little sense, from a product perspective, to continue producing interface/data structure changes for Tendermint Core.
Having our proto package as cometbft
will make publishing these protos to registries, e.g. https://buf.build/cometbft/cometbft, easier for us and for integrators who consume them (especially once we version our protos, in #95).
e.g.
must be renamed to:
package cometbft.types;
This includes regenerating all of the Go code and resolving any import errors.
Branches v0.37.x
and v0.34.x
will stay as they are:
- in order to minimize disruption in the ecosystem
- all protos in those branches are reused verbatim from the Tendermint Core repo
Further, we cannot do this for the v0.34.x
branch because we would be breaking the message URLs associated with these messages, meaning CometBFT would potentially be incompatible with Tendermint Core, meaning that networks would need to perform a coordinated upgrade to CometBFT. Ideally we want our first v0.34-series release to be a drop-in replacement, so that a coordinated upgrade isn't necessary.