主要观点:过去几年有很多“SemVer 批判”文章,通常聚焦于 SemVer 应如何被库作者使用或对库消费者的作用,而作者认为这些不是最有用的视角,建议以“SemVer 不是关于你”为框架来研究。SemVer 的真正价值在于管理传递依赖,解决依赖库版本冲突问题,如应用使用不同版本的trees库,可通过统一传递依赖来选择单一版本。库维护者决定版本号时应考虑传递依赖,而不是直接依赖者,新的 major 版本可能导致应用中出现两份库,影响依赖关系。同时提到对 SemVer 的两个有趣扩展,一是认为工具运行只需两个版本号,二是许多项目遵循“弃用而非删除周期”,但目前仍未形成普遍使用的模式。
关键信息:SemVer 用于管理传递依赖,解决依赖库版本冲突;库维护者要考虑传递依赖;对 SemVer 有两个扩展观点
重要细节:应用和库可应用 SemVer,文中主要关注库的情况;不同版本的apples和oranges库可能依赖不同版本的trees库,有两种处理方式;SemVer 规定 major 版本号改变时不进行统一,不改变时可统一;介绍了对 SemVer 的两个扩展,如只需两个版本号及“弃用而非删除周期”;以日志级别为例说明描述主义方法。
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用。你还可以使用@来通知其他用户。