github.com/badrootd/nibiru-cometbft@v0.37.5-0.20240307173500-2a75559eee9b/UPGRADING.md (about)

     1  # Upgrading CometBFT
     2  
     3  This guide provides instructions for upgrading to specific versions of CometBFT.
     4  
     5  ## v0.37.1
     6  
     7  For users explicitly making use of the Go APIs provided in the `crypto/merkle`
     8  package, please note that, in order to fix a potential security issue, we had to
     9  make a breaking change here. This change should only affect a small minority of
    10  users. For more details, please see
    11  [\#557](https://github.com/cometbft/cometbft/issues/557).
    12  
    13  ## v0.37.0
    14  
    15  This release introduces state machine-breaking changes, and therefore requires a
    16  coordinated upgrade.
    17  
    18  ### Go API
    19  
    20  When upgrading from the v0.34 release series, please note that the Go module has
    21  now changed to `github.com/cometbft/cometbft`.
    22  
    23  ### ABCI Changes
    24  
    25  * The `ABCIVersion` is now `1.0.0`.
    26  * Added new ABCI methods `PrepareProposal` and `ProcessProposal`. For details,
    27    please see the [spec](spec/abci/README.md). Applications upgrading to
    28    v0.37.0 must implement these methods, at the very minimum, as described
    29    [here](./spec/abci/abci%2B%2B_comet_expected_behavior.md#adapting-existing-applications-that-use-abci)
    30  * Deduplicated `ConsensusParams` and `BlockParams`.
    31    In the v0.34 branch they are defined both in `abci/types.proto` and `types/params.proto`.
    32    The definitions in `abci/types.proto` have been removed.
    33    In-process applications should make sure they are not using the deleted
    34    version of those structures.
    35  * In v0.34, messages on the wire used to be length-delimited with `int64` varint
    36    values, which was inconsistent with the `uint64` varint length delimiters used
    37    in the P2P layer. Both now consistently use `uint64` varint length delimiters.
    38  * Added `AbciVersion` to `RequestInfo`.
    39    Applications should check that CometBFT's ABCI version matches the one they expect
    40    in order to ensure compatibility.
    41  * The `SetOption` method has been removed from the ABCI `Client` interface.
    42    The corresponding Protobuf types have been deprecated.
    43  * The `key` and `value` fields in the `EventAttribute` type have been changed
    44    from type `bytes` to `string`. As per the [Protocol Buffers updating
    45    guidelines](https://developers.google.com/protocol-buffers/docs/proto3#updating),
    46    this should have no effect on the wire-level encoding for UTF8-encoded
    47    strings.
    48  
    49  ### RPC
    50  
    51  If you rely on the `/tx_search` or `/block_search` endpoints for event querying,
    52  please note that the default behaviour of these endpoints has changed in a way
    53  that might break your queries. The original behaviour was poorly specified,
    54  which did not respect event boundaries.
    55  
    56  Please see
    57  [tendermint/tendermint\#9712](https://github.com/tendermint/tendermint/issues/9712)
    58  for context on the bug that was addressed that resulted in this behaviour
    59  change.
    60  
    61  ---
    62  
    63  For historical upgrading instructions for Tendermint Core v0.34.24 and earlier,
    64  please see the [Tendermint Core upgrading instructions][tmupgrade].
    65  
    66  [tmupgrade]: https://github.com/tendermint/tendermint/blob/35581cf54ec436b8c37fabb43fdaa3f48339a170/UPGRADING.md