规范(二):版本规范和 Changelog

简介: 规范(二):版本规范和 Changelog

版本规范

说到npm包的版本,就不得不提一个版本, Semantic Versioning 语义化版本

image.png

  • major:主版本,一般代表着Breaking Change,例如vue 1.x 和 vue2.x、webpack4.x和webpack5.x
  • minor:次版本,一般代表着新feature的出现
  • patch:一般不包含新功能,只是bugfix或和功能关系不大的修改
  • pre-release:预发行版本,一般用于正式版发行前的验证、联调和测试。和正式版本号之间用-连接,pre-release不是必须存在的。

    • alpha
    • beta
    • ...
    • rc(release candidate)

大小比较

2.3.2 > 2.2.17 > 2.2.17-beta.1 > 2.2.17-beta.0 > 2.2.17-alpha.1 > 2.2.16

版本范围

// 大于、小于、等于、小于等于
>、<、>=、<=
// - 表示范围,边界可等
- : 1.2.3 - 2.3.4    表示 >=1.2.3 <=2.3.4
// X 表示通配,和各种语言的通配符一样
x : 1.2.x 表示 >=1.2.0   <1.3.0
// ~ 表示限制minor版本的升级
~ : ~1.2.3 表示 >=1.2.3 <1.3.0
// ^ 表示 允许第二个非零的版本的升级
^1.2.3 表示 >=1.2.3 <2.0.0
^0.2.3 表示 >=0.2.3 <0.3.0
^0.0.3 表示 >=0.0.3 <0.0.4

2. Changelog

什么是Changelog?

Changelog是以时间为倒叙的列表,记录所有版本的重大变动。

为什么要有Changelog

为了让我们提供的库和框架的用户了解,每个版本发生了哪些改变,提供多于版本号的信息

vue3的Changelog
image.png

3. 自动化的管理版本和Changelog

release-it

  • 根据git commit 自动生成版本号
  • 自动生成changelog
  • 丰富的hooks用来指定发版逻辑
  • 提供插件机制,高度可扩展性

image.png

相关文章
|
11月前
|
SQL 监控 Java
【开发规范系列】(三)代码提交规范
【开发规范系列】(三)代码提交规范
|
11月前
|
Python
优雅的代码--PEP8规范
优雅的代码--PEP8规范
|
11月前
|
缓存 运维 jenkins
上线操作规范——基础版本
最近团队成员的上线操作让人头疼。几个特别突出的问题: 1、上线准备不足,设计文档中没有体现、也没有考虑到可能的资源依赖,导致临操作了才想起来做资源申请; 2、暗箱操作... 一再要求上线时需要在群内周知,以便前后端、测试、产品共同配合完成,但依然不加理会,总是要主动询问才回复已操作; 3、发布完成就认为上线完成,有时甚至不做基本的校验...
219 0
|
测试技术
包图画法注意规范
包图画法注意规范
|
Go 开发工具 git
一文掌握 godoc的使用与规范
一文掌握 godoc的使用与规范
939 0
rapidio 各版本规范
rapidio 各版本规范
139 0
|
Java 程序员 BI
Java日志格式规范
在程序中写日志是一件非常重要,但是很容易被开发人员忽视的地方。写好程序的日志可以帮助我们大大减轻后期维护压力。 在实际的工作中,开发人员往往迫于巨大时间压力,而写日志又是一个非常繁琐的事情,往往没有引起足够的重视。
862 0
Java日志格式规范
|
运维 JavaScript 开发工具
通过工具来规范代码提交与发布日志
使用https://github.com/conventional-changelog/standard-version和vscode插件”Conventional Commits”工具规范开发人员提交git日志
402 0
通过工具来规范代码提交与发布日志
|
安全 API 开发工具
pkg版本规范管理自动化最佳实践
何为版本?版本即语义版本控制( Semantic version 后面简称为 SemVer )是一种版本控制系统,在过去几年中一直在不断发展。 随着每天都在构建新的插件,插件,扩展和库,拥有通用的软件开发项目版本化方法是一件好事,可以帮助我们跟踪正在发生的事情。
pkg版本规范管理自动化最佳实践
|
C++
C++规范文档
本篇内容记录了C++的命名规范、注释规范。
635 0
C++规范文档