---
title: "Manage dataset versions"
description: "Create stable dataset membership snapshots, inspect earlier versions, and choose the version an offline test runs."
sidebar:
  label: "Manage dataset versions"
seo:
  title: "Manage Dataset Versions | Judgment How-to"
  description: "Add or remove examples to create dataset versions, inspect historical membership, and pin an offline test to the intended version."
---

Dataset versions let you change a regression set without rewriting earlier
test inputs. You will create a new membership snapshot, inspect the prior one,
and select the version used by the next test run.

## Prerequisites

- A non-legacy dataset with a defined schema
- At least one example or production trace you can add, or one current example
  you can remove

## How versioning works

The platform creates versions automatically. Adding a batch of examples or
removing a batch from the latest snapshot creates one new version. There is no
separate **Create version** action.

A version records which examples belong to the dataset at that point. The
schema is one locked contract shared by every version. Earlier versions remain
read-only and keep rows later removed from the latest version.

## Create and inspect a version

1. ### Note the current version

    Open **Datasets**, select the dataset, and read the version selector in the
    page header. Record the current `vN` and its example count.

2. ### Change the latest membership

    Add one or more traces through [Add production traces to a
    dataset](/documentation/datasets/production-traces), or select rows on the
    latest dataset version and choose **Remove**.

    Keep related additions or removals in one batch when they should form one
    reviewable snapshot. Separate batches create separate versions.

3. ### Compare the snapshots

    Return to the dataset and open the version selector. Confirm that a new
    version appears with the updated example count. Select the previous version
    and verify that its membership has not changed.

    Removal actions are available only on the latest version. Switch back to
    the latest snapshot before making another membership change.

4. ### Select a version for a test run

    Open the dataset's **Tests** tab, choose **Run Test**, and select a test
    config. In **Start a New Run**, choose the intended **Dataset Version**.

    Leaving the selector at its default resolves the latest version when the
    run starts. Choosing an explicit version is safer when teammates may edit
    the dataset at the same time.

## Verify the pin

After the run starts, open **Tests**. The run row shows the resolved
dataset version, and the run keeps that exact version even if the dataset later
changes. The same row also records the exact judge versions resolved for the
run.

## Troubleshooting

- If a run says the dataset version has no items, choose a version with at least
  one example.
- If the version selector or editable schema is missing, confirm that the
  dataset is not a read-only legacy dataset.
- If a removed row still appears, check the selected version. Historical
  snapshots intentionally retain rows that were live at that point.
- If an addition produced more versions than expected, it was submitted in
  multiple batches.

## Next step

[Run an offline test](/documentation/tests/offline-tests) with the version you
just verified.
