Skip to main content
Cockroach Labs exposes various application programming interfaces (APIs). The vast majority of changes to these interfaces are seamless additions of new functionality. However, some changes are backward-incompatible and may require you to adjust your integration. Changes to an API are introduced according to its support policy. This page includes the following information:

Support policies

Backward-incompatible changes to stable APIs are highlighted in the for major CockroachDB versions. Users are asked to consider backward-incompatible changes before upgrading to a new CockroachDB version.

Backward-incompatible changes

A change is backward-incompatible when existing automation requires an update in order to continue working. These changes are also known as “breaking changes”:
  • Removal or renaming of an endpoint, , , or session variable.
  • Removal or renaming of a SQL statement or syntax.
  • Addition, removal, or renaming of a mandatory command-line flag or HTTP field.
  • Removal or renaming of an optional command-line flag or HTTP field.
  • Change in behavior of a without fixing a bug or PostgreSQL incompatibility.
  • Removal or renaming of possible values in an ENUM session variable or .
  • Change in non-interactive shell input or output.
  • Change in behavior of a type, including the it is emitted on.
  • Renaming of a type or payload field.

Backward-compatible changes

A change is backward-compatible when existing automation continues to work without updates. The following list is not exhaustive:
  • Addition of an optional command-line flag or HTTP field.
  • Removal or change of any functionality documented as Preview or otherwise not fully supported.
  • Marking functionality as deprecated via in-line documentation, hints, or warnings without removing it altogether.
  • Addition or removal of a metric.
  • Addition of a structured log event type or payload field.
  • Addition of a new .

Versioning

A stable API may be assigned a new version number in two situations:
  • When changes are introduced to the API.
  • When a new CockroachDB version is released.

APIs

A mixed API includes both stable and unstable features.

See also