# Versioning

System versioning allows builders to maintain multiple versions of a single system. A new draft version can be created by clicking the Create New Version button located next to the system name on the System Overview page.

{% hint style="info" %}
Only one draft version can be maintained at a time.
{% endhint %}

Draft versions are not visible to end users. A version becomes visible only after it is published. Once a system version is published, it cannot be edited.

When a new version is created, it clones information from the latest version, including:

* System Information
* Builder Credentials
* System APIs

Users can switch between system versions using the version dropdown on the System Overview page.

{% hint style="info" %}
During draft version changes, if updates are required for an existing API, kindly apply the changes directly to the existing API. Do not delete or create a new API for the same functionality, as it will break version tracking and disrupt the upgrade process.
{% endhint %}

In the version listing, each system version is labeled with a status flag such as:

* Latest Version
* Currently Used Version
* Deprecated Version

{% hint style="warning" %}
Cloning of System Builder credentials is restricted when creating a new system version. This prevents potential conflicts that may arise if fields in the system credentials section are modified.
{% endhint %}

## **Deprecate A Version**

Builders can deprecate a published version using the Action icon in the Version History tab.

Even after deprecation:

* The system remains usable, but a warning message will be displayed.
* Workflows using the deprecated version will continue to function without any issues.

{% hint style="danger" %}
Deleting a version is not currently supported.
{% endhint %}

## Publish System

The Publish option is available under the Version History tab. Here, builders can find the Test and Publish button to initiate the system version publishing process.

If the Test and Publish button is disabled, please ensure that all changes in the version have been saved.

Once the Test and Publish option is clicked, a pop-up will appear requesting the following version-related details:

* **Version Number**\
  A unique identifier to differentiate the system version.
  * Examples
    * 2.4.0 (Magento)
    * 2025-04 (Shopify)
    * v2 (Bigcommerce)
* **Recommended Version**\
  If set to Yes, this version will be shown by default when adding the system.
* **Recommended Release Type**\
  Determines how the version will be upgraded.
  * **Manual** (default): The user must manually upgrade the version.
  * **Automatic**: The version is automatically upgraded after publishing.

{% hint style="info" %}
Automatic upgrade is not currently supported. It will be available in a future update
{% endhint %}

* **Release Notes**\
  Builders should provide release notes or changelogs describing the changes made in this version.

After filling in the details, Builders must validate the system version by clicking the Test Connection button. Valid dynamic credentials or builder credentials must be provided to successfully publish the system.

{% hint style="success" %}
Only one version can be marked as the Recommended Version.
{% endhint %}

If a new version is set as recommended, the previously recommended version will be automatically updated to No.


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://docs.dckapintegrator.com/project-manager/systems-builder/versioning.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
