SemVer

SemVerSemantic Versioning(语义化版本控制)的缩写,它是一种版本号命名规则,用于定义软件版本的演进方式。SemVer 的核心思想是通过版本号的不同部分来传达版本之间的变化性质,以确保开发者和用户理解版本升级对软件的影响。

SemVer 的格式是:

MAJOR.MINOR.PATCH

每个部分的含义如下:

  1. MAJOR(主版本号):当你做了不兼容的 API 更改时,增加此版本号。

    • 比如从 1.0.0 升级到 2.0.0,表示引入了与旧版本不兼容的更改。

  2. MINOR(次版本号):当你做了向下兼容的功能性新增时,增加此版本号。

    • 比如从 1.0.0 升级到 1.1.0,表示引入了新功能但与之前版本兼容。

  3. PATCH(修订版本号):当你做了向下兼容的错误修正时,增加此版本号。

    • 比如从 1.0.0 升级到 1.0.1,表示修复了 bug,但未引入新功能或破坏性更改。

其他约定

  • 先行版本(Pre-release):可以用连字符跟在版本号后面标识(如 1.0.0-alpha),用于表示测试版本或尚未完成的版本。

  • 版本元数据(Build Metadata):用加号跟随版本号后标识(如 1.0.0+build123),表示版本的额外信息,通常不会影响版本的排序。

例子

  • 1.0.0:第一个稳定版本。

  • 1.1.0:向下兼容的功能新增。

  • 1.1.1:向下兼容的 bug 修复。

  • 2.0.0:破坏性更新,不向后兼容。

SemVer 的优势在于它为版本号提供了明确的规则,使开发者和用户能够清楚地理解版本更新带来的影响。这对于管理依赖关系和升级库特别有用。

Last updated