# 兼容性 {#compatibility}

Tuist CLI 会与 Tuist 服务器通信，以使用缓存、构建和测试洞察、预览以及注册表等功能。服务器持续独立交付，不受你升级 CLI 的时间影响，因此服务器变更不得破坏你正在运行的 CLI 版本。为确保这一点，服务器会在既定时间窗口内保持与近期 CLI 版本的兼容性。

## 支持窗口 {#support-window}

Tuist 服务器支持 **最近 3 个月** 内发布的 CLI 版本。在该窗口期内，服务器保持向后兼容：过去 3 个月内发布的任何 CLI 版本都能继续针对服务器进行构建、缓存和运行测试，你可以按自己的节奏升级 CLI，而不会因服务器变更导致中断。

CLI 遵循 [语义化版本控制](https://semver.org)。支持最近 3 个月内发布的任何版本。

## 超出窗口期 {#outside-the-window}

超出支持窗口的 CLI 版本被视为已弃用。服务器仍会响应，但：

- 较新的服务器端功能可能无法与该版本配合使用。
- 由服务器支持的命令可能会打印警告，提示你升级。

不保证在已弃用版本上的行为。如果你使用的是此类版本，请升级到支持窗口内的版本。

## 我们如何兑现承诺 {#how-we-keep-the-promise}

向后兼容性经过验证，而非假设。每次服务器部署都会针对 **仍在支持窗口内的最旧 CLI 版本**（当前为 `4.150.0`）运行自动化验收测试，端到端地演练缓存拉取路径。如果某项变更会破坏该版本，部署将在进入生产环境之前被拦截。该测试与针对最新 CLI 的测试并行运行，因此旧客户端的回归问题会与最新客户端的回归问题一样被及时发现。

## 建议 {#recommendation}

至少每 3 个月升级一次 CLI，以保持在支持窗口内。在 CI 中固定 CLI 版本并按固定节奏更新，可确保你的团队始终使用一致且受支持的版本。
