# Совместимость {#compatibility}

Интерфейс командной строки Tuist взаимодействует с сервером Tuist для таких возможностей, как кэш, аналитика сборок и тестов, превью и реестр. Сервер обновляется непрерывно и независимо от того, когда вы обновляете CLI, поэтому изменения на сервере не должны нарушать работу используемой вами версии CLI. Чтобы гарантировать это, сервер сохраняет совместимость с недавними выпусками CLI в течение определённого периода.

## Период поддержки {#support-window}

Сервер Tuist поддерживает выпуски CLI за **последние 3 месяца**. В течение этого периода сервер сохраняет обратную совместимость: любой CLI, выпущенный за последние 3 месяца, продолжает выполнять сборку, кэширование и запуск тестов через сервер, и вы можете обновлять CLI по своему графику без риска поломки из-за изменений на сервере.

CLI следует [семантическому версионированию](https://semver.org). Поддерживаются любые выпуски, опубликованные за последние 3 месяца.

## За пределами периода поддержки {#outside-the-window}

Выпуски CLI старше периода поддержки считаются устаревшими. Сервер всё ещё отвечает, но:

- Новые возможности на стороне сервера могут не работать с этой версией.
- Команды, использующие сервер, могут выводить предупреждение с предложением обновиться.

Поведение устаревших версий не гарантировано. Если вы используете такую версию, обновитесь до выпуска, входящего в период поддержки.

## Как мы выполняем обещание {#how-we-keep-the-promise}

Обратная совместимость проверяется, а не предполагается. Каждое развёртывание сервера запускает автоматизированный приёмочный тест против **самой старой версии CLI, всё ещё входящей в период поддержки**, которой сейчас является `4.150.0`, полностью проверяя путь получения данных из кэша. Если изменение может сломать эту версию, развёртывание блокируется до попадания в продакшен. Это выполняется параллельно с тестами против последней версии CLI, поэтому регрессии для старых клиентов обнаруживаются так же, как и для новейших.

## Рекомендация {#recommendation}

Обновляйте CLI как минимум раз в 3 месяца, чтобы оставаться в пределах поддерживаемого периода. Фиксация версии CLI в CI и её регулярное обновление позволяют вашей команде использовать стабильный поддерживаемый выпуск.
