# Release history

Every release is recorded per site, newest first, with its number, tag, version hash and status.

Every release is recorded for the site, newest first. The `STATUS` column says
what each one is: `live` is the release production is serving, `staged` is one
that exists but hasn't been deployed, and `kept` is a tagged release held back
from retention.

```console title="history"
$ one9x pages releases list --site mysite
SEQ  VERSION           TAG    WHEN     STATUS
v9   sha256:5c1904ab          2m ago   staged
v8   sha256:9f2a1b3c   prod   1h ago   live
v7   sha256:41de88a0          3h ago
v6   sha256:aa03f1cc   rc1    1d ago   kept
```

## Version ids

A version id is the content hash of that release's manifest. The release number
(`v8`) and any tag are the friendlier way to refer to it; the hash is there when
you want to be certain which bytes you mean, and a prefix of it works anywhere a
release ref does.

Because it is a hash of the content, it is also the answer to "did anything
actually change?" — two releases with the same version id are the same release,
whatever their numbers say.

## Deleting a release

```console title="delete"
$ one9x pages releases rm v6 --site mysite
✓ removed v6 · tag rc1 freed
```

The live release can't be deleted — deploy another one first. Deleting a tagged
release frees its tag slot, which is the usual reason to do it.