--- title: "Introduction to Dependencies" slug: "introduction-to-dependencies" updated: 2025-11-18T17:59:40Z published: 2025-11-18T17:59:40Z canonical: "docs.unqork.io/introduction-to-dependencies" --- > ## 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 Dependencies 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](/v1/docs/dependencies-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**. ![App_Linking_thumb_0_0.jpg](https://cdn.us.document360.io/15548f06-2fba-434c-b0c1-5df88317dbd7/Images/Documentation/App_Linking_thumb_0_0(1).jpg?sv=2026-02-06&spr=https&st=2026-11-06T21%3A38%3A17Z&se=2026-11-06T22%3A38%3A17Z&sr=c&sp=r&sig=Oi4fORR897wnd4TBILrJxE%2B8MO6nzP9lykGsw1NvWBc%3D) 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: - [Header](/v1/docs/header-module) and [Footer](/v1/docs/footer-module) modules - [Login](/v1/docs/login-module) and [Logout](/v1/docs/logout-module) modules - [Imported modules](/v1/docs/panel-component) (shallow and deep nesting) - Module Executions (shallow, deep nesting, and execute via proxy) - [Workflow hand-off](/v1/docs/handoff-node) - Submission reference - [Plug-In component](/v1/docs/plug-in-component) (executing workflow steps) - [Dynamic Refresh](/v1/docs/dynamic-refresh) - [Transforms](/v1/docs/module-transforms) ### Non-Configuration Elements Some application and environment elements are not included in Application Versioning as dependencies. For example, [Data Collections](/v1/docs/data-collections), [Managed Assets](/v1/docs/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](/v1/docs/clone-guidelines-for-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. APIs (application programming interfaces) are a set of protocols and definitions developers use to build and integrate application software. APIs act as the connective tissue between products and services.