---
sidebar_position: 989
title: v29.0.0
description: For chains that were scaffolded with IGNITE® CLI versions lower than v29.0.0 changes are required to use IGNITE® CLI v29.0.0
---

## Upgrade to v29.0.0

The changes between v28.0.0 and v29.0.0 are not as significant as the changes between v0.27.0 and v28.0.0.

In v29.0.0, the Cosmos SDK version has been upgraded to 0.53.0 and IBC to v10.

Please see the [Changelog](https://github.com/ignite/cli/commit/1b7f19f08d0fa91e3ae71b4b37b8bb4171a9e320#diff-b027e7b11ff55b21dd50b32abcbdd35d95be87a889f0f6562417fbf0995d402a) for more details.

:::tip
If you wish to keep using a chain scaffolded with IGNITE® v28, simply run the doctor command:

```bash
ignite doctor
```

Note that some scaffolding commands may not work as expected, and you may need to manually adjust your code, unless you follow the migration steps below.
:::

## Upgrade Cosmos SDK to v0.53.0

In order to upgrade, please navigate to the `go.mod` file in your blockchain directory and replace an earlier Cosmos-SDK version with v0.53.0.

```diff
-github.com/cosmos/cosmos-sdk v0.50.0
+github.com/cosmos/cosmos-sdk v0.53.0
```

Review the [Cosmos SDK v0.53.0 release notes](https://github.com/cosmos/cosmos-sdk/releases/tag/v0.53.0) for changes like updated x/auth vesting or sdk.Context APIs.

If you have custom modules, test for deprecated APIs and update as needed.

## Add Auth to PreBlockers

v29 configures preblockers to include the `auth` module (`authtypes.ModuleName`) for transaction processing. Ensure this is set in your v28 scaffold.

**Edit PreBlockers**:

- Open `mychain/app/app_config.go`.

- Find or add the `preBlockers` slice. Ensure it includes `authtypes.ModuleName`, matching v29’s configuration:

```go
import (
	"github.com/cosmos/cosmos-sdk/x/auth/types"
	"github.com/cosmos/cosmos-sdk/x/upgrade/types"
)

var preBlockers = []string{
	upgradetypes.ModuleName,
	authtypes.ModuleName,
	// this line is used by starport scaffolding # stargate/app/preBlockers
}
```

## Upgrade to IBC v10

```diff
-github.com/cosmos/ibc-go/v8 v8.5.2
+github.com/cosmos/ibc-go/v10 v10.0.0
```

The easiest path is copy the relevant files in the `app` directory from a chain scaffolded with v29 into your old v28 project, in case you did not modify anything in there.

In case you want to see the entire difference with scaffolded chains, use our "Generate Migration Difference" Tool.

[Checkout the Guide To use the Gen-Mig-Diff Tool](https://tutorials.ignite.com/guide-to-use-gen-mig-diffs-for/).

Then run the command

`gen-mig-diffs --output temp/migration --from v28 --to v29`

Now, test if your blockchain runs using IGNITE® v29:

Update the dependencies with:

```bash
go mod tidy
```

Then run the IGNITE® doctor to update configuration files.

```bash
ignite doctor
```

Now start your chain.

```bash
ignite chain serve
```

If you need our help and support, do not hesitate to visit our [Discord](https://discord.com/invite/ignitecli).
