# Versioning Policy

This page explains how CabFare Connect API versions are numbered, what counts as a breaking change, and how long older versions are supported.

## Version numbers

Versions use three numbers: **MAJOR.MINOR.PATCH**, for example `0.5.0`.

| Part | Changes when | Your integration |
| --- | --- | --- |
| **PATCH** (0.5.**1**) | Documentation fixes or corrections. No API change. | No action needed. |
| **MINOR** (0.**6**.0) | New endpoints, new optional fields or new values are added. | Keeps working. Adopt new features when you need them. |
| **MAJOR** (**1**.0.0) | A breaking change is made (see below). | Must be updated before the old version's support ends. |

Versions starting with `0.` are pre-release. The API may still change between minor versions while CabFare Connect and its first partners complete integration. Any breaking change in a `0.x` release is marked **Breaking** in the [Changelog](https://docs.cabfare.com/api/changelog).

## Breaking and non-breaking changes

**Breaking changes** (new MAJOR version):

- Removing or renaming an endpoint, field or header
- Making an optional field required, or adding a new required field
- Changing a field's type or format
- Changing authentication requirements

**Non-breaking changes** (MINOR version):

- Adding an endpoint
- Adding an optional request field or a new response field
- Adding a new value to a list of values

> **Build for additions:** Your integration should ignore response fields it does not recognise and accept unknown values in lists such as `reason` or `status`. This keeps your integration working as the API grows.

## Support period

When a new MAJOR version is released, the previous MAJOR version is supported for **12 months**. During that time:

- The old version keeps working in the sandbox and in production.
- Its documentation stays available from the version menu at the top of every page, with a banner showing its end-of-support date.
- Only critical fixes are made to it.

After 12 months the old version is retired.

## How you will be told

- Every change is listed in the [Changelog](https://docs.cabfare.com/api/changelog).
- Before a MAJOR version is released, CabFare will contact your integration team with the changes, the release date and the end-of-support date for the old version.

Questions about versions: [support@cabfare.com](mailto:support@cabfare.com).

---
Source: https://docs.cabfare.com/api/versioning
