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

## **Upgrade to v28.0.0 - New Versioning Scheme in IGNITE®**

With the latest update, IGNITE® has transitioned its versioning format from a leading-zero release system to a full number release system. This change marks a significant shift in how we communicate updates and stability in our software. Where the previous version was denoted as v0.27.0, it will now be upgraded to v28.0.0.

This new versioning approach enhances our version control by clearly indicating major, minor, and patch releases. 
From now on first number indicates a major release with breaking API changes, second number indicates minor release that might include new features while the last number is typically focused on bug fixes and minor improvements.
[Learn more about semantic versioning](https://semver.org/).

## **Plugins are now called Apps. Upgrade Configuration Files**

IGNITE® `v28.0.0` changes the plugin system which is now called IGNITE® Apps. This version includes changes
to the CLI command names and the plugin configuration file.

The plugins configuration file is now called `igniteapps.yml` and "plugins" are now called "apps".

The plugins configuration home directory is now `$HOME/.ignite/apps` instead `$HOME/.ignite/plugins`.

Updates can be automatically applied by running `ignite doctor` in your blockchain application directory.
Running the command outside your blockchain application directory will only update the global plugins.

## **IGNITE® and Cosmos SDK Upgrade Guide: From IGNITE® v0.27.0 to v28.0.0 and Cosmos SDK v0.47 to v0.50**

### **Introduction**

This guide provides a step-by-step process for developers to upgrade their applications from IGNITE® version 0.27.0 to 28.0.0, along with an upgrade in the Cosmos SDK from version 0.47 to v0.50. It covers essential changes, new features, and adjustments required for a smooth transition.

### **Prerequisites**

- Backup your current project.
- Ensure you have IGNITE® v0.27.0 and Cosmos SDK v0.47 installed.
- Basic familiarity with command line operations and the existing project structure.

### **Step 1: Update IGNITE® CLI to Version 28.0.0**

- **Command**: Run **`curl https://get.ignite.com/cli@v28.0.0 | bash`** in your terminal.
- **Note**: This command updates the IGNITE® CLI to the latest version. Ensure you have the necessary permissions to execute it.

### **Step 2: Update Scaffold Chain Command**

- **Old Command**: **`ignite scaffold chain github.com/alice/blog`**
- **New Command**: **`ignite scaffold chain blog`**
- **Explanation**: The command format has been simplified in the new version for ease of use.

### **Step 3: Docker Version Upgrades**

- **Action**: Upgrade the IGNITE® version for the Docker container to match the CLI version.
- **Note**: Ensure Docker compatibility with the new IGNITE® CLI version.

### **Step 4: Change in Module Path**

- **Old Path**: **`x/blog/module.go`**
- **New Path**: **`x/blog/module/module.go`**
- **Explanation**: The module path structure has been updated for better organization.

### **Step 5: Frontend Scaffolding Options**

- **Action**: Choose between Vue, React, Go, or TypeScript for frontend scaffolding.
- **Commands**:
    - **`ignite scaffold react`**
    - **`ignite scaffold vue`**
- **Note**: Vue is no longer the default option for frontend scaffolding.

### **Step 6: Update Scaffold Message for CreatePost Command**

- **Action**: Review and update the output for the scaffolded createPost command as per the new format.

### **Step 7: AutoCLI Path Change**

- **Old Path**: **`x/blog/client/cli/tx_create_post.go`**
- **New Path**: **`x/blog/module/autocli.go`**
- **Explanation**: AutoCLI is now integrated at a different path to streamline command-line interactions.

### **Step 8: Adjustment in Stored Game**

- **Old Code**:
    
    ```go
	store := prefix.NewStore(ctx.KVStore(k.storeKey), types.KeyPrefix(types.PostKey))
    
    ```
    
- **New Code**:
    
    ```go
	storeAdapter := runtime.KVStoreAdapter(k.storeService.OpenKVStore(ctx))
	store := prefix.NewStore(storeAdapter, types.KeyPrefix(types.PostKey))
    
    ```
    
- **Explanation**: The way the KVStore is accessed has changed, requiring an update in the code for stored games.

### **Step 9: Chain-ID Requirements in CLI Transaction Commands**

- **Action**: Add **`-chain-id`** flag to CLI transaction commands.
- **Example**:
    - **Old Command**: **`blogd tx blog create-post 'Hello, World!' 'This is a blog post' --from alice`**
    - **New Command**: **`blogd tx blog create-post 'Hello, World!' 'This is a blog post' --from alice --chain-id blog`**
- **Explanation**: The **`chain-id`** flag is now required for transaction commands for identification purposes.

### **Troubleshooting Common Issues**

- **Dependency Conflicts**: Ensure compatibility of all dependencies with IGNITE® v28.0.0 and Cosmos SDK v0.50.
- **Docker Image Compatibility**: Align Docker image versions with the CLI for seamless operations.
- **Frontend Scaffolding**: For older projects, ensure correct scaffolding as per the new commands.
- **AutoCLI Integration**: Address discrepancies due to the new AutoCLI integration path.

### **Additional Resources**

- [IGNITE® Documentation](https://docs.ignite.com/)
- [Cosmos SDK Release Notes](https://github.com/cosmos/cosmos-sdk/releases/tag/v0.50.1)

### **Feedback**

We value your feedback on this guide. Please share your experiences and suggestions for improvements.

### **Updates Log**

- **[01/15/24]**: Guide created for IGNITE® v28.0.0 and Cosmos SDK v0.50.1