> For the complete documentation index, see [llms.txt](https://docs.baas.sh/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.baas.sh/baas-console/contracts/versions-and-rollback.md).

# Versions and rollback

Browse the versions of a contract class, open any ABI inline, and roll the latest one back.

Change a contract's ABI and its class gains a version. Expanding a class shows the latest one, and keeps the earlier ones one click away.

{% hint style="info" %}
**Each version keeps its own** [**mappings**](/baas-console/contracts/mappings.md) **and** [**units**](/baas-console/contracts/units.md)**.** Rolling back restores the previous set unchanged.
{% endhint %}

## The version list

The latest version sits right under the class, showing its short id and three counts: the functions its ABI declares, the deployments running it, and the mappings it carries. An **ABI** button opens the full JSON inline.

Earlier versions live under **Previous ABI versions**, which counts them and appears as soon as a class has a second one. Each of those rows carries a **Mappings** button, which opens what that version keeps.

A new version comes from [pushing a new ABI](/baas-console/contracts/register-a-contract.md#push-a-new-abi-version).

## Roll back the latest version

Only the latest version can be rolled back, from the **Delete this version** button on its row; the confirmation is titled **Delete version**. When it is also the only version, the class goes with it, and the confirmation says so before you agree.

Rolling back removes the version and its deployments, along with everything BaaS built from them: the events it decoded, and the values it kept for your project and for your users. When an earlier version remains, it becomes the latest again, with its own mappings and units.

{% hint style="warning" %}
**Rollback deletes for good.** Registering the same address again gives you a new deployment with an empty history, since BaaS only reads from that point on.
{% endhint %}

## When rollback is blocked

Active or not, an [automation](/baas-console/automations.md) monitoring one of the version's deployments blocks the rollback. Point its monitor elsewhere, or delete that automation, then roll back.

## Next

* [Register a contract](/baas-console/contracts/register-a-contract.md): push a new version, or add a deployment.
* [Mappings](/baas-console/contracts/mappings.md): see what a version keeps for you.
* [Explorer](/baas-console/contracts/explorer.md): browse what BaaS holds for a deployment today.
