跳到主要内容

兼容性规则

watchman 自首次编写后几周以来一直在生产环境中使用,因此它一直努力保持跨版本和平台的向后兼容性。

  • 命令和选项永远不会被删除,但可能会添加新的命令和选项。
  • 我们可能会弃用命令和选项并从文档中删除它们,但它们仍然会继续永久工作。
  • 每当命令或选项被弃用时,我们将提供合适的替代方案。
  • 错误修复可能会导致细微的行为变化 -- 这些变化通常会在发行说明中记录。

watchman 遵循 语义化版本

  • 由于其公共 API 永远不会进行不兼容的更改,因此主要版本毫无意义。
  • 虽然过去我们发布过包含三个组件 (x.y.z) 的版本,但从 3.1 版开始,版本号将只有两个有意义的组件 (x.y),第三个组件始终为零。
  • 3.9 之后的版本预计为 4.0。这些版本报告的版本号字符串将分别为 3.9.0 和 4.0.0。

自从 3.8.

watchman 引入了功能来描述新的或可选的功能。 您可以使用扩展版本命令来查询功能,并避免在客户端应用程序中构建版本号知识。

自从 2020 年 5 月

Watchman 在 Facebook 内部持续部署,这意味着我们不会显式维护版本号。有一段时间,我们维护了 GitHub 版本的版本号,但发现开销太大。

从 2020 年开始,我们设置了自动化以根据日期每周发布一个版本; 这比手动管理版本号更接近我们的内部流程。

您会注意到 GitHub 上的标签watchman version 报告的版本都是基于日期的。