> For the complete documentation index, see [llms.txt](https://docs.adaptiva.com/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.adaptiva.com/patch/patch-operations/flex-controls/flex-controls-rollbacks.md).

# Rollbacks

The Rollbacks feature of OneSite Patch allows you to rollback one or more patches or releases to an earlier, stable version.

## Overview

### Use case

A rollback is necessary when a new patch introduces critical issues -- such as security vulnerabilities, breaking bugs, or functionality conflicts with other installed products -- and the system needs to revert to a known functional state.

### How Rollbacks work

When you create a rollback, you must specify the following:

* The patch/release to rollback.
* The Business Units to perform the rollback on.
* Optionally, the target patch/release to roll back to.

If you do not specify a target patch, then the system targets the most recent version of the patch prior to the patch you are rolling back.

After creating a rollback, the following occurs for all clients in the targeted Business Units that have that specific patch version installed:

* The desired state of the patch is set to **Rollback**.
* The desired state of the target patch to rollback to is set to **Mandatory Install**.
* Any patches between the target patch and the rolled back patch are set to **Do not install**.
* Clients download the targeted patch.
* Once the targeted patch is downloaded, the clients uninstall the product.
* Once the product is uninstalled, the clients install the product with the targeted patch.

{% hint style="warning" %}
This process is **not** affected by maintenance windows, and will occur as soon as you save the new Rollback. Make sure that you notify anyone using the affected devices that there may be an interruption.
{% endhint %}

If you have **Customized Product** settings defined for the product you are reverting, the settings will be applied when the targeted patch is installed.

### Do Rollbacks prevent future patches?

If a newer patch version for the product becomes available, it will be scheduled as normal according to your existing strategies. If you want to pause all updates from being applied for a product, you can use [Exceptions](/patch/patch-operations/flex-controls/flex-controls-exceptions.md) to specify the last version allowed.

### Removing a Rollback

You can remove a rollback by clicking on the **...** to the right of the rollback entry and selecting **Delete**.

If you delete a rollback, the rolled back patch becomes a valid patching target for any strategy that targets that product.

### Validate Rollback

In order to test if your rollback was successful, you can apply a manual [Scan](/patch/patch-operations/flex-controls/flex-controls-scan-requests.md) and verify which version displays in the [Devices dashboard](/patch/get-started/dashboards.md#devices).

1. Select **Asset Management > Devices** then select a device from the **Device Status** table to open the **Per-Device Patching State** dashboard.
2. Select the **Scan** button above the **Device Activity** timeline.

   ![](https://2503798551-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F7VJNM00p5XQ4pMWqCu8y%2Fuploads%2Fgit-blob-2a9f95842ff28cae26871dfdc99afa0e9169e247%2Fscan-button.png?alt=media)
3. Select **Browse** next to **Target Business Units** and select which business units you would like to verify.
   * If you would like to select individual clients, select **Browse** next to **Target Clients** instead of **Target Business Units**.
4. (Optional) Select **Browse** next to **Patching Strategies** to select the strategy that your product is included.
5. Toggle **ON** **Scan All Software**, however, this will take longer and is more resource intensive depending on your device's products.
6. (Optional) Toggle **ON** **Reset Data** if you want scan data for clients cleared from the Adaptiva Server and Client and repopulated with the requested scan.
   * Recommended only if having issues with scan.
7. Select **Browse** to select the software product(s) you'd like to scan included in your rollback.

   ![](https://2503798551-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F7VJNM00p5XQ4pMWqCu8y%2Fuploads%2Fgit-blob-0fade676e1b0631ecb85c263010ca4217a35c4a7%2Fscan-request.png?alt=media)
8. Click **OK**.
9. You can track the progress of the rollback from the **Device Activity** timeline.

   ![](https://2503798551-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F7VJNM00p5XQ4pMWqCu8y%2Fuploads%2Fgit-blob-64d219efb8dcd0643c6929af172d9980d3765205%2Fdevice-activity-timeline.png?alt=media)

## Walkthrough: Create a Rollback

![](https://2503798551-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F7VJNM00p5XQ4pMWqCu8y%2Fuploads%2Fgit-blob-c48656da36a2efe0ad90de69602d047e6fa3b642%2Frollbacks-table.png?alt=media)

1. Select the **Advanced Settings > Flex Controls > Rollbacks** from the side navigation
2. Click **+New**
3. Enter a unique **Name** and **Description**.
4. Select **Browse** to select the product you'd like to rollback.

   ![](https://2503798551-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F7VJNM00p5XQ4pMWqCu8y%2Fuploads%2Fgit-blob-e351536d69e55248b68a6bbdc57db8e79d506f52%2Fselect-installable-software.png?alt=media)
5. (Optional) Click **Browse** to select the **Rollback Target** then select the version you want to rollback to.

   If you do not select a specific version and leave **Rollback Target** blank, you will default to the last accepted version.
6. Select the desired version from the **Installable Software** table.
7. Click **OK**.
8. Select **Browse** to choose which Business Units you would like to apply to this rollback.
9. Click **OK**.
10. Click **Save**.

    ![](https://2503798551-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F7VJNM00p5XQ4pMWqCu8y%2Fuploads%2Fgit-blob-b8e26c87d85ce2e2d907c40277feaa48ddeae1d5%2Fcreate-rollback.png?alt=media)

You have now created a rollback that will apply to a client device during the next scan.
