> ## Documentation Index
> Fetch the complete documentation index at: https://www.activepieces.com/docs/llms.txt
> Use this file to discover all available pages before exploring further.

# Project Releases

> Learn how to manage and deploy releases across projects

Project Releases allow you to sync flows, connections, and tables between different projects—essential for teams that want to develop in one environment and deploy to another with confidence.

<Tip>
  **Example:** Build and test your automations in a **Staging** project, then seamlessly promote them to **Production** when ready. Simply navigate to your Production project → **Releases** → create a release from Staging, and all your changes will be applied instantly.
</Tip>

## Overview

There are three ways to create a release:

| Source       | Description                                      |
| ------------ | ------------------------------------------------ |
| **Git**      | Pull changes from a connected Git repository     |
| **Project**  | Copy flows from another project in your instance |
| **Rollback** | Restore a previous release state                 |

## Prerequisites

### Enabling Environments

In your project dashboard, go to settings then to Environments and hit the enable button.

<img src="https://mintcdn.com/activepieces/HfEX6NmvKT3DcQHg/resources/screenshots/enable-environments-1.png?fit=max&auto=format&n=HfEX6NmvKT3DcQHg&q=85&s=1cd45275fae502e5ec17d9c70481d04b" alt="Enable Environments" width="1410" height="897" data-path="resources/screenshots/enable-environments-1.png" />

<img src="https://mintcdn.com/activepieces/HfEX6NmvKT3DcQHg/resources/screenshots/enable-environments-2.png?fit=max&auto=format&n=HfEX6NmvKT3DcQHg&q=85&s=cab8a5f97a6193444d15336844262b18" alt="Enable Environments" width="1420" height="900" data-path="resources/screenshots/enable-environments-2.png" />

## Getting Started

Navigate to the **Releases** page from your project sidebar to view all releases and create new ones.

<img src="https://mintcdn.com/activepieces/HfEX6NmvKT3DcQHg/resources/screenshots/project-releases-page.png?fit=max&auto=format&n=HfEX6NmvKT3DcQHg&q=85&s=8d4f1f4b54fff8af85717ffde2b5a912" alt="Project Releases Page" width="1063" height="672" data-path="resources/screenshots/project-releases-page.png" />

## Connecting Git (Optional)

If you want to use Git to track your changes, you'll need to connect a Git repository first. This requires the Environments feature to be enabled.

## Creating a Release

### From Project

Apply changes from flows, connections and tables in one project to another.

<Steps>
  <Step title="Open Create Release Menu">
    Click the **Create Release** dropdown button.
  </Step>

  <Step title="Select From Project">
    Choose **From Project** from the dropdown menu.
  </Step>

  <Step title="Select Source Project">
    Choose the project you want to copy flows, connections and tables from.
  </Step>

  <Step title="Review and Apply">
    Review the changes, and click **Apply Changes**.
  </Step>
</Steps>

<img src="https://mintcdn.com/activepieces/43FONS7ax8WC7q2h/resources/screenshots/create-release-from-project-1.png?fit=max&auto=format&n=43FONS7ax8WC7q2h&q=85&s=52cf75eef7ea0e510f0c8a0ead7da023" alt="Create Release from Project" width="1061" height="675" data-path="resources/screenshots/create-release-from-project-1.png" />

<img src="https://mintcdn.com/activepieces/43FONS7ax8WC7q2h/resources/screenshots/create-release-from-project-2.png?fit=max&auto=format&n=43FONS7ax8WC7q2h&q=85&s=4dde7a456b064892dc74ab04c2272992" alt="Create Release from Project" width="1057" height="667" data-path="resources/screenshots/create-release-from-project-2.png" />

<Warning>
  New connections created during a release are placeholders and need to be reconnected with valid credentials after the release is applied.
</Warning>

### From Git

<Steps>
  <Step title="Open Create Release Menu">
    Click the **Create Release** dropdown button.
  </Step>

  <Step title="Select From Git">
    Choose **From Git** from the dropdown menu.
  </Step>

  <Step title="Review Changes">
    A dialog will appear showing all the changes that will be applied:

    * **Flows Changes**: New, updated, or deleted flows
    * **Connections Changes**: New or renamed connections
    * **Tables Changes**: New, updated, or deleted tables
  </Step>

  <Step title="Select Changes">
    Check or uncheck the flows you want to include in this release.
  </Step>

  <Step title="Add Release Details">
    Enter a **Name** and optional **Description** for your release.
  </Step>

  <Step title="Apply Changes">
    Click **Apply Changes** to create the release.
  </Step>
</Steps>

<img src="https://mintcdn.com/activepieces/43FONS7ax8WC7q2h/resources/screenshots/create-git-release.png?fit=max&auto=format&n=43FONS7ax8WC7q2h&q=85&s=a4582d90ec24e472da9137f2ab3becab" alt="Create Release from Git" width="1409" height="889" data-path="resources/screenshots/create-git-release.png" />

## Push Everything to Git

If your project is connected to a Git repository, you can push all your flows, connections, and tables to Git.

<Steps>
  <Step title="Click Push Everything">
    Click the **Push Everything** button on the releases page.
  </Step>

  <Step title="Enter Commit Message">
    Write a descriptive commit message explaining your changes.
  </Step>

  <Step title="Push">
    Click **Push** to send all published flows to the Git repository.
  </Step>
</Steps>

