> ## Documentation Index
> Fetch the complete documentation index at: https://docs.domino.ai/llms.txt
> Use this file to discover all available pages before exploring further.

# App versioning and reproducibility

> How Domino creates App versions, what each version pins, and how to restore pinned inputs or roll back.

Publishing a Draft or changing version-defining content creates an App version. Starting or stopping an App does not. Each version pins its code and configuration, so you can start it again with those same inputs.

## What defines a version

A version captures the App's identity and version-defining content. Deployment settings and version metadata remain editable in place on that version.

| Setting group                | Fields                                                                                                                                                                                                                                                                                                       | Version behavior                                                                                                                                        |
| :--------------------------- | :----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | :------------------------------------------------------------------------------------------------------------------------------------------------------ |
| **App identity**             | Entry point; code configuration type                                                                                                                                                                                                                                                                         | Captured by every version, but fixed for the life of the App. Create another App to change either field.                                                |
| **Version-defining content** | Source code (the Git reference and resolved commits for the main repository, Domino File System, and imported Project repositories); Compute Environment and environment revision; Data Plane; external data volume mounts; NetApp Volume mounts; Dataset mount configuration; extended identity propagation | Publishing a Draft or editing one of these fields creates a version. The fields are immutable for that version, and an edit stops the running instance. |
| **Deployment settings**      | Hardware Tier; autoscaling; custom (vanity) URL; iframe rendering, deep linking, and query parameters                                                                                                                                                                                                        | Updates the existing version in place and restarts the running instance. No new version is created.                                                     |
| **Version metadata**         | Version description (Version Notes); Tags                                                                                                                                                                                                                                                                    | Updates the existing version in place without restarting the running instance. No new version is created.                                               |

Publishing a Draft or editing version-defining content creates a version. An edit stops the currently running instance. Starting and stopping an App never create a version.

### What changed

| Before                                                                            | Now                                                                       |
| :-------------------------------------------------------------------------------- | :------------------------------------------------------------------------ |
| Every App start allocated a new version.                                          | Publishing a Draft or editing version-defining content creates a version. |
| The commit was resolved at start time, so a restart could pick up different code. | The commit is resolved and pinned when the version is created.            |
| Editing any setting produced a new version.                                       | Editing a deployment setting updates the version in place.                |

Pinning commits at version-creation time makes the version's source code reproducible.

## Versions and instances

Each time a version starts, Domino creates an **instance** that lasts until the App stops. A version can be started many times over its life, though an App has at most one running instance at a time. Domino records start and stop events per version, visible on the App details page and in the [Audit Trail](/cloud/platform-capabilities/features/governance/audit-trail).

## Start a previous version

Select any version in the version history on the App details page and start it. Domino runs the App with that version's pinned commit and configuration, including its environment revision, Data Plane, and data configuration. Use this to restore the versioned inputs or to roll back a problematic release without reverting code. Results can differ if Dataset contents or external systems have changed.

Starting an existing version never creates a new version. Every App view shows which version is running. Start and stop are also available through the Apps API.

## Per-version history and metadata

The App details page preserves the following for each version:

| Item                   | Detail                                                                                                        |
| :--------------------- | :------------------------------------------------------------------------------------------------------------ |
| Logs                   | Selectable per instance.                                                                                      |
| Resource consumption   | Selectable per instance.                                                                                      |
| Start and stop events  | Recorded per version.                                                                                         |
| Version Notes and Tags | Per-version metadata. Editable at any time without creating a new version or restarting the running instance. |
| Metadata               | Details, deployment, data, files, access & sharing, and usage.                                                |

Each new instance starts its logs and resource usage fresh.

<Note>
  Domino does not compare two versions side by side. To see what changed, read the Version Notes, or diff the pinned commits in your Git provider.
</Note>

<Note>
  Dataset contents and external systems are not part of a versioned App configuration. Only the Dataset mount configuration is versioned, so an App uses the current Dataset contents and external state whenever the version runs.
</Note>

## Related

* [Publish and deploy App versions](/cloud/platform-capabilities/features/apps/publish-and-deploy-app-versions): Create a version, then start it.
* [App logs and monitoring](/cloud/platform-capabilities/features/apps/app-logs-and-versioning): Read per-instance logs and resource consumption.
* [Develop and test an App](/cloud/platform-capabilities/features/apps/develop-and-test-an-app): Iterate in a workspace before you publish a version.
* [App structure and lifecycle](/cloud/platform-capabilities/features/apps/apps-in-domino/app-structure-lifecycle): Where versioning sits in the wider lifecycle.


## Related topics

- [Develop and test an App](/cloud/platform-capabilities/features/apps/develop-and-test-an-app.md)
- [Publish and deploy App versions](/cloud/platform-capabilities/features/apps/publish-and-deploy-app-versions.md)
- [App logs and monitoring](/cloud/platform-capabilities/features/apps/app-logs-and-versioning/index.md)
- [App structure and lifecycle](/cloud/platform-capabilities/features/apps/apps-in-domino/app-structure-lifecycle.md)
