After you change your app configuration or create one or more app extensions, you can release those changes to users by creating and releasing an app version. An app version is a snapshot of your app configuration and all extensions. You can revert to a previous app version at any time by releasing an older app version.
Releasing an app version doesn't release your web app. When you're ready to deploy your app to production, you need to deploy your web app to your own hosting solution. For more information, refer to [Deploy your web app](/docs/apps/launch/deployment/deploy-web-app).
If you want to deploy app configuration and extensions to Shopify regularly, then you can [integrate Shopify CLI into your CI/CD pipeline](/docs/apps/launch/deployment/deploy-in-ci-cd-pipeline) to programmatically deploy your app components using the [`deploy` command](/docs/api/shopify-cli/app/app-deploy).
> Caution:
> This page describes the new process for deploying and releasing app extensions, known as simplified deployment.
>
> If you haven't changed your app since September 5, 2023, then your development workflow might need to change. For an overview of the changes from the previous deployment model and how they might impact your workflow, refer to [App versions](/docs/apps/launch/deployment/app-versions).
## Create and release an app version
When you're ready to release your changes to users, you can create and release an app version. An app version is a snapshot of your app configuration and all extensions.
The contents of your app version [depend on where you create it](/docs/apps/launch/deployment/app-versions#how-app-versions-are-created). You can create an app version using Shopify CLI or the Partner Dashboard. However, to create an app version that updates your CLI-managed extensions, you need to create the app version using Shopify CLI.
Before you create a new app version, you might want to preview one or more of your extensions. To learn how to preview and test your app extension, refer to the [documentation for your extension type](/docs/apps/build/app-extensions/list-of-app-extensions).
Some app versions need to be reviewed by Shopify before they can be released. You can [submit an app version for review](#submit-an-app-version-for-review) through the Partner Dashboard.
You can also set up your [CI/CD pipeline](/docs/apps/launch/deployment/deploy-in-ci-cd-pipeline) to deploy your app configuration and extensions programmatically.
### Release an app version using Shopify CLI
Follow these steps to create an app version using Shopify CLI:
1. Navigate to your app directory.
2. Run the following command.
Optionally, you can provide a name or message for the version using the `--version` and `--message` flags.
Releasing an app version replaces the current active version that's served to stores that have your app installed. It might take several minutes for app users to be upgraded to the new version.
After you release your new app version, you can view the version details in the Partner Dashboard, or by running the [`versions list`](/docs/api/shopify-cli/app/app-versions-list) command in Shopify CLI.
> Tip:
> If you want to create a version, but avoid releasing it to users, then run the `deploy` command with a `--no-release` flag.
>
> You can release the unreleased app version using Shopify CLI's [`release`](/docs/api/shopify-cli/app/app-release) command, or through the Partner Dashboard.
### Release app configuration using the Partner Dashboard
Follow these steps to update app configuration and release an app version using the Partner Dashboard:
1. From the Partner Dashboard, go to [**Apps**](https://partners.shopify.com/current/apps).
1. Select your app from the list.
1. Click **Configuration**.
1. In the **Configuration** page, make your changes.
1. Click **Save and release**.
> Note:
> Any configuration in the **App settings** section of the Configuration page is not versioned. When you save changes to these settings, they go live immediately.
Releasing an app version replaces the current active version that's served to stores that have your app installed. It might take several minutes for app users to be upgraded to the new version.
After you release your new app version, you can view the version details in the Partner Dashboard, or by running the [`versions list`](/docs/api/shopify-cli/app/app-versions-list) command in Shopify CLI.
### Release dashboard-managed extensions using the Partner Dashboard
Follow these steps to release an app version that includes changes of dashboard-managed extensions:
1. From the Partner Dashboard, go to [**Apps**](https://partners.shopify.com/current/apps).
1. Select your app from the list.
1. Click **Versions**.
1. From the **Versions** page, click **Create version**.
1. Optional: enter a name and message for the version.
1. Click **Release**. If you don't want to release right away, then you can click **Create version**.
Releasing an app version replaces the current active version that's served to stores that have your app installed. It might take several minutes for app users to be upgraded to the new version.
After you release your new app version, you can view the version details in the Partner Dashboard, or by running the [`versions list`](/docs/api/shopify-cli/app/app-versions-list) command in Shopify CLI.
### Integrate Shopify CLI into your CI/CD pipeline
You can deploy your app configuration and any app extensions that you [generated](/docs/api/shopify-cli/app/app-generate-extension) using Shopify CLI in a [CI/CD pipeline](/docs/apps/launch/deployment/deploy-in-ci-cd-pipeline).
Your app configuration and all extensions, including extensions created in the Partner Dashboard, are versioned together as a single [app version](/docs/apps/launch/deployment/app-versions).
## Release an existing app version
If you created an app version without releasing it, or you want to roll back to a previous app version, then you can release it using Shopify CLI or the Partner Dashboard.
### Release an existing app version using Shopify CLI
1. Navigate to your app directory.
2. Run the following command. Replace `VERSION` with the name of the version that you want to release.
> Tip:
> To look up the name of a previous version, use the [`versions list`](/docs/api/shopify-cli/app/app-versions-list) command.
### Release an existing app version through the Partner Dashboard
1. From the Partner Dashboard, go to [Apps](https://partners.shopify.com/current/apps) and then select your app from the list.
2. Click **Versions**.
3. From the **Versions** page, select the app version that you want to release.
4. On the app version page, click **Release**.
## Submit an app version for review
Depending on the extension types included in your app version, your version might need to be reviewed by Shopify. To understand which extension types require a review, refer to the [list of extension types](/docs/apps/build/app-extensions/list-of-app-extensions).
1. From the Partner Dashboard, go to [**Apps**](https://partners.shopify.com/current/apps).
1. Select your app from the list.
1. Click **Versions**.
1. Select the version that you want to release.
1. Click **Submit for review**.
1. When Shopify has reviewed and approved the app version, click **Release** to release the new app version to users.
## Next steps
[Learn how to remove an app extension from your app](/docs/apps/build/app-extensions/remove-app-extension).