Skip to content

Commit

Permalink
chore: prepare v0.45.15 release (#15346)
Browse files Browse the repository at this point in the history
  • Loading branch information
julienrbrt authored Mar 22, 2023
1 parent b0833c2 commit c0fe4f7
Show file tree
Hide file tree
Showing 2 changed files with 36 additions and 7 deletions.
3 changes: 2 additions & 1 deletion CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -37,9 +37,10 @@ Ref: https://keepachangelog.com/en/1.0.0/

## [Unreleased]

## [v0.45.15](https://github.com/cosmos/cosmos-sdk/releases/tag/v0.45.15) - 2023-03-22

## Improvements

* (deps) Set minimum version to Go 1.19. Go 1.18 is no longer supported by the Go team.
* (deps) Migrate to [CometBFT](https://github.com/cometbft/cometbft). Follow the instructions in the [release notes](./RELEASE_NOTES.md).
* (deps) [#15127](https://github.com/cosmos/cosmos-sdk/pull/15127) Bump btcd.
* (store) [#14410](https://github.com/cosmos/cosmos-sdk/pull/14410) `rootmulti.Store.loadVersion` has validation to check if all the module stores' height is correct, it will error if any module store has incorrect height.
Expand Down
40 changes: 34 additions & 6 deletions RELEASE_NOTES.md
Original file line number Diff line number Diff line change
@@ -1,19 +1,47 @@
# Cosmos SDK v0.45.15 Release Notes

This release includes the migration to [CometBFT](https://github.com/cometbft/cometbft/blob/v0.34.27/CHANGELOG.md#v03427). This migration should be not breaking.
This release includes the migration to [CometBFT v0.34.27](https://github.com/cometbft/cometbft/blob/v0.34.27/CHANGELOG.md#v03427).
This migration should be minimally breaking for chains.
From `v0.45.15`+, the following replace is *mandatory* in the `go.mod` of your application:

```go
// use cometbft
replace github.com/tendermint/tendermint => github.com/cometbft/cometbft v0.34.27
```

A more complete migration is happening in Cosmos SDK v0.47.

Additionally, the SDK sets its minimum version to Go 1.19.
This is not because the SDK uses new Go 1.19 functionalities, but because we recommend chains as well to upgrade to Go 1.19 because Go 1.18 is not supported anymore.
We recommend applications to perform a **coordinated upgrade** when migrating from Go 1.18 to Go 1.19.
Additionally, the SDK sets its minimum version to Go 1.19. This is not because the SDK uses new Go 1.19 functionalities, but to signal that we recommend chains to upgrade to Go 1.19 — Go 1.18 is not supported by the Go Team anymore.
Note, that SDK recommends chains to use the same Go version across all of their network.
We recommend, as well, chains to perform a **coordinated upgrade** when migrating from Go 1.18 to Go 1.19.

Please see the [CHANGELOG](https://github.com/cosmos/cosmos-sdk/blob/release/v0.45.x/CHANGELOG.md) for an exhaustive list of changes.

**Full Commit History**: https://github.com/cosmos/cosmos-sdk/compare/v0.45.14...v0.45.15

## End-of-Life Notice

`v0.45.15` is the last release of the `v0.45.x` line. Per this version, the v0.45.x line reached its end-of-life.
The SDK team maintains the two latest major versions of the SDK. This means no features, improvements or bug fixes will be backported to the `v0.45.x` line. Per our policy, the `v0.45.x` line will receive security patches only.

We encourage all chains to upgrade to the latest release of the SDK, or the `v0.46.x` line.

Refer to the [upgrading guide](https://github.com/cosmos/cosmos-sdk/blob/main/UPGRADING.md) for how to upgrade a chain to the latest release.

## FAQ Migration to CometBFT v0.34.27

### I use `tm-db` but I get an import error with `cometbft-db`

For preventing API breaking changes, the SDK team has kept using `tm-db` for `v0.45.x` and `v0.46.x`.
However, the CometBFT team kept using `cometbft-db` for their `v0.34.x` line.
This means if your app directly interact with CometBFT (e.g. for a force pruning command), you will need to use `cometbft-db` there.
When not interacting with CometBFT directly, you can use `tm-db` as usual.

### I get import errors with `btcd`

If you are using an old version of `btcd`, you will need to upgrade to the latest version.
The previous versions had vulnerabilities so the SDK and CometBFT have upgraded to the latest version.
In the latest version `btcsuite/btcd` and `btcsuite/btcd/btcec` are two separate go modules.

### I encounter state sync issues

Please ensure you have built the binary with the same Go version as the network.
You can easily verify that by querying `/cosmos/base/tendermint/v1beta1/node_info` of a node in the network, and checking the `go_version` field.

0 comments on commit c0fe4f7

Please sign in to comment.