---
title: Creating a Release
description: Check the step-by-step guide to create a release
documentId: ipaas-flow-release
locale: en-US
---

<Callout type="tip" title="NEW">
The integration deployment process now involves creating a _release_, which is essentially a specific version of your integration flow. This functionality allows you to control and manage different versions of your integrations. Creating a _release_ is mandatory before deploying an integration.
</Callout>

After completing the creation of your integration flow, you must:

<Steps>
<Step>
Save the integration flow.
</Step>
<Step>
Create a _release_.
</Step>
<Step>
Deploy the _release_ to a specific environment.
</Step>
</Steps>

**Flow Status**

The integration goes through three stages until deployment, which can be viewed next to **Flow Status** above the canvas:

- **Unsaved**: the flow has been modified but is not saved.
- **Saved**: the flow has been saved but does not have a _release_.
- **Released**: the flow has been saved and has a _release_.

<Callout type="note" title="NOTE">
The _release_ is a kind of snapshot of the integration flow. It is not possible to edit a _release_ after its creation. If you need to make changes, you must create a new _release_.
</Callout>

## Creating a release

To create a _release_ of the integration flow, follow the steps below:

<Steps>
<Step>
Click **RELEASE** in the upper right corner of the screen.
</Step>
<Step>
Select the **Create Release** option (if there are unsaved changes in the integration, this option will be blocked).
</Step>
<Step>
In the modal window that opens, enter the description in the corresponding field. The _release_ number loads automatically.
</Step>
<Step>
Click **CREATE AND DEPLOY** to create the _release_ and be directed to the deployment screen, or click **CREATE** to only create the _release_.
</Step>
</Steps>

## Viewing release history

To view the integration flow _release_ history:

<Steps>
<Step>
Click **RELEASE** in the upper right corner of the screen.
</Step>
<Step>
Select the **Release History** option.
</Step>
</Steps>

You will see a list with all created _releases_, including the following information:

* The _release_ version number with an indication of those that are deployed.
* The username of who created the _release_.
* The _release_ description.
* The _release_ creation date.

In the "Actions" column, you can click the eye icon to see the _release_ details or the trash icon to delete it.

<Callout type="note" title="NOTE">
You can deploy the same _release_ in the _Staging_ and _Production_ environments simultaneously.
</Callout>

## Viewing and restoring a release

To view a _release_, click **Release** > **Release History**. Then click the eye icon in the "Actions" column on the corresponding release line.

When opening a _release_, the **View Only** label appears at the top of the screen. This indicates that you are viewing a specific version of the flow in read-only mode and cannot directly change the _release_.

You can switch between the **Diagram** and **Source Code** tabs to explore the _release_:

**Diagram tab (read mode)**:

* _Steps_ configuration forms with defined parameters and values.
* Existing subflows.
* Direct type routes.
* _Resources_ files linked to the flow version.
* Variables (_flow variables_) and their settings in that _release_.

**Source Code tab (read mode)**:

* Complete integration script in CAMEL YAML DSL format.
* Associated _resources_ files and variables.

To restore the release, click **RESTORE RELEASE**.

After restoration, the flow will have the **Unsaved** status, allowing you to edit the integration again and create a new _release_.

<Callout type="important" title="IMPORTANT">
If there are unsaved changes in the current flow, they will be lost when restoring the _release_.
</Callout>

## Deleting a release

To delete a _release_, click **Release History** and then the trash icon in the "Actions" column.

You can only delete _releases_ that are **not** deployed.

<Callout type="important" title="IMPORTANT">
When deleting an integration flow that has created _releases_, all _releases_ associated with the flow will be deleted. It is not possible to delete _releases_ from flows that have at least one _release_ with deployment history.
</Callout>
