--- title: "Introduction to Application Versioning" slug: "intro-to-application-versioning" description: "Application Versioning is an important process in software development. Because many team members contribute to the creation of an application, versioning ensures team members are building and testing the correct application version at the correct environment level. " updated: 2026-07-20T19:46:54Z published: 2026-07-20T19:46:54Z canonical: "docs.unqork.io/intro-to-application-versioning" stale: true --- > ## Documentation Index > Fetch the complete documentation index at: https://docs.unqork.io/llms.txt > Use this file to discover all available pages before exploring further. # Introduction to Application Versioning Application versioning lets you manage changes to an Unqork application using branches and published versions. You work on a branch, publish it as a named version when you are ready, and promote that version across environments independently. To begin using application versioning, read the sections below. > **Important**: Enabling versioning is permanent. Once you enable it on an application, you cannot turn it off. ## Key Concepts Understanding these terms will help you use Unqork's application versioning effectively. - **Branch**: A working copy of the application where you make changes. Branches are editable. You can have multiple branches at the same time. - **Version**: A published snapshot of a branch at a point in time. Versions are read-only. To make changes, create a branch from a version first. - **Default version**: The version that displays when no version context is in the URL. Other applications reference the default version when they set your application as a dependency. - **Promoting**: Moving a published version across environments (staging, UAT, production) independently of other versions. ## When to Use Application Versioning Application versioning is well suited for teams that need to: - Protect the live application while developing new features or fixes on a separate branch. - Support parallel workstreams so multiple teams can develop on separate branches without blocking each other. - Promote a specific version to staging, UAT, or production without including unfinished work from other branches. - Roll back quickly by setting an earlier published version as the default if a promoted version causes issues. - Let other applications pin to a stable, named version of yours as a dependency. ## Enable Application Versioning Enabling versioning is a one-time setup step. Before you begin, note the following: > **Important**: Enabling versioning creates v0.0.0 as the first version of the application. The IDE automatically detects and adds external dependencies. Versioned applications do not support library modules. Move shared modules to a separate application and set it as a dependency first. You can enable versioning when creating a new application or on an existing application. ### New Application To enable versioning while creating an application: 1. In the Explorer, click **+ Create Application**. 2. Complete the application details. 3. Turn on **Enable Application Versioning**. 4. Click **Create**. 5. Review the **Enable versioning?** dialog and click **Enable versioning** to confirm. ### Existing Application To enable versioning on an application that already exists: 1. In the Explorer panel, select the ![ellipsis-vertical icon](data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIxNiIgaGVpZ2h0PSIxNiIgdmlld0JveD0iMCAwIDI0IDI0IiBmaWxsPSJub25lIiBzdHJva2U9ImN1cnJlbnRDb2xvciIgc3Ryb2tlLXdpZHRoPSIyIiBzdHJva2UtbGluZWNhcD0icm91bmQiIHN0cm9rZS1saW5lam9pbj0icm91bmQiIGFyaWEtaGlkZGVuPSJ0cnVlIj48Y2lyY2xlIGN4PSIxMiIgY3k9IjEyIiByPSIxIi8+PGNpcmNsZSBjeD0iMTIiIGN5PSI1IiByPSIxIi8+PGNpcmNsZSBjeD0iMTIiIGN5PSIxOSIgcj0iMSIvPjwvc3ZnPg==) ellipsis next to the application. 2. Select **Settings** from the drop-down. 3. In the settings dialog, find the **Versioning** section and click **Enable versioning**. 4. Review the **Enable versioning?** dialog and click **Enable versioning** to confirm. After enabling, v0.0.0 becomes the active default version. All future edits happen on branches. The branch pill displays in the module toolbar so you always know which branch or version you are viewing. --- **Changelog** | Date | Change | | --- | --- | | 2026-07-15 | Rewrote for 8.4 IDE release. Added key concepts, when to use versioning, and enable versioning procedure. Removed Beta notice. | | 2026-06-16 | Added Branch & merge Beta notice. | | 2026-06-03 | Initial publication. | A branch is a copy of modules in an Unqork application that helps Creators work in parallel. Branching an application can seperate in-progress changes from release-ready modules. A branch is a copy of modules in an Unqork application that helps Creators work in parallel. Branching an application can seperate in-progress changes from release-ready modules. A URL (uniform resource locator) is a unique identifier used to locate a resource on the internet. Also known as a web address. Use the UAT (user acceptance testing) environment to realistically test and navigate your applications as end-users would use them. The browser-based workspace where Creators build, edit, review, and manage Unqork applications. Also referred to as the Unqork platform. The IDE replaces what was previously referred to as UDesigner and Classic Designer, which are considered legacy. An app versioning Merge combines changes from one branch or draft, into another branch, draft, or published version of an application.