# Revision history

## Availability

[\[SINCE Orbeon Forms 2023.1\]](/release-notes/orbeon-forms-2023.1.md)

## Introduction

Each time Form Runner saves data to the database, it saves a new *revision* of the data. Each revision of the data has an associated timestamp.

Until Orbeon Forms 2023.1, the revision history was only accessible through the database, for [auditing purposes](/form-runner/persistence/auditing.md), or for restoring an older version manually. Starting with Orbeon Forms 2023.1, Form Runner provides a user interface to access the revision history of a given form data.

Note that this feature is distinct from [form definition versioning](/form-runner/features/versioning.md), which regards the versioning of published form definitions.

## Enabling the feature

The feature is disabled by default. You can enable it globally by setting the following property to `true`:

```xml
<property
    as="xs:boolean"
    name="oxf.fr.navbar.revision-history.enable.*.*"
    value="true"/>
```

This adds a "Revision History" icon in the [navigation bar](/form-runner/features/navbar.md).

![Revision History icon](/files/3Sx2iynOZG0wrnGeieQj)

Activating the icon opens the Revision History pane:

![Revision History pane](/files/I3r0FjqGUUIwTiidng0Z)

\[SINCE Orbeon Forms 2026.1] You can disable revision history on an app and form basis using the [`oxf.fr.persistence.proxy.disable-version-history.*.*` property](/configuration/properties/form-runner/persistence.md#disabling-version-history).

## The Revision History pane

The Revision History pane shows the list of revisions for the current form data, with the following information:

* date and time of the change
* username of the user that made the change, or "Anonymous user"
* a description of the changes, including
  * value entered
  * value cleared
  * value changed
  * iteration added
  * iteration removed
  * other change
  * no change

For a given revision, you can click on the "View this revision" link to view the form data as it was at the time of that revision.

![Viewing a specific revision](/files/To5ScpgaF3zR8b40ZAOG)

## See also

* Blog post: [Data Revision History](https://www.orbeon.com/2024/08/revision-history)
* [Form Runner navigation bar](/form-runner/features/navbar.md)
* [Auditing](/form-runner/persistence/auditing.md)
* [Purging historical data](/form-runner/features/purging-historical-data.md)
* [Purging old data using SQL](/form-runner/persistence/purging-old-data.md)
* [Form definition versioning](/form-runner/features/versioning.md)
* [Revision History API](/form-runner/api/persistence/revision-history.md)
* [Persistence proxy properties](/configuration/properties/form-runner/persistence.md#persistence-proxy-properties)


---

# 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://doc.orbeon.com/form-runner/features/revision-history.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.
