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

# Stability and deprecation

> What stable, experimental, and deprecated mean for the v3 API and how changes are announced

Every operation, type, field, argument, and enum value in the v3 API is in one
of three states. The reference shows the state of each.

| State | What you can rely on |
| - | - |
| **Stable** | Redo avoids breaking changes. Anything without a marker is stable. |
| **Experimental** | Works and is supported, but may change or be removed at any time. You opt in with `@experimental`. |
| **Deprecated** | Still works. Marked `@deprecated` in the schema with a reason that says what to use instead. |

## Stable

Changes to a stable member are additive. Redo adds fields, arguments, and
operations, and does not remove, rename, or retype a stable member. A stable
field keeps its meaning: its unit, grain, and default stay as documented. When
the meaning has to change, Redo adds a new field and deprecates the old one.

There is no fixed release schedule. The v3 schema changes continuously, and
every change is listed in the [changelog](https://developers.redo.com/docs/api-reference/v3/changelog.md).
Subscribe to its RSS feed to follow along.

## Experimental

Experimental members can have breaking changes, including removal. Redo does
not promise notice or a deprecation period for them. To use one, add
`@experimental` to your query, as described in
[Experimental fields](https://developers.redo.com/docs/api-reference/v3/experimental.md).

An experimental member is either promoted to stable or removed. Once it is
stable it follows the rules above, and your existing queries keep working.

## Deprecated

A deprecated member keeps working. Its `@deprecated` reason names the
replacement. Redo announces each deprecation in the
[changelog](https://developers.redo.com/docs/api-reference/v3/changelog.md) with a **Deprecated** tag, and
announces a removal there with a **Removed** tag.

Redo does not publish a fixed removal date for deprecated members. Move to the
replacement when you can, and watch the changelog for removal notices.

To find deprecated members you use, run your queries against the
[schema endpoint](https://developers.redo.com/docs/api-reference/v3/introduction.md#introspection) with a
client that reports deprecated fields, such as `graphql-codegen` or an editor
plugin for GraphQL.


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