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

# fjall releases

> List an application's release history and roll back to a previous release's images.

## Overview

Every successful deploy records a **release**: the image tags that went live for each service, the git commit and branch they were built from, and a monotonically increasing release number. `fjall releases` lists that history; `fjall rollback` re-deploys a previous release's exact images.

## Listing Releases

```bash theme={null}
fjall releases <app>
```

Output:

```
  RELEASE   STATUS       COMMIT    BRANCH         AGE          SERVICES
▸ #12       succeeded    ab12cd3   main           2 hours ago  api:v1.4.0-sha-ab12cd3f9e01, worker:…
  #11       succeeded    9f8e7d6   main           1 day ago    api:v1.3.2-sha-9f8e7d6c5b40, worker:…
  #10       succeeded    5a4b3c2   main           3 days ago   api:v1.3.1-sha-5a4b3c2d1e98, worker:… (rollback)

  3 releases (--cursor 10 for more)
```

`▸` marks the release currently live; `(rollback)` marks releases that restored an earlier one.

### Options

| Option                     | Description                                             |
| -------------------------- | ------------------------------------------------------- |
| `--json`                   | Emit JSON to stdout (machine-readable)                  |
| `--limit <n>`              | Maximum releases to return                              |
| `--cursor <releaseNumber>` | Pagination cursor — exclusive upper bound on the number |

## Rolling Back

```bash theme={null}
# Roll back to the release immediately before the current live release
fjall rollback <app>

# Roll back to a specific release
fjall rollback <app> --to 11
```

A rollback re-registers each service's task definition with the target release's **recorded image tags** and rolls the services. It does not rebuild anything and does not touch your infrastructure — it moves the running code back to images that already exist in ECR.

The rollback itself is recorded as a new release pointing at the release it restored, so the history stays linear and auditable.

### Options

| Option                 | Description                                                                                      |
| ---------------------- | ------------------------------------------------------------------------------------------------ |
| `--to <releaseNumber>` | Release number to roll back to (defaults to the release immediately before the current live one) |
| `--skip-confirmation`  | Skip the rollback confirmation prompt                                                            |

<Warning>
  Rolling back restores **code**, not data. If the release you are leaving ran
  database migrations, verify the older code is compatible with the current
  schema before rolling back.
</Warning>

## Related Commands

* [`fjall rollout`](/cli/rollout) — restart running services in place (for rotated secrets), no image change
* [`fjall deploy`](/cli/deploy) — build and deploy a new release
