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

> ## Agent Instructions
> To act on Atlan objects, use the Atlan MCP server at https://api.atlan.com/mcp or the SDK. To install or publish skills from a terminal, use the `aireg` CLI; `aireg --map json` prints its command map. The `atlanai` CLI is deprecated. Run a read-only identity check before any write.
> The docs MCP server at /mcp searches these docs only. It cannot read or change Atlan objects.
> SDK packages: Python `atlanai` (PyPI) and TypeScript `@atlanai/sdk` (npm). Show Python first, then TypeScript.
> These docs cover Atlan AI Registry, Atlan's hosted product. The AI registry specification and aireg CLI are maintained separately. /open-source lists publicly reachable signed installers and explains that the source repository and hosted CLI reference currently require GitHub access. Do not claim the repository or its reference docs are publicly accessible. Use these docs for Atlan-specific setup such as the adapter, sign-in and workspaces.

# How releases work

> How a saved version of a skill, agent, metric, or ontology becomes the one people and agents receive, and how to roll it back.

Saving a change and shipping it are separate steps in AI Registry. Each save writes a new **version**. A **release** picks one version and makes it the one people and agents receive. This lets you keep editing without changing what your team already uses.

Skills, agents, metrics, and ontologies all work this way.

```mermaid theme={null}
flowchart LR
  save["Save a change"] --> version["New version<br/>(the newest saved)"]
  version -- "release" --> release["Release on a channel<br/>(what people and agents get)"]
  release -- "next release" --> superseded["Earlier release<br/>superseded, still pinned"]
  release -- "withdraw" --> withdrawn["Withdrawn<br/>(the previous release returns)"]
```

## Two pointers: newest saved and released

Every skill, agent, metric, or ontology has two pointers, and they can point at different versions:

| Pointer | Means | Who follows it |
| - | - | - |
| **Newest version** | The last version anyone saved. | Search, lists, and the item's page when you edit it. |
| **Current release** | The version that was last shipped on a channel. | Everything that hands the item to a consumer: installing a skill, an agent reading a metric, an agent's context. |

Under automatic publishing the two usually match. Under manual publishing, the newest version can sit unreleased until an owner or workspace administrator releases it.

## Channels

A release lands on a **channel**. Channels belong to your organization, so a channel name means the same thing in every workspace. Every organization has a default channel, `latest`.

When a version has a semantic-version label, the label's prerelease tag picks the channel:

| Version label | Channel |
| - | - |
| `1.2.0` | `latest` |
| `1.2.0-beta.3` | `beta` |
| `2.0.0-alpha.1` | `alpha` |

Release numbers count up for each item, across channels, so "version 4, on beta" tells you where it sits in the item's history.

## Release policy

Each workspace decides how its versions ship. A workspace administrator sets this for each channel:

* **Automatic**: a saved version is released once its required checks pass.
* **Manual**: a saved version waits until its owner or a workspace administrator releases it.
* **Require security checks**: a version can't be released while its security scan is still running. A version its scan blocked can't be released under either setting.

A workspace with no policy of its own publishes automatically. See [Set workspace release policy](/administer/workspaces/how-tos/set-release-policy).

## Release states

| State | Meaning |
| - | - |
| **Pending** | Written and waiting for its checks. It is not served yet. |
| **Released** | Shipped. It is the current release on its channel. |
| **Superseded** | Replaced by a later release on the same channel. It can still be read by its own number, so anything pinned to it keeps working. |
| **Withdrawn** | Taken off distribution on purpose, or discarded before it shipped. The record stays for audit. |

## Roll back

To undo a release, withdraw it. If you withdraw the current release, the newest earlier release whose version is still usable becomes current again. Nothing is deleted: the withdrawn release stays in the history with its reason.

Only an item's owner or a workspace administrator can release, roll back, or withdraw.

## Where to do it

| Item | Release from | Guide |
| - | - | - |
| Skill | The skill's **Source** tab | [Release skill version](/registry/skills/how-tos/release-a-skill) |
| Agent | The agent's page | [How agent versions work](/registry/agents/concepts/versions) |
| Metric | Metrics Studio | [Release metrics](/studios/metrics/how-tos/release-metrics) |
| Ontology | Ontology Studio | [Ontology concepts](/ontology/concepts) |

From the API, `POST /registry/v1/artifacts/{artifact_kind}/{artifact_id}/releases` releases a version, `GET /registry/v1/artifacts/{artifact_kind}/{artifact_id}/channels` lists the current release on each channel, and `POST /registry/v1/releases/{release_id}/withdraw` withdraws one. See the [Public API](/api/references/api-reference).

## Related

* [How skill versions and releases work](/registry/skills/concepts/versions)
* [Set workspace release policy](/administer/workspaces/how-tos/set-release-policy)
* [Glossary](/concepts/glossary)


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.