跳到主要内容

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,我们决定不采用滑动窗口的支持版本。相反,我们选择仅支持最新版本。做出此决定有以下几个原因

  1. 这实际上是 conda 一直在做的事情。在 conda 的历史中,极少为旧版本的 conda 发布错误修复或安全补丁,现行政策一直是要求用户升级到最新版本。
  2. 用户更新 conda 相对容易,因此强烈建议定期更新。
  3. 在任何时间点支持多个版本都是繁重的、耗时的,并且会分散维护人员本可以专注于其他有价值的工作的精力。

替代方案

  • 无限期支持所有 conda 版本:对于我们的社区利益相关者来说,不可持续也不切实际。
  • 支持滑动窗口的版本:对于我们的社区利益相关者来说,同样不可持续也不切实际。

决议

这是一次标准的、未超时的投票。

本次投票已达到法定人数(10 + 0 = 10,至少占 14 的 60%)。

由于记录了 10 票“赞成”和 0 票“反对”,得票率为 10/10,大于 14 的 60%,因此也已通过。

参考

有用的网站和文章

所有 CEP 均明确采用 CC0 1.0 Universal 许可。