--- title: "Application Versioning Overview" slug: "application-versioning-overview" tags: ["applications"] status: "update" updated: 2026-10-21T18:20:23Z published: 2026-10-21T18:20:23Z canonical: "docs.unqork.io/application-versioning-overview" --- > ## 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. # Application Versioning Application versioning lets Creators manage changes to an Unqork application using branches and published versions. Creators work on a branch, publish it as a named version when ready, and promote that version across environments independently. To begin using application versioning, read the sections below. > [!CAUTION] > Enabling versioning is permanent. Once enabled on an application, it cannot be turned off. ## Key Concepts Understanding these terms helps Creators use Unqork's application versioning effectively. - **Branch**: A working copy of the application where Creators make changes. Branches are editable. Multiple branches can exist 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 the application as a dependency. - **Promoting**: Moving a published version across environments like Staging, UAT, and 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. It creates v0.0.0 as the first version of the application, and the platform automatically detects and adds external dependencies. > [!WARNING] > Versioned applications do not support library modules. Move shared modules to a separate application and set it as a dependency first. Creators can enable versioning when creating a new application or on an existing one. The **Enable Application Versioning** toggle and the **Enable versioning** button are available only in environments where application versioning is activated. ### New Application To enable versioning while creating an application: 1. In the Explorer, click **+ Create Application**. 2. Complete the application details. 3. Select **Advanced Settings**. 4. Turn on **Enable Application Versioning**. 5. Click **Create**. 6. 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, click the ![EllipsisVertical](https://cdn.us.document360.io/15548f06-2fba-434c-b0c1-5df88317dbd7/Images/Documentation/api_upload_20261021_182021_871dd6d67fec499190ffc97b8a94a785.svg?sv=2026-02-06&spr=https&st=2026-11-02T14%3A35%3A57Z&se=2026-11-02T15%3A35%3A57Z&sr=c&sp=r&sig=GVPpYCMSi0CkmwFpl93KY8w5TIJMTiuUmby3eFtRuMM%3D) (**ellipsis**) next to the application. 2. Select **Settings** from the drop-down. 3. Select **Advanced Settings**. 4. Find **Application Versioning** and click **Enable versioning**. 5. 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 checkout pill displays in the module toolbar so Creators always know which branch or version is active. --- **Changelog** | Date | Change | | --- | --- | | 2026-10-20 | Clarified that the enable controls are available only in environments where application versioning is activated. Removed "Overview" from the title. Changed the first callout to a Warning, moved the v0.0.0 and dependency details into prose, and updated the New Application and Existing Application steps to include **Advanced Settings** and name the **Application Versioning** field. | | 2026-07-15 | Rewrote for 8.4 UnqorkAI platform 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. | In Unqork an application is a program used to perform specific tasks. An application can be one of two types: workflow or module. Also known as Unqork Users, or Designer Users; is anyone who is inside the Unqork platform. A URL (uniform resource locator) is a unique identifier used to locate a resource on the internet. Also known as a web address. The Staging environment is the first level of application building in Unqork. Use it to build, test, and style your applications. Use the UAT (user acceptance testing) environment to realistically test and navigate your applications as end-users would use them. The Production environment is the final stage of the development process. Use this environment to promote tested and functioning application so your end-user can interact with it. A key-value pair is a fundamental data structure where a unique "key" is associated with a specific "value," used for organizing and retrieving data efficiently, like in dictionaries or databases.