In Application Versioning, a dependency is a separate (child), versioned application that your primary (parent) application requires to function. In Unqork, there are two primary methods for migrating and managing dependencies:
Automatic Dependency Migration Tool: When converting an existing Unqork application to a versioned application, the Automatic Dependency Migration tool identifies any dependencies and migrates them on the Manage Dependencies page.
Manage Dependencies Page: Creators can manually migrate or manage dependencies from this page.
For more details, view our Manage Dependenices Page article.
Learn more about dependencies, how to migrate them, and how to manage them in the sections below.
Understanding Dependencies
When enabling Application Versioning, any modules used by the application that are located in other applications are considered dependencies and will be versioned. Dependencies are commonly imports, like services, handoffs, and so on, where one application ingests modules from another. Creators can think of this other application as the child application. The child application must be set as a dependency on the main (or parent) application. That way, it can access the child application's modules. The child application must then have any dependencies located and set. Repeat this process until a child application exists without any dependencies. Application Versioning supports dependencies that are both versioned and unversioned applications.
This model ensures that a given element executing in an application runs as the same version each time. For example, consider the image below. In this example, Applications A, B, C, and D are linked. So, Application A can only access elements of Application B. Application B can only access the elements of Application C. And, Application C can only access the elements of Application D.
![]()
Library modules or dependencies from unversioned applications are not supported with versioned applications. Any shared modules must be added to another versioned application and reshared if needed in your application.
Dependencies include the following:
Imported modules (shallow and deep nesting)
Module Executions (shallow, deep nesting, and execute via proxy)
Submission reference
Plug-In component (executing workflow steps)
Non-Configuration Elements
Some application and environment elements are not included in Application Versioning as dependencies. For example, Data Collections, Managed Assets, Environment-level configurations, role permissions, and external services or APIs.
Understand non-configuration elements and how they behave in a versioned application in our Non-Configuration Elements article.
Automatic Dependency Migration
When migrating an unversioned application to a versioned application, dependencies are automatically migrated with the application. These migrated dependencies are added to the Manage Dependencies page.