---
title: "Compare app versions"
slug: "compare-app-versions"
updated: 2025-03-31T15:12:08Z
published: 2025-03-31T15:12:08Z
canonical: "support.tulip.co/compare-app-versions"
---

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

# Compare app versions

*Understand how two app versions differ from one another to expedite app review.*

          Who can use this feature

          

Users on Enterprise plans and above.

![Compare versions modal](https://cdn.document360.io/7c6ff534-cad3-4fc8-9583-912c4016362f/Images/Documentation/Compare%20versions%20modal.gif)

The compare versions feature allows users to see what has changed in an app from Version to Version. This feature helps to reduce time dedicated to app review and Approval processes and ensure compliance requirements are met.

This includes comparing all [app version](/r230/docs/create-and-manage-app-versions) types:

- Development Version
- Published Version
- Snapshot
- Canceled version

You can see a detailed view of changes at different levels, as described in the table below.

| Asset level | Change type |
| --- | --- |
| Widgets | Added Deleted Modified (ex. color, position, Triggers) |
| Steps | Added Deleted Modified (ex. Changes to Step Level Triggers) or widgets reordered |
| Apps | Modified (ex. Steps reordered, Resolution) |
| Triggers | Added Deleted Modified (links to the Base and Compare trigger versions) |
| Variables | Added Deleted Modified (ex. Name, default value) |
| Tables | Added Deleted Modified (ex. Record placeholders or queries were added) |

## Change management with app versions

[Change management is key for an organization to scale its use of Tulip.](https://tulip.co/blog/change-management-best-practices-for-manufacturers/) By comparing app versions, approvers can quickly dissect changes in apps. It’s valuable for scaling solutions with a rigorous review and approval cycle.

With this information, you can easily **determine how these changes impact all other related assets**.

## Compare versions of a Tulip app

1. Select an app, then navigate to the **Versions** tab.
2. Click the **three-dot menu** to the right of the app version you want to view and select **Compare versions**.

![Select compare app version](https://cdn.document360.io/7c6ff534-cad3-4fc8-9583-912c4016362f/Images/Documentation/Select%20compare%20app%20version.png)

1. Select the **Base** app version you want to compare with. The details compare assets that have changed between the **Base** and the **Compared** versions.

### See Version Changes

By default, the tool will load the version selected as the base, with the development version as the comparison. The base and compare version can be altered via dropdown in the page header.

There are two tabs, **Apps** and **Steps**, that you can use to see changes.

The **Apps** tab provides a summary of changed assets for app configuration, variables, and tables.

![Compare versions app tab](https://cdn.document360.io/7c6ff534-cad3-4fc8-9583-912c4016362f/Images/Documentation/Compare%20versions%20app%20tab.png)

The **Steps** tab provides a more granular view of each step and its assets, including step configuration and widget changes.

![Compare versions steps tab](https://cdn.document360.io/7c6ff534-cad3-4fc8-9583-912c4016362f/Images/Documentation/Compare%20versions%20steps%20tab.png)

Hover over a **variable** to see the full datasource name.

![Compare versions variable hover](https://cdn.document360.io/7c6ff534-cad3-4fc8-9583-912c4016362f/Images/Documentation/Compare%20versions%20variable%20hover.png)

### View Changed Assets in the App Editor

When you see assets that have changed, it’s best to view the asset in the App Editor to understand the full context.

To open a widget’s context pane in the app editor, click the **arrow** next to **Widget change details**.

![Compare versions open app editor](https://cdn.document360.io/7c6ff534-cad3-4fc8-9583-912c4016362f/Images/Documentation/Compare%20versions%20open%20app%20editor.gif)

### Changes to Triggers

When a change is made to a trigger, either at the app, step, or widget level, a change will be recorded as ‘Trigger modified’ in the version comparison with links to the base and compare versions.

![Compare-Versions-Trigger-Modified.png](https://cdn.document360.io/7c6ff534-cad3-4fc8-9583-912c4016362f/Images/Documentation/Compare-Versions-Trigger-Modified.png)

### Changes to Referenced Elements in an App

Apps often have elements connected or referenced to it that are external to the App Editor, such as Tables and Connectors. Only changes to how they are referenced in the App Editor will be visible in the version comparison. Any changes made to referenced elements themselves will not be shown.

![Compare-Versions-Records-Tab.png](https://cdn.document360.io/7c6ff534-cad3-4fc8-9583-912c4016362f/Images/Documentation/Compare-Versions-Records-Tab.png)

![Compare-Versions-Table-Changes.png](https://cdn.document360.io/7c6ff534-cad3-4fc8-9583-912c4016362f/Images/Documentation/Compare-Versions-Table-Changes.png)

## App Comparison Versions

### Compare Versions for a Single App

To make a comparison, the two versions must be of the same app, not different apps. For example, you can compare **App A**, Version 5 with **App A**, Development Version. You cannot compare **App A**, Version 5 with **App B**, Development Version.

### Comparisons and Older Tulip versions

Any app versions created prior to Factory Release 275 (LTS12) will not have an accurate comparison for triggers. Triggers will appear in the comparison, even though changes to the triggers may not have occurred.

We recommend only using the Compare App Versions feature for app versions created on a Factory Release 275 or later Tulip version.

*Tip: To make a new app version to compare, simply publish a new version or create a snapshot on a Factory Release 275 or later.*

### Comparing imported app versions

As of Factory Release 275, you cannot compare imported app versions to previous versions of the app, even if the imported app versions being compared are of the same app.

*Example: Imported **App A** Version 1 and compare it with Imported **App A** Version 2 — the comparison will not work properly.*

This is a limitation that we look to address in a future release.

Any changes done later to the imported app version appear in the comparison with the snapshot created from import (or a published version after the import).

## Further Reading

- [Set Up Approvals for Your Apps](/r230/docs/set-up-approvals-for-your-apps)
- [Change Editing Permissions on Individual Apps](/r230/docs/change-editing-permissions-on-individual-apps)
- [Restore a Development Version of an App from a Published Version](/r230/docs/restore-a-development-version-of-an-app-from-a-published-version)

**PublishedVersion**

The **Published****Version**of a Tulip app is a complete version of your Application. When an app is ready to be run in production, its logic can be *frozen*by Publishing that app. One application can have multiple published versions. If a **Station**is assigned to run the Published version of an application, it will only see changes when they are published.

**Approval**

A mechanism for ensuring that applications are reviewed and approved before publication. *Approvals types*can be configured under the settings menu. Specific approvals may be applied to an application on the application homescreen.

**Development Version**

The **Dev Version**of a Tulip app is the work-in-progress of your application after an app has been published. If a **Station**is assigned to run the Development version of an application, it will see live changes as they are made in the app editor.

Generally, **Stations**running in production will be running the **Published Version**of an Application.

**PublishedVersion**

The **Published****Version**of a Tulip app is a complete version of your Application. When an app is ready to be run in production, its logic can be *frozen*by Publishing that app. One application can have multiple published versions. If a **Station**is assigned to run the Published version of an application, it will only see changes when they are published.

**Widget**

**Widgets**are the elements that make up a specific **App Step.**Widgets can display information to users, collect user input, or trigger app logic.

*Common widgets include: Interactive Tables, Number inputs, Machine attribute widgets, and more.*

**Trigger**

**Triggers** are groups of logic that are tied to an app event, such as step open, timer, widget interaction, etc. App builders can add triggers to **widgets**, **machines**, **devices**, **apps**, and **steps**.

**Triggers** can contain **actions**, **transitions**, and **conditions**.

**Step**

A view your users will see within an application. **Steps** can be viewed chronologically or in whatever order best fits your process.

Steps can be grouped into **Step Groups**to manage and organize your app Steps.

**Step-Level Trigger**

A**step-level trigger** is a trigger configured with each app step. Step-level triggers can be triggered based on 4 actions:

1. Step Opened
2. Every X seconds (Timer)
3. Machine/Device outputs data
4. Step Exited

**Variable**

**Variables**are a location to store app information. Variables have a specific type that must match the contents they can store.

Variables are only accessible within a single application and are cleared when the app is restarted or completed.

**Tulip Tables**

**Tulip Tables** are a global location to store your production data. **Tables** are made up of **Records** (rows). A single can be accessed from multiple apps or stations at the same time. ![](https://cdn.document360.io/7c6ff534-cad3-4fc8-9583-912c4016362f/Images/Documentation/Tulip%20Tables%20Overview%20-%20Feature%20Overview(1).gif)

**App Editor**

The web interface used for building applications. Where you design a user interface, add logic, and connect your applications to **Tables**. ![](https://cdn.document360.io/7c6ff534-cad3-4fc8-9583-912c4016362f/Images/Documentation/Screen%20Shot%202022-09-13%20at%207.50.23%20AM.png)
