# Version Control

By default, any changes made to a Jet app are automatically saved to the current working version and are immediately visible to all users. Enable app versioning or reverting back to a previous state.

Releases enable users to implement app versioning and release changes using a unique version number representing the app's specific state. When a release is published, it becomes the live version for users to interact with, providing a secure way to test and deploy changes without causing any disruptions.&#x20;

Jet keeps a detailed record of all modifications made, allowing users to browse the list of versions and revert the app to a previous state if necessary.

<figure><img src="https://3448227606-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-LQ08RFAKZvFADEiXKFy%2Fuploads%2FhM7I8iRcOs8yPwruMVwK%2Fimage.png?alt=media&#x26;token=d4ae3018-b3ff-4fd4-9f69-3b113d6b1b3e" alt=""><figcaption></figcaption></figure>

### Releases

{% hint style="info" %}
Releases are only available on paid [Jet plans.](https://www.jetadmin.io/pricing/internal-tool)
{% endhint %}

The current state of Jet apps can be version-controlled and made available to users. Whenever a release is published, it becomes the active version for all users. The published release can be modified at any moment and revert the present working version back to alterations made in a previous version.

1. Click on Version History on the right-top bar

<figure><img src="https://3448227606-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-LQ08RFAKZvFADEiXKFy%2Fuploads%2FjrDFJtdhSrsOEEVB6k7T%2FUntitled%209.jpg?alt=media&#x26;token=0e1e4034-55fa-4cb3-b7f1-d455ad389b9d" alt=""><figcaption></figcaption></figure>

2. Check the list of releases/snapshots. You can do the following actions:

* Create a new release
* Revert changes
* Set up a release name

<figure><img src="https://3448227606-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-LQ08RFAKZvFADEiXKFy%2Fuploads%2FiWmMP3mWmwRoNJDzh1eE%2Fimage.png?alt=media&#x26;token=a0ae4ed2-e1da-40c4-a438-03b906851b6a" alt=""><figcaption></figcaption></figure>

### Create a new release

Click **Create snapshot** to create a version for release. You can also specify a release name or auto-generate it.&#x20;

<figure><img src="https://3448227606-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-LQ08RFAKZvFADEiXKFy%2Fuploads%2Faxx1YUJIAz9by1BLgHrR%2Fsp.jpg?alt=media&#x26;token=7f46a102-4a58-4e97-ad53-e914e98e217c" alt=""><figcaption></figcaption></figure>

### Revert changes

You have the ability to revert the current working version to a previous state. Simply choose a historical point and hit the **Restore** button. While this action will undo all modifications made post the chosen point, it does not erase them from the historical record.

<figure><img src="https://3448227606-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-LQ08RFAKZvFADEiXKFy%2Fuploads%2FnEuUziYDU15scaZVTLL3%2Fre.jpg?alt=media&#x26;token=937a05a7-ba30-4656-9e92-fe70364c0c65" alt=""><figcaption></figcaption></figure>

Every time you perform a reversion, this action is also recorded in the history under the label **Reverted changes**. If necessary, you can revert back to a prior historical point to undo the reversion, thereby restoring the changes to the current working version.

### Creating a backup version

{% hint style="info" %}
At the moment, Jet doesn't have an automated backup system so you should save and store relevant versions manually
{% endhint %}

To save a stable version, open your app in the builder mode and click on the "App" icon in the top left corner

<figure><img src="https://3448227606-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-LQ08RFAKZvFADEiXKFy%2Fuploads%2FnDHnRQxJQ1WS08heBBGY%2FGroup%20756.png?alt=media&#x26;token=d6dabc0e-6a17-4ddd-a525-30f02a5d9f00" alt=""><figcaption></figcaption></figure>

Then choose the environment you want to save the version from (click the gear icon to drill down)

<figure><img src="https://3448227606-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-LQ08RFAKZvFADEiXKFy%2Fuploads%2FhZ7ckQ6Z6G2NAKHGXFp0%2FGroup%20755.png?alt=media&#x26;token=9894f875-19ba-4606-8d45-1dd7bf666728" alt=""><figcaption></figcaption></figure>

After that, you can **download the current configuration** and store it in your local storage

<figure><img src="https://3448227606-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-LQ08RFAKZvFADEiXKFy%2Fuploads%2FihuBqBFuQYiBP5iLOG3l%2FGroup%207571.png?alt=media&#x26;token=28aa0a99-bf43-4bae-93da-d91b08ef04ce" alt=""><figcaption></figcaption></figure>

### Restoring a previous version

To rollback to the previously saved version, you'll need to click upload and select the backup file that's been saved. After that, the changes will be pushed automatically

<figure><img src="https://3448227606-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-LQ08RFAKZvFADEiXKFy%2Fuploads%2FxHiJ22gVgxiYwteyIEQF%2FGroup%207581.png?alt=media&#x26;token=84095a17-3f23-4563-bb20-b964592836d8" alt=""><figcaption></figcaption></figure>
