跳到主要内容

特性生命周期

本文档旨在明确在不同开发阶段(版本)中,特性和相应 API 的定义和区别。

每个版本都有不同的稳定性、支持时间以及升级到下一级别的不同毕业标准:

Alpha

该特性在后续版本中可能会以不兼容的方式进行更改/升级。

源代码将在发布分支/标签以及二进制文件中提供。

对该特性的支持可能随时停止,恕不另行通知。

该特性可能存在错误。

如果启用该特性,可能会在其他 API/特性中引发错误。

该特性可能未完全实现。

API 版本名称将类似于 v1alpha1、v1alpha2 等。每次升级时,后缀数字将增加 1。

毕业标准

  • 每个特性都将从 alpha 级别开始。
  • 不应破坏其他 API/特性的功能。

Beta

该特性在后续版本中可能不会以不兼容的方式进行更改/升级,但如果以不兼容的方式进行更改,则将提供升级策略。

源代码将在发布分支/标签以及二进制文件中提供。

对该特性的支持不会在未提前 2 个次要版本通知的情况下停止,并且将至少在接下来的 2 个次要版本中存在。

该特性将有少量错误。

如果启用该特性,不会引发其他 API/特性中的错误。

该特性将完全实现。

API 版本名称将类似于 v1beta1、v1beta2 等。每次升级时,后缀数字将增加 1。

毕业标准

  • 应在 e2e 测试中至少有 50% 的覆盖率。
  • 项目同意在至少接下来的 2 个次要版本中支持此特性,并在停止支持前提供至少 2 个次要版本的通知。
  • 特性所有者应承诺确保在后续版本中的向后/向前兼容性。

GA

该特性在接下来的几个版本中不会以不兼容的方式进行更改/升级。

源代码将在发布分支/标签以及二进制文件中提供。

对该特性的支持不会在未提前 4 个次要版本通知的情况下停止,并且将至少在接下来的 4 个次要版本中存在。

该特性将不会存在重大错误,因为它将经过完全测试并进行 e2e 测试。

如果启用该特性,不会引发其他 API/特性中的错误。

该特性将完全实现。

API 版本名称将类似于 v1、v2 等。

毕业标准

  • 应具有完整的 e2e 测试。
  • 代码经过彻底测试,并被报告为非常稳定。
  • 项目将至少在接下来的 4 个次要版本中支持此特性,并在停止支持前提供至少 4 个次要版本的通知。
  • 特性所有者应承诺确保在后续版本中的向后/向前兼容性。
  • 来自 Kmesh 维护者以及使用/交互该特性/API 的特性/API 所有者的共识。