Skip to main content
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.

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. 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. 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 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 with a client that reports deprecated fields, such as graphql-codegen or an editor plugin for GraphQL.