# Baserow Row Change History - Who Changed What and When

> See how Baserow's row change history logs every author, old value, and new value automatically, and how long self-hosted installs keep that log.

Source: https://opennix.org/en/docs/baserow/rows/row-change-history/


Every edit, addition, and deletion inside a row gets logged automatically in Baserow, building a chronological record with no setup required. This article explains how to open a row's change history, what each log entry shows, and how long a self-hosted installation keeps that history by default.

## Overview

Row change history records every edit made to a row's data, building a chronological log available right inside the row's detail card. Each entry shows who made the change, which fields were touched, the old and new values, and the exact time of the edit.

This tracking happens automatically behind the scenes with no configuration - every time someone edits a cell, adds data, or removes it, Baserow writes a new history entry. That log helps a team stay accountable, troubleshoot data problems, understand how a record evolved, and meet internal audit expectations.

![Row change history interface in Baserow](/images/baserow/rows/baserow-row-change-history-interface.png)

## When row change history is useful

**Data auditing:** see who edited customer records, financial data, or other sensitive information to stay aligned with internal policy.

**Investigating errors:** when data looks wrong, check the history for when the change happened, who made it, and what the value was before.

**Team transparency:** see who on the team added notes, updated a status, or changed an important field on a shared record.

**Quality control:** confirm a review process was actually followed - when an approval was granted, a field validated, or a required update completed.

**Onboarding:** show a new team member how a sample record evolved over time to illustrate the team's workflow.

**Resolving disagreements:** when there's a dispute about a value, check the history to establish exactly what changed, by whom, and when.

## What gets tracked

| Change type | What's recorded | Example |
|---|---|---|
| **Field edit** | Old value → new value | Status changed from "Draft" to "Published" |
| **New data** | Empty → new value | Email added: user@example.com |
| **Value removed** | Old value → empty | Phone number removed |
| **Link change** | Linked records added or removed | Project linked to Customer ABC |
| **File change** | Files uploaded or removed | Invoice.pdf added as an attachment |
| **Multi-field edit** | Every change from one update | "Priority" and "Due date" both updated |

**Note:** row change history tracks edits to existing data only - a row's creation or deletion is not part of this per-field log.

## How to open a row's change history

The full timeline of changes for any row is available inside its [row detail card](/docs/baserow/rows/enlarging-rows/).

**To view the change history:**

1. open the table containing the row;
2. click the expand icon to [open the row detail card](/docs/baserow/rows/enlarging-rows/);
3. click the **History** tab at the top of the card;
4. scroll through the chronological list of changes.

The most recent changes are shown at the top, so the latest edits are visible right away.

## Reading a history entry

Each entry carries specific information to help you understand what happened.

### Author

Shows which user made the change. If that account no longer exists, the entry keeps their name as it was at the time of the change, so the audit trail stays intact.

### Change details

A full summary of what changed, including:

- which fields were touched;
- the previous value, before the edit;
- the new value, after the edit;
- how many fields changed in that single update.

### Timestamp

The exact date and time of the change, shown according to your [timezone settings](/docs/baserow/fields/working-with-timezones/).

## Retention on a self-hosted installation

On a self-hosted installation, row change history is kept for 180 days by default, and an administrator can adjust that limit in the backend configuration, up to 365 days. A longer retention period increases the amount of data stored in the database, so it's worth checking storage capacity before extending it.

A full point-in-time restore of the entire database is not available on the free, open-source tier of Baserow - row change history remains the built-in way to trace what changed in individual records at this level.

## Frequently asked questions

**Can I restore a previous value straight from the change history?** Not directly - the history panel is read-only. To restore an earlier value, copy it from the history entry and paste it into the current field by hand.

**Does the history show who deleted a row?** No, row change history covers edits to existing data - once a row is deleted, there is no longer a row to show a history for.

**Can I export the change history for a report?** Not at the moment - the history can only be viewed inside the Baserow interface.

**What happens once the retention period expires?** Changes older than the configured retention window are purged automatically. The current data itself stays intact - only the record of how it changed is removed. Extend the retention period in the backend configuration if a longer history is needed.

**Can I filter or search the change history?** Not currently - the history lists every change strictly in chronological order, with no filtering. For a long log, scroll through the timeline to find what you need.

That completes the Rows section - continue to [Fields](/docs/baserow/fields/) to see the field types Baserow offers and how to configure each one.

