CEP 10 - Conda 版本支持
标题 | Conda 版本支持 |
状态 | 已接受 |
作者 | Travis Hathaway <thathaway@anaconda.com> |
创建日期 | 2022年5月19日 |
更新日期 | 2023年3月23日 |
讨论 | https://github.com/conda-incubator/ceps/pull/25 |
实施 | 不适用 |
摘要
本 CEP 引入了官方版本支持策略,旨在提高关于支持哪些 conda 版本的透明度和确定性。该策略本身声明,仅支持最新发布的 conda 版本。维护者将只专注于新的和当前版本,而不是修补以前的版本。下文将概述其含义以及具体体现。
规范
最新版本的 conda 将是唯一官方支持的 conda 版本。这仅与 conda 项目本身相关(即不包括 conda-build)。这意味着只有在新版本发布后不久才会进行补丁版本发布。例如,如果在发布 conda `23.11.0` 后不久发现并修复了一个错误,则会发布后续的 `23.11.1` 版本。不会为早于当前版本的 conda 版本发布补丁版本。
当用户使用早于当前版本的版本时,我们不保证会为此版本发布补丁。如果在此特定版本中遇到错误,将鼓励用户升级到最新版本。
conda 项目已承诺根据 CEP 9 维护向后兼容性。任何破坏性更改都将提前宣布,并遵循我们已建立的弃用时间表。
动机
本 CEP 的主要动机是明确设定对特定 conda 版本支持时长的预期。我们不期望用户始终运行最新版本的 conda,但我们也不希望给用户留下每个版本的 conda 都会被无限期支持的印象。因此,我们认为有必要通过本 CEP 明确指出将支持哪些版本以及如何支持。这不仅有助于设定用户的期望,还有助于减轻我们的开发工作,因为我们不再需要支持旧版本的 conda。
理由
对于许多项目(更多信息请访问:https://endoflife.date),要么支持最新版本,要么项目对其支持的版本有一个滑动时间窗口。此窗口保证了相关版本将在特定时间内获得支持。对于大多数使用版本窗口的项目,他们还会进一步指定版本老化后将收到的修复类型。
对于 conda,我们决定不采用滑动窗口的支持版本。相反,我们选择仅支持最新版本。做出此决定有以下几个原因
- 这实际上是 conda 一直在做的事情。在 conda 的历史中,极少为旧版本的 conda 发布错误修复或安全补丁,现行政策一直是要求用户升级到最新版本。
- 用户更新 conda 相对容易,因此强烈建议定期更新。
- 在任何时间点支持多个版本都是繁重的、耗时的,并且会分散维护人员本可以专注于其他有价值的工作的精力。
替代方案
- 无限期支持所有 conda 版本:对于我们的社区利益相关者来说,不可持续也不切实际。
- 支持滑动窗口的版本:对于我们的社区利益相关者来说,同样不可持续也不切实际。
决议
这是一次标准的、未超时的投票。
本次投票已达到法定人数(10 + 0 = 10,至少占 14 的 60%)。
由于记录了 10 票“赞成”和 0 票“反对”,得票率为 10/10,大于 14 的 60%,因此也已通过。
参考
有用的网站和文章
- https://endoflife.date
- https://pip.pypa.org.cn/en/latest/development/release-process/#supported-versions
- https://devguide.pythonlang.cn/versions/
版权
所有 CEP 均明确采用 CC0 1.0 Universal 许可。