我们刚刚发布了 Hex 1.0.0,与上一个版本 0.21.0 相比没有重大变化,我们很快就会发布 Hex 2.0.0,同样没有重大变化。让我们谈谈为什么我们要这样做,以及 Hex 版本 1.0.0 或 2.0.0 的含义。
包管理器中的向后兼容性非常重要。到目前为止,Hex 在每次发布新版本时都保持与 Elixir 1.0.0 的向后兼容性。这样做的原因是 Hex 需要保持更新才能继续工作,否则证书或 API 更改会导致问题。如果 Hex 在特定 Elixir 版本上停止工作,则实际上意味着该 Elixir 版本对于任何实际开发都将变得不可用。到目前为止,我们一直为 Hex 保持单一开发路线,这意味着新功能和安全修复会应用于同一个分支。
通过发布 Hex 1.0.0,我们承诺在可行的情况下继续支持旧的 Elixir 版本。
但支持旧的 Elixir 版本限制了我们的功能开发,我们无法使用今天我们所依赖的通用 Elixir 结构,例如 with
或任何需要比 1.0.0 更高版本的 Elixir 的依赖项。
Hex 团队打算在 Hex 1.0 发布路线中尽可能长时间地继续支持 Elixir 1.0.0,但 1.0 仅会获得安全修复和使其继续运作至关重要的更改。
我们很快就会发布 Hex 2.0.0,它将不再支持低于 1.5.0 的 Elixir 版本,并获得所有未来的功能开发。除了维护人员的生活质量改进之外,我们还将能够发布一个完全重写的版本求解器和一个新的 HTTP 客户端,这将为用户提供改进的性能和改进,尤其是在速度较慢或不可靠的网络连接下。我们将针对那些接近发布的更改提供更多信息。