--- title: "Publishing Branches" slug: "publishing-branches" status: "update" updated: 2026-10-21T18:20:30Z published: 2026-10-21T18:20:30Z canonical: "docs.unqork.io/publishing-branches" --- > ## 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. # Publishing Branches Publishing a branch creates a named, read-only snapshot of the application at that point in time. Publishing does the following: - Creates a new version with a semantic version number (for example, v1.2.0). - Makes the version read-only. - Optionally sets the new version as the default and deletes the source branch. Published versions can be promoted to other environments and set as the default version that end-users see. After publishing, the platform navigates to the module builder in the new version's context. ## Publish a Branch To publish a branch: 1. In the module toolbar, click the checkout pill. ![Module Builder tab bar showing the checkout pill displaying the current branch name.](https://cdn.us.document360.io/15548f06-2fba-434c-b0c1-5df88317dbd7/Images/Documentation/api_upload_20261021_182027_5d0fa8c7343c4084876b66f38a79d973.png?sv=2026-02-06&spr=https&st=2026-11-02T06%3A29%3A33Z&se=2026-11-02T07%3A29%3A33Z&sr=c&sp=r&sig=r14qCLRr%2BoBAJENBmm7jRwcTvI3scIneT7rT%2BQ2f0D0%3D) 2. Hover ![GitBranch](https://cdn.us.document360.io/15548f06-2fba-434c-b0c1-5df88317dbd7/Images/Documentation/api_upload_20261021_182027_0736511b8e794565ae46a86c5a9ab123.svg?sv=2026-02-06&spr=https&st=2026-11-02T06%3A29%3A33Z&se=2026-11-02T07%3A29%3A33Z&sr=c&sp=r&sig=r14qCLRr%2BoBAJENBmm7jRwcTvI3scIneT7rT%2BQ2f0D0%3D) **Versioned Actions**, then select ![Settings2](https://cdn.us.document360.io/15548f06-2fba-434c-b0c1-5df88317dbd7/Images/Documentation/api_upload_20261021_182027_d7d905a16a594e84b7ebfb2bf140ced1.svg?sv=2026-02-06&spr=https&st=2026-11-02T06%3A29%3A33Z&se=2026-11-02T07%3A29%3A33Z&sr=c&sp=r&sig=r14qCLRr%2BoBAJENBmm7jRwcTvI3scIneT7rT%2BQ2f0D0%3D) **Manage Versions**. 3. On the branch to publish, select ![EllipsisVertical](https://cdn.us.document360.io/15548f06-2fba-434c-b0c1-5df88317dbd7/Images/Documentation/api_upload_20261021_182027_e083660e3e4a496ab6e27210cae4e76d.svg?sv=2026-02-06&spr=https&st=2026-11-02T06%3A29%3A33Z&se=2026-11-02T07%3A29%3A33Z&sr=c&sp=r&sig=r14qCLRr%2BoBAJENBmm7jRwcTvI3scIneT7rT%2BQ2f0D0%3D) (**ellipsis**) > ![Upload](https://cdn.us.document360.io/15548f06-2fba-434c-b0c1-5df88317dbd7/Images/Documentation/api_upload_20261021_182027_e312ea72d6d94e44a87056f50263eb3d.svg?sv=2026-02-06&spr=https&st=2026-11-02T06%3A29%3A33Z&se=2026-11-02T07%3A29%3A33Z&sr=c&sp=r&sig=r14qCLRr%2BoBAJENBmm7jRwcTvI3scIneT7rT%2BQ2f0D0%3D) **Publish...**. The **Publish** dialog opens for that branch. 4. If the dialog displays a dependency warning, resolve all draft dependencies before continuing. See [Dependency Check](/unqorkai/docs/publishing-branches#dependency-check) below. 5. If a previous version exists, choose an **Update Type**: The version number field fills automatically for **Major**, **Minor**, and **Patch**. For **Custom** or first-time publishing, enter a version number in the format `1.0.0`. - **Major**: Significant new functionality or breaking changes. - **Minor**: Small improvements that do not break existing functionality. - **Patch**: Bug fixes or minor corrections. - **Custom**: Enter any version number manually. 6. Optionally, enter a **Version Name** to give the version a descriptive label (50 characters maximum). The name displays beside the version string wherever a version is chosen, so it is worth naming a version for what it delivered. 7. Set the publish options. See [Publish Options](/unqorkai/docs/publishing-branches#publish-options) below. 8. Click **Publish**. A confirmation message displays when the version is published successfully. ## Publish Options The following options are available when publishing a branch. | Option | Default | Description | | --- | --- | --- | | **Validate Branch Before Publish** | Unchecked | When checked, runs server-side validation before publishing. Publishing might take longer. Blocks publishing if the branch has issues. | | **Make Published Version Default** | Unchecked | When checked, sets the new version as the default version on success. | | **Delete Branch After Publish** | Checked | When checked, removes the branch after publishing. Uncheck to continue working on the branch after publishing. | ## Dependency Check Before publishing, the platform checks whether any of the application's dependencies are on draft (unpublished) versions. If they are, the dialog displays a "Draft dependencies must be resolved" message with the affected applications listed by name. Publishing is blocked until each listed dependency references a published version. To resolve this, update each dependency to a published version on the [Manage Dependencies](/unqorkai/docs/application-dependencies) page, then return to the publish dialog. ## Stale Base Warning If **Make Published Version Default** is selected and the branch was created from an older version, the dialog displays a warning: "Branch isn't based on the current default." The current default version has changes the branch does not include. Publishing this branch as the new default replaces the current default with the branch's content. The stale base warning is informational. It does not block publishing. Use the ![GitCompare](https://cdn.us.document360.io/15548f06-2fba-434c-b0c1-5df88317dbd7/Images/Documentation/api_upload_20261021_182028_9fcff88b5a6549ef980b568c0edc4fb1.svg?sv=2026-02-06&spr=https&st=2026-11-02T06%3A29%3A33Z&se=2026-11-02T07%3A29%3A33Z&sr=c&sp=r&sig=r14qCLRr%2BoBAJENBmm7jRwcTvI3scIneT7rT%2BQ2f0D0%3D) **Compare with active version** button in the warning to review the differences before publishing. ## Private Smart Components Publishing a branch updates each Private Smart Component in the published modules to the definition this version uses. Publishing never changes what the current default version runs. If you publish without selecting **Make Published Version Default**, and updating a Private Smart Component would change how the current default version behaves, that component keeps its current definition. The default version your end-users see does not change. After publishing, the IDE displays a warning that names the components that were not updated, and why: - **The default version is still using an older version.** It keeps using that version until this version becomes the default. - **It couldn't be updated from this branch.** The branch's version of the component can't be applied, so publishing again doesn't change it. ## Semantic Versioning Unqork uses semantic versioning to number published versions. A semantic version number has three parts: `Major.Minor.Patch` (for example, `2.1.3`). Use the following as a guide when selecting an update type: - **Major**: Use for architectural changes, significant new functionality, or updates that change how the application behaves for end-users. - **Minor**: Use for improvements that add capability while keeping existing functionality intact. - **Patch**: Use for bug fixes and small corrections that do not add new functionality. --- **Changelog** | Date | Change | | --- | --- | | 2026-10-20 | Aligned the irreversible-action notice wording with the other versioning articles. | | 2026-10-13 | The Private Smart Components warning now names the app and each component it kept. | | 2026-10-09 | Added the Private Smart Components section: what publishing updates and when a component keeps its previous definition. | | 2026-09-09 | Updated for the checkout pill's Versioned Actions fly-out. | | 2026-09-08 | Noted that the version name displays wherever a version is chosen. | | 2026-08-25 | Updated to Manage Versions dialog flow; added Settings2 icon; replaced "toast" with "message"; removed See Also intro; renamed from Publishing Branches. | | 2026-07-17 | Added pill image and inline icons; editorial pass. | | 2026-07-15 | Initial publication. | Semantic HTML uses HTML elements to clearly describe their meaning, rather than just their appearance, to structure web content for better readability and accessibility for both humans and machines. End-users, also known as Express Users, are the individuals accessing an application through Express View. In most cases, end-users are the customers using the product. A string is an object that represents a sequence of characters. Strings typically hold data represented in text form.