# Versions

Middle allows you to have multiple versions of your app. Versions are important to make you feel comfortable developing and testing on an app so you don't accidentally break something on the app's live version. Different versions of an app can be used by different accounts across your instance.

![Managing an app's versions](https://932524191-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-Mks_UuU2atghAuA9bQz%2Fuploads%2FgYYh3d0dIOadeFKXh8VT%2FScreen%20Shot%202021-12-23%20at%2011.12.48%20AM.png?alt=media\&token=f4e07a33-63ac-4f6d-849c-78668725c821)

## Create the first version of an app

When you create a new app, you will want to create the first version of the app. To do this you'll click to the *Manage Versions* menu and then click to create a new version of this app. You are able to assign this version any number, but since it's the first it's best to give it the version number 1.0.0.

![To create the first version of an app, click to manage the app's versions and then click Create new version](https://932524191-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-Mks_UuU2atghAuA9bQz%2Fuploads%2FL29YGMj04rUw8b1pYfPm%2FScreen%20Shot%202021-12-23%20at%2011.09.20%20AM.png?alt=media\&token=83c26060-a5e4-46ea-85db-059fda3ad5f1)

## Adding a new version

When you are ready to develop a new version of your app you will want to create a new version and then migrate developments from a previous version. Once you've created the new version, click *Copy settings...* on the app version you'd like to migrate developments from and then select the new version from the *Chosen target version* dropdown. You will then see a list of authentications, poll syncs, actions, and code packages you can migrate over.

![Migrating settings over to a new version of an app](https://932524191-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-Mks_UuU2atghAuA9bQz%2Fuploads%2FG1TgdUL1QBFoArTHqqjA%2FScreen%20Shot%202021-12-23%20at%2011.21.04%20AM.png?alt=media\&token=d7a0c950-4085-4a56-a0d8-88e025f56c6c)

Once your new version of the app is ready to go live, you will want to toggle it on. This doesn't mean that your accounts will start using this version of the app. You will need to switch over your instances connections to the new version. You are able to change which version of an app an account connection is using by changing the version on an account-by-account basis or you can change the version over for all account connections in your instance by clicking *Migrate connections...*

![Changing which version of an app an individual account connection is using via the App Connection page](https://932524191-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-Mks_UuU2atghAuA9bQz%2Fuploads%2F2UM5AzEHT4HbZoAb7pMc%2FScreen%20Shot%202021-12-23%20at%2011.30.30%20AM.png?alt=media\&token=0e3cdf2b-78a7-4985-af05-cd13a9733e12)

![Migrating existing connections over to a new app version](https://932524191-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-Mks_UuU2atghAuA9bQz%2Fuploads%2FkhVqnpzmoIOpjMsFBjjE%2FScreen%20Shot%202021-12-23%20at%2011.32.47%20AM.png?alt=media\&token=5f0be188-2390-42e2-8d30-b393ffb3609e)


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://docs.middle.app/middle-docs/app-development/versions.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
