github.com/badrootd/celestia-core@v0.0.0-20240305091328-aa4207a4b25d/UPGRADING.md (about)

     1  # Upgrading CometBFT
     2  
     3  This guide provides instructions for upgrading to specific versions of CometBFT.
     4  
     5  ## v0.34.28
     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.34.27
    14  
    15  * Added new ABCI methods `PrepareProposal` and `ProcessProposal`. For details,
    16    please see the [spec](spec/abci/README.md). Applications upgrading to
    17    v0.37.0 must implement these methods, at the very minimum, as described
    18    [here](spec/abci/apps.md)
    19  * Deduplicated `ConsensusParams` and `BlockParams`.
    20    In the v0.34 branch they are defined both in `abci/types.proto` and `types/params.proto`.
    21    The definitions in `abci/types.proto` have been removed.
    22    In-process applications should make sure they are not using the deleted
    23    version of those structures.
    24  * In v0.34, messages on the wire used to be length-delimited with `int64` varint
    25    values, which was inconsistent with the `uint64` varint length delimiters used
    26    in the P2P layer. Both now consistently use `uint64` varint length delimiters.
    27  * Added `AbciVersion` to `RequestInfo`.
    28    Applications should check that Tendermint's ABCI version matches the one they expect
    29    in order to ensure compatibility.
    30  * The `SetOption` method has been removed from the ABCI `Client` interface.
    31    The corresponding Protobuf types have been deprecated.
    32  * The `key` and `value` fields in the `EventAttribute` type have been changed
    33    from type `bytes` to `string`. As per the [Protocol Buffers updating
    34    guidelines](https://developers.google.com/protocol-buffers/docs/proto3#updating),
    35    this should have no effect on the wire-level encoding for UTF8-encoded
    36    strings.
    37  
    38  ### Upgrading from Tendermint Core
    39  
    40  If you already make use of Tendermint Core (either the original Tendermint Core
    41  v0.34.24, or Informal Systems' public fork), you can upgrade to CometBFT
    42  v0.34.27 by replacing your dependency in your `go.mod` file:
    43  
    44  ```bash
    45  go mod edit -replace github.com/tendermint/tendermint=github.com/cometbft/cometbft@v0.34.27
    46  ```
    47  
    48  We make use of the original module URL in order to minimize the impact of
    49  switching to CometBFT. This is only possible in our v0.34 release series, and we
    50  will be switching our module URL to `github.com/cometbft/cometbft` in the next
    51  major release.
    52  
    53  ### Home directory
    54  
    55  CometBFT, by default, will consider its home directory in `~/.cometbft` from now
    56  on instead of `~/.tendermint`.
    57  
    58  ### Environment variables
    59  
    60  The environment variable prefixes have now changed from `TM` to `CMT`. For
    61  example, `TMHOME` or `TM_HOME` become `CMTHOME` or `CMT_HOME`.
    62  
    63  We have implemented a fallback check in case `TMHOME` is still set and `CMTHOME`
    64  is not, but you will start to see a warning message in the logs if the old
    65  `TMHOME` variable is set. This fallback check will be removed entirely in a
    66  subsequent major release of CometBFT.
    67  
    68  ### Building CometBFT
    69  
    70  CometBFT must be compiled using Go 1.19 or higher. The use of Go 1.18 is not
    71  supported, since this version has reached end-of-life with the release of [Go 1.20][go120].
    72  
    73  ### Troubleshooting
    74  
    75  If you run into any trouble with this upgrade, please [contact us][discussions].
    76  
    77  ---
    78  
    79  For historical upgrading instructions for Tendermint Core v0.34.24 and earlier,
    80  please see the [Tendermint Core upgrading instructions][tmupgrade].
    81  
    82  [v03424]: https://github.com/tendermint/tendermint/releases/tag/v0.34.24
    83  [v03425]: https://github.com/informalsystems/tendermint/releases/tag/v0.34.25
    84  [v03426]: https://github.com/informalsystems/tendermint/releases/tag/v0.34.26
    85  [discussions]: https://github.com/cometbft/cometbft/discussions
    86  [tmupgrade]: https://github.com/tendermint/tendermint/blob/35581cf54ec436b8c37fabb43fdaa3f48339a170/UPGRADING.md
    87  [go120]: https://go.dev/blog/go1.20