<img src="https://mintcdn.com/activepieces/HfEX6NmvKT3DcQHg/resources/screenshots/push-everything-to-git.png?fit=max&auto=format&n=HfEX6NmvKT3DcQHg&q=85&s=e19de434abef093657c78b2044e66488" alt="Push Everything to Git Dialog" width="1403" height="894" data-path="resources/screenshots/push-everything-to-git.png" />

## Pushing Individual Flows or Tables

You can also push specific flows or tables to Git without pushing everything.

<Warning>
  You can only push published flows to git
</Warning>

<Steps>
  <Step title="Select Items">
    Navigate to your flows or tables and select the items you want to push.
  </Step>

  <Step title="Open Push Dialog">
    Click the **Push to Git** option.
  </Step>

  <Step title="Enter Commit Message">
    Provide a commit message describing what you're pushing.
  </Step>

  <Step title="Push">
    Click **Push** to send the selected items to Git.
  </Step>
</Steps>

<img src="https://mintcdn.com/activepieces/HfEX6NmvKT3DcQHg/resources/screenshots/push-flows-to-git-1.png?fit=max&auto=format&n=HfEX6NmvKT3DcQHg&q=85&s=98b774cdafada21fef0603bc45d27869" alt="Push to Git Dialog" width="1412" height="892" data-path="resources/screenshots/push-flows-to-git-1.png" />

<img src="https://mintcdn.com/activepieces/HfEX6NmvKT3DcQHg/resources/screenshots/push-flows-to-git-2.png?fit=max&auto=format&n=HfEX6NmvKT3DcQHg&q=85&s=87945284e4ecea4a7c14b2389cb8ae7b" alt="Push to Git Dialog" width="1059" height="670" data-path="resources/screenshots/push-flows-to-git-2.png" />

## Rolling Back a Release

If something goes wrong after applying a release, you can easily rollback to a previous state.

<Steps>
  <Step title="Find the Release">
    Locate the release you want to rollback to in the releases list.
  </Step>

  <Step title="Click Rollback">
    Click the rollback icon (↩) next to the release.
  </Step>

  <Step title="Review Changes">
    Review the changes that will be applied to restore that release state.
  </Step>

  <Step title="Apply Rollback">
    Select the changes to include and click **Apply Changes**.
  </Step>
</Steps>

<img src="https://mintcdn.com/activepieces/HfEX6NmvKT3DcQHg/resources/screenshots/rollback-release.png?fit=max&auto=format&n=HfEX6NmvKT3DcQHg&q=85&s=014b599b2164257c1cd267686edb57c7" alt="Rollback Release" width="1409" height="891" data-path="resources/screenshots/rollback-release.png" />

## Release Details

Each release in the list shows:

| Column          | Description                                             |
| --------------- | ------------------------------------------------------- |
| **Name**        | The name you gave the release                           |
| **Source**      | Where the release came from (Git, Project, or Rollback) |
| **Imported At** | When the release was created                            |
| **Imported By** | The user who created the release                        |

Click on any release to view its full details.

<img src="https://mintcdn.com/activepieces/HfEX6NmvKT3DcQHg/resources/screenshots/release-details.png?fit=max&auto=format&n=HfEX6NmvKT3DcQHg&q=85&s=91d8979fe0bf13121571a62be348ce01" alt="Release Details" width="1416" height="895" data-path="resources/screenshots/release-details.png" />

## Understanding the Changes Preview

When creating a release, you'll see a preview of all changes:

### Flow Changes

* New flows that will be created
* Existing flows that will be updated
* Flows that will be deleted

### Connection Changes

* New connections are placeholders and must be reconnected after the release
* Renamed connections

### Table Changes

* New, updated, and deleted tables are shown with their respective indicators

## Best Practices

<CardGroup cols={2}>
  <Card title="Use Descriptive Names" icon="tag">
    Give your releases meaningful names like "v1.2.0 - Added email notifications" to easily identify them later.
  </Card>

  <Card title="Review Before Applying" icon="eye">
    Always review the changes preview carefully before applying a release to avoid unexpected modifications.
  </Card>

  <Card title="Test in Development" icon="flask">
    If using Git sync, test changes in a development project before deploying to production.
  </Card>

  <Card title="Document Changes" icon="file-lines">
    Use the description field to document what changed and why for future reference.
  </Card>
</CardGroup>

## Permissions

To create and manage releases, you need the **Write Project Release** permission. Contact your instance administrator if you don't have access to the releases feature.

## Troubleshooting

<AccordionGroup>
  <Accordion title="Environment settings are locked">
    The Environments feature must be enabled on your instance plan to use Git sync. Contact your instance administrator to upgrade your plan or enable this feature.
  </Accordion>

  <Accordion title="Git connection fails">
    * Verify your SSH private key is correctly formatted (ends with an endline), and make sure it has an empty phrase.
    * Ensure the remote URL is in SSH format (not HTTPS)
    * Check that the branch exists in the repository
  </Accordion>

  <Accordion title="No changes detected">
    If no changes appear when creating a release, it means your current project is already in sync with the source.
  </Accordion>

  <Accordion title="Connection placeholders">
    After applying a release with new connections, navigate to the Connections page and reconnect them with valid credentials.
  </Accordion>

  <Accordion title="Push Everything button not visible">
    Make sure you configured your git settings and if you are selecting flows, make sure they are published.
  </Accordion>

  <Accordion title="Cannot find Environment settings">
    Navigate to **Project Settings** from the sidebar, then click on **Environment**. If you don't see this option, the Environments feature may not be enabled for your instance.
  </Accordion>
</AccordionGroup>
