Developers

Versioning and deprecation

One contract, additive within /v1, with every release in the changelog.

Additive within /v1

Each release of the contract is a tag (contract-vX.Y.Z), its version in the contract’s info.version; this guide is built from version 0.59.0.

Within /v1 changes are additive only: new routes, new optional fields and new enum values. Ignore fields you do not know, and treat an unknown enum value as “other”.

Breaking changes and deprecation

A breaking change needs /v2 and a deprecation date at least 90 days ahead. A deprecated operation is marked so in the contract and in the tables of this guide until it is removed.

Every release is described in the contract’s changelog: what was added, and anything deprecated or removed.