Versions
Every publish, upload and edit creates an immutable dataset version. Learn when versions are made, how to browse them in the versions rail, and which one everything else reads.
A dataset version is the rows exactly as they were at one moment: after one pipeline run, one upload, one edit. Versions are numbered v1, v2, v3 and never change once written. The active version is the one the rest of the product reads.
- Writerun, upload, edit, delete
- New versionv(n+1) written, v(n) kept
- Activatebecomes the active version
- Downstreamalerts, outputs, dashboards
What creates a version
| Action | Where | Source shown in the rail |
|---|---|---|
| A pipeline run publishes | Scheduled, manual, Refresh or triggered run of the producing pipeline | Pipeline run |
| A rerun merges rows | Rerun {n} rows on a dataset that feeds another pipeline | Rerun |
| Upload a file | Upload to {worksheet}… on the dataset page, replace or append | Uploaded |
| Import a file as a new dataset | Upload data on the Pipelines page | Uploaded |
| Rows arrive over the ingest API or an input integration | Automatic, or Sync on the dataset page | Ingested |
| Generate sample rows | Generate data in {worksheet}… | Sample data |
| Jason imports data into a new dataset | Chat | Imported by Jason |
| Jason transforms the dataset | Chat | Transformed by Jason |
| Jason publishes rows from work in a conversation | Chat | Published by Jason |
| A dataset is copied from another workspace | Copying pipelines between workspaces | Copied |
| Edit a cell | Edit in the row dialog, or the row page’s Data tab | Copies the previous version’s source |
| Delete rows | Select rows, Delete {n} rows | Copies the previous version’s source |
| Add, rename or delete a worksheet | Header menu, Worksheet section | Copies the previous version’s source |
Two things follow from this. First, a version is a complete snapshot of every worksheet, not a diff, so opening v3 shows you all the rows as they were, even if v4 only changed one cell. Second, a dataset with no versions has no data at all; the page shows “No data yet” until the first run, upload or ingest.
A run that fails verification does not publish. The last good version stays active, so a broken source never replaces good rows with empty ones. See Verification and repair.
The versions rail
The rail on the left of the dataset page lists every version, newest first. The one you are viewing is highlighted.
The breadcrumb also ends with the version number, and the row count under the title is the count for the version you are viewing.
Viewing an older version
- Click a version in the rail. The grid reloads on that version’s first worksheet, with page, sort and filter reset.
- Browse as usual. Worksheet tabs, sorting, filtering, Run query and the row dialog all work against the version you chose. Exports from the header menu export that version.
- Step through versions. With the page focused (not a text box), the Up arrow opens the next newer version and the Down arrow the next older one.
- Return. Click the version under Current, or press the browser’s Back button.
The address bar carries ?version=2 while you are on a chosen version, so you can send a colleague a link to exactly what you are looking at. Each version you open is a new history entry, so Back and Forward step through the versions you viewed.
There is no restore button. The UI lets you view older versions; making an older version active again is not something you can do from the page. If you need the old rows back, export the older version and upload it, or ask Jason.
Roll the Live product offers dataset back to yesterday’s version and tell me what changed between the two.
What reads the active version
Everything that consumes a dataset resolves the active version at the moment it reads, unless a link pins a version.
Editing rows is copy-on-write
Editing a cell, or deleting selected rows, never touches the version you are looking at. The whole worksheet is copied, your change is applied to the copy, the copy is written as the next version, and that version is made active. The previous version keeps the old value, and the row’s history is visible by opening the older version.
This has two practical consequences:
Because an edit is a new version, it also triggers everything a publish triggers: alert rules are evaluated against the change, rules that send rows to outputs run, and dashboards show the new value the next time they load. A
column_changedrule on the column you edited will fire.
Versions and the pipeline
Dataset versions and pipeline versions are different things. A pipeline version is a revision of the pipeline itself: the steps, sources and checks. A dataset version is one set of rows. One pipeline version usually produces many dataset versions, one per run; a repaired pipeline version resumes the failed run and publishes the next dataset version from where it left off.
The row page’s View menu links from a row to the pipeline run that produced its version, and the run’s Outputs tab links back to the dataset version it published. See Run detail.
Reading a version history
A typical history for a pipeline-produced dataset, newest first, and what each entry tells you:
| Row in the rail | What happened |
|---|---|
| Current: v8 · Transformed by Jason | Jason added a discount_pct column in chat. This is what dashboards, alerts and outputs are reading until the next run. |
| Today: v7 · Pipeline run | This morning’s scheduled run published. |
| Yesterday: v6 · Pipeline run | Yesterday’s run failed, Jason repaired the pipeline, and the resumed run published. The run itself (open a row’s full page and choose View → Pipeline run) shows it was a resumed run. See Verification and repair. |
| Sep 20: v5 · Rerun | Twelve rows were sent back through the pipeline with Rerun 12 rows and merged in. |
| Sep 20: v4 · Pipeline run | Someone edited a cell; the edit copied v3’s source forward. Open v3 to see the value before the edit. |
| Sep 20: v3 · Pipeline run | A normal scheduled publish. |
| Sep 16: v2 · Uploaded | A file was appended from the dataset page while the pipeline was being set up. |
| Sep 16: v1 · Pipeline run | The first run, at the end of the build. |
Two versions with the same source a few minutes apart usually mean an edit or a row deletion; a version with no run behind it (an upload, an edit) has no Pipeline run link on its rows.
Troubleshooting
Retention
Older versions are kept according to the workspace’s data retention setting. When a version expires, alert history that referenced it keeps its record but no longer links to the rows. See Data retention.