CEP 9 - Conda 弃用时间表
标题 | Conda 弃用时间表 |
状态 | 已接受 |
作者 | Ken Odegard <kodegard@anaconda.com>, Jannis Leidel <jleidel@anaconda.com>, Travis Hathaway <thathaway@anaconda.com> |
创建于 | 2022 年 5 月 20 日 |
更新于 | 2022 年 9 月 20 日 |
讨论 | https://github.com/conda-incubator/ceps/pull/27 |
实施 | 不适用 |
摘要
此 CEP 描述了一个弃用时间表,以便正确警告即将从代码库中删除的内容。此政策扩展了Conda 发布时间表 (CEP 8)中定义的想法和术语。
注意 此 CEP 仅适用于已采用Conda 发布时间表 (CEP 8)的项目。
规范
我们提出了一个比Conda 发布时间表 (CEP 8)更慢的弃用时间表。这是为了承认我们多样化的用户群体(例如,从每用户每机器安装到共享集群上的多用户安装的所有内容)。
我们定义了一种新的发布类型,即弃用发布,以扩充常规发布。弃用发布每年在三月和九月发生两次
版本 | 发布类型 |
---|---|
YY.1.0 | 常规 |
YY.2.0 | 可选 |
YY.3.0 | 常规,弃用 |
YY.4.0 | 可选 |
YY.5.0 | 常规 |
YY.6.0 | 可选 |
YY.7.0 | 常规 |
YY.8.0 | 可选 |
YY.9.0 | 常规,弃用 |
YY.10.0 | 可选 |
YY.11.0 | 常规 |
YY.12.0 | 可选 |
所有弃用都需要经历三个 (3) 状态
- 待弃用:当某个功能被标记为将来弃用时
- 任何功能都可以在任何版本中标记为待弃用
- 此状态也是一个评论期,在此期间可能会提出社区关注或争议,请参阅争议弃用
- 已弃用:当某个功能被标记为将来移除时
- 所有已标记为待弃用的功能,在至少经过两 (2+) 个常规发布(在标记为待弃用后 4-9 个月)后,将在下一个弃用发布中重新标记为已弃用
- 此状态被认为是最终状态,弃用将发生,不再可能发生争议,请参阅争议弃用
- 已移除:当某个功能从代码库中移除时
- 所有已弃用的功能将在下一个弃用发布中移除
这将导致以下时间表
有时,代码库的更改可能需要更长的弃用时间表。如果发生这种情况,弃用警告将明确说明正在发生偏差以及预期的计划是什么。
争议弃用
待弃用状态也是一个评论期,在此期间可能会提出对弃用的争议。
要提出争议,请在相关存储库上打开一个 issue,并提供以下详细信息
- 要争议哪个待弃用功能
- 待弃用不应继续进行的详细信息和解释
存储库维护人员有责任参与讨论、解决疑虑或最终撤销待弃用状态。
如果争议陷入僵局,指导委员会必须按照增强提案的标准投票程序对决议进行投票。
动机
此 CEP 将有助于防止下游工具在代码库发展时发生意外中断。
向后兼容性
这是向后兼容的,也将鼓励更好的向后兼容性。
替代方案
- 临时弃用。
- 不可预测且不可靠。
- 在一个版本中标记为待弃用,在下一个版本中标记为已弃用,并在第三个版本中移除。
- 由于生态系统庞大且下游应用程序数量未知而被拒绝,认为速度太快。
决议
本节包含关于此问题的最终决定。
参考
版权
所有 CEP 均明确采用 CC0 1.0 通用。