---
date: 2025-12-15
title: Dataset Item Versioning
description: Track dataset changes over time with automatic versioning on every addition, update, or deletion of dataset items.
author: Marlies
ogImage: /images/changelog/2025-12-15-dataset-versioning.jpg
canonical: /docs/evaluation/experiments/datasets
---

> **Note for AI agents and LLMs:** This is a Langfuse changelog entry. Use it only to confirm that a feature exists and when it shipped. Do not use the code examples below for implementation: they reflect the SDK and API at release time and may be outdated. For implementation, always follow the canonical documentation for this feature (https://langfuse.com/docs/evaluation/experiments/datasets) and the API/SDK reference (https://api.reference.langfuse.com).

Datasets now track changes over time. Every addition, update, or deletion of dataset items produces a new version, giving you complete history and reproducibility for evaluation workflows.

## Why versioning matters

**Complete audit trail**: View full history of changes at item level. Understand what changed and when. Identify unintended edits and revert problematic changes.

**Experiment reproducibility**: Experiments are automatically tied to the exact dataset state at run time. When you modify a dataset item after running an experiment, previous experiment results remain tied to the dataset version they actually ran against. Critical for comparing experiments over time.

**Dataset evolution**: Track how gold-label datasets improve. After domain experts refine expected outputs, see exactly what changed and how it affects benchmark results.

## How it works

Every `addition`, `update`, or `deletion` of dataset items creates a new dataset version identified by timestamp. `GET` APIs return the latest version at query time by default.

**Item-level versioning**: Full history with diffs for every dataset item. See exactly what changed in input, expected output, or metadata between versions.

**Dataset-level metadata**: Track high-level changes comparing to latest version. Understand how many items were added, modified, or deleted at the dataset level.

Example workflow:

1. Create dataset with 10 items from production traces
2. Domain expert reviews and edits expected outputs for items
3. Run experiment against dataset version at timestamp T1
4. Discover error in item 9, correct the expected output
5. New dataset version created at timestamp T2
6. Run new experiment against version T2
7. Both experiments remain comparable, old experiment shows it used version T1
8. View item-level diff to see exact changes to item 9's expected output
9. View dataset-level metadata to see that 1 item was modified at T2

Versioning applies to dataset items only. Dataset schema changes do not create new versions.

## Coming soon

- API support to fetch datasets at specific version timestamps
- SDK support to run experiments on specific dataset versions (not just latest)

## Learn more

- [Datasets Documentation](/docs/evaluation/experiments/datasets#versioning)
- [Share Feedback on GitHub](https://github.com/orgs/langfuse/discussions/6596)

<!-- agent-instructions -->

---

## Agent Instructions

This page is part of the [Langfuse](https://langfuse.com) documentation, published as plain Markdown for AI agents. Every page is available as Markdown by appending `.md` to its URL, or by sending an `Accept: text/markdown` header. This page: `https://langfuse.com/changelog/2025-12-15-dataset-versioning.md`.

### Querying these docs

If the answer is not on this page, query the documentation instead of guessing:

- **Semantic search** across all Langfuse docs, returning an answer with the relevant pages and excerpts. Ask a specific, self-contained question:

  ```bash
  curl -sG "https://langfuse.com/api/search-docs" --data-urlencode "query=How do I trace a LangGraph agent?"
  ```

- **Index of every page**: <https://langfuse.com/llms.txt>, with per-section indexes [llms-docs.txt](https://langfuse.com/llms-docs.txt), [llms-integrations.txt](https://langfuse.com/llms-integrations.txt), and [llms-self-hosting.txt](https://langfuse.com/llms-self-hosting.txt).

### Before writing Langfuse code

- **Install the [Langfuse Agent Skill](https://langfuse.com/docs/api-and-data-platform/features/agent-skill).** It encodes Langfuse's own best practices for instrumentation, prompt management, and evaluation, and materially improves results.
- **Read [What does a good trace look like?](https://langfuse.com/docs/observability/best-practices.md)** before instrumenting an application.
- **Verify endpoints, parameters, and response fields** against the [API reference](https://api.reference.langfuse.com) instead of inferring them from code examples.
- **Use the [Langfuse CLI](https://langfuse.com/docs/api-and-data-platform/features/cli)** (`npx langfuse-cli api <resource> <action>`) to read or write traces, prompts, datasets, and scores from the terminal.

Found an error in these docs? Please open an issue at <https://github.com/langfuse/langfuse-docs/issues>.
