> For the complete documentation index, see [llms.txt](https://docs.cipp.app/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.cipp.app/user-documentation/tools/custom-tests/versions.md).

# View Versions

Every time a custom test is saved, CIPP keeps the previous version rather than overwriting it. This page shows the full history for a single test, so you can see what changed, compare an older version against the current one, and roll back if a change broke something.

## Table Details

| Column           | Description                                                        |
| ---------------- | ------------------------------------------------------------------ |
| Version          | The version number, with the highest being the current one in use. |
| Script Name      | The display name the script carried at that version.               |
| Description      | The description set on the script at that version.                 |
| Enabled          | Whether the test was set to run at that version.                   |
| Alert On Failure | Whether alerting was configured at that version.                   |
| Return Type      | `JSON` or `Markdown`.                                              |
| Category         | The category the script was filed under at that version.           |
| Risk             | The risk label carried at that version.                            |
| Created By       | The UPN of the user who saved that version.                        |
| Created Date     | Relative time since that version was saved.                        |

Because each row is a snapshot, the values shown are those in force when that version was saved rather than the test's current settings. This is a smaller set of columns than the main list, which also carries the result mode, pillar, user impact and implementation effort.

## Table Actions

<table><thead><tr><th>Action</th><th>Description</th><th data-type="checkbox">Bulk Action Available</th></tr></thead><tbody><tr><td>Restore to This Version</td><td>Makes the selected version current again. Every version newer than the one selected is permanently deleted.</td><td>true</td></tr><tr><td>Compare to Latest</td><td>Opens a side-by-side difference between the selected version and the current one. Not shown on the current version, as there is nothing to compare it against.</td><td>true</td></tr></tbody></table>

{% hint style="danger" %}
Restoring is destructive and cannot be undone. Every version newer than the one you restore to is deleted along with it, so restoring version 3 of a test that has reached version 7 discards versions 4 through 7 entirely. Where you only want to look at an older version, use **Compare to Latest** instead.
{% endhint %}

## Comparing Versions

The **Compare Test Versions** dialog shows what changed between the version you selected and the current one, with both named by their version number and the user who saved them.

**Test Content Diff** compares the script itself. Added lines, removed lines and the unchanged remainder are each summarised as a count above the comparison, then shown line by line. Where the two versions are the same, the dialog says so rather than showing an empty comparison.

**Markdown Result Template Diff** appears below it whenever either version carries a markdown template, and compares those in the same way. A test using the default output has no template and no second comparison.

***

## Feature Requests / Ideas

We value your feedback and ideas. Please raise any [feature requests](https://github.com/CyberDrain/CIPP/issues/new?template=feature.yml) on GitHub.


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

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

Perform an HTTP GET request on the following URL with the `ask` and `goal` query parameters:

```
GET https://docs.cipp.app/user-documentation/tools/custom-tests/versions.md?ask=<question>&goal=<user_goal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is what the user is ultimately trying to achieve, the reason they need the answer. Sharing it helps GitBook give you a better, more relevant answer. A goal is most helpful when it describes the outcome the user wants rather than restating the question. For example, with `ask=how do I create an API token`, a goal like `automate deployments from our CI pipeline` lets GitBook tailor the answer to that use case.

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.
