规范(二):版本规范和 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

相关文章
|
Kubernetes Cloud Native 容灾
OpenKruise v1.6 版本解读:增强多域管理能力
OpenKruise 在 2024.3 发布了最新的 v1.6 版本(ChangeLog),本文对新版本的核心特性做整体介绍。
165216 7
|
Ubuntu 开发工具
Ubuntu更换阿里云软件源
Ubuntu更换阿里云软件源
141210 0
|
9月前
|
存储 Go 开发工具
Gitblit的基本操作和技巧
通过本文的介绍,您可以掌握 Gitblit 的基本操作和管理技巧,提升团队协作效率,实现更加高效的代码管理和版本控制。
678 11
|
JavaScript
cnpm 的安装与使用
本文介绍了npm和cnpm的概念、安装nodejs的步骤,以及cnpm的安装和使用方法,提供了通过配置npm使用中国镜像源来加速包下载的替代方案,并说明了如何恢复npm默认仓库地址。
cnpm 的安装与使用
|
存储 消息中间件 JSON
DDD基础教程:一文带你读懂DDD分层架构
DDD基础教程:一文带你读懂DDD分层架构
|
算法 Unix Java
Zlib和Zstd 性能对比评测
Zlib和Zstd 性能对比评测
1725 0
|
JSON Unix 数据格式
docker权限不足Got permission denied while trying to connect to the Docker daemon socket at unix:///var/r
docker权限不足Got permission denied while trying to connect to the Docker daemon socket at unix:///var/r
2489 0
|
Ubuntu
蓝易云 - 解决ubuntu文件系统变成只读的方法
请注意,上述操作可能会导致数据丢失,所以在操作前最好备份重要数据。如果问题依然存在,可能需要考虑更深入的系统诊断或者重装系统。
587 1
|
存储 算法 Java
Android 进阶——代码插桩必知必会&ASM7字节码操作
Android 进阶——代码插桩必知必会&ASM7字节码操作
983 0
|
计算机视觉
vue3图片上传---vant
vue3图片上传---vant
345 0