版本号
前言:为了防止升级依赖包后发生 API 不兼容等情况,需要对包版本号的定义,以及对包版本号的引用写法进行规范。
定义:版本号的定义主要出现于 npm 包 package.json 的 version 字段中,其他可能出现版本号的场景也可遵循此定义规范,如 Gitlab 的 daily 分支名等。
规范: 版本号命名格式:<major>.<minor>.<patch>
。即使用三位非负整数,以点号 . 连接。
<major>
:主版本号,俗称大版本升级。改动到主版本号时,标志着 API 发生了巨大变化,包括但不限于新增特性、修改机制、删除功能,一般不兼容上一个主版本号。<minor>
:次版本号,俗称小版本升级。当我们进行常规的新增或修改功能时,改动次版本号,但是必须是向前兼容的。这意味着不能直接删除某个功能。如若必要,我们可以在 [changelog][spec-changelog] 中标记某项功能为「即将删除(Deprecated)」,然后在下一个大版本中将其彻底删除。<patch>
:修订号,俗称 bug 修复,如果仅仅为了修复或调整一些小问题,我们就只改动修订号。
其他注意事项:
- 版本号前不要加 v。
- 不要在数字前补 0。错误示例:01.12.0