SemVer计算器
语义版本控制包含五个组成部分:主版本号、次版本号、修订号,以及可选的后缀 -prerelease 和 +build。该计算器可接收版本字符串,依据 semver 2.0.0 的语法规范进行验证,将其拆分为各个组成部分,并并排显示下一个主版本、次版本、修订版本和预发布版本(-rc.1)。
如何升级版本
-
1
粘贴当前版本
支持 `1.2.3`、`1.2.3-rc.1`、`2.0.0-alpha+exp.sha.5114f85` 及其他 semver 2.0.0 格式。
-
2
查看解析出的各部分
该工具将字符串拆分为主版本号、次版本号、修订号、预发布版本和构建元数据,方便您确认它是否按预期解析。
-
3
比较接下来的版本
它同时显示下一个主版本、次版本和修订版本,以及一个预发布候选版本(`-rc.1`)。升级次版本会将修订号重置为 0;升级主版本会同时重置次版本号和修订号。
-
4
复制新版本
选择适合你改动的版本,并将其用于你的 `package.json`、`Cargo.toml`、git 标签或版本说明中。
该计算器显示的内容
对于像 1.2.3 这样的版本,该工具会显示四个建议的后续版本:
| 升级类型 | 1.2.3 变为 |
|---|---|
| 主版本 | 2.0.0 |
| 次版本 | 1.3.0 |
| 修订版本 | 1.2.4 |
| 预发布版本 | 1.2.4-rc.1 |
升级次版本会将修订号重置为 0;升级主版本会同时将次版本号和修订号重置为 0。预发布建议会将下一个修订版本标记为发布候选版。像 npm version 这样的命令行工具还提供更多操作(premajor、preminor、prepatch,以及就地递增预发布版本,例如 1.2.3-beta.1 变为 1.2.3-beta.2),供你在发布脚本中按需使用。
您将遇到的优先级规则
- 预发布版本的优先级低于正式发布版本:
1.0.0-rc.1<1.0.0。 - 数字标识符按数值顺序比较;字母数字组合按字典顺序比较:
1.0.0-alpha.2<1.0.0-alpha.11。 - 构建元数据(
+sha.abc)在优先级排序中被忽略。1.0.0+20240101与1.0.0+20250101为等效版本。 - 数字标识符中的首位零无效。
1.0.0-rc.01不是有效的版本号,请使用rc.1。
范围运算符速查表
^1.2.3,版本号需满足 ≥1.2.3 且 <2.0.0(版本号保持在同一主要版本系列)。~1.2.3,版本号需满足 ≥1.2.3 且 <1.3.0(保持在同一子版本级别)。>=1.2.3 <2.0.0,明确范围。0.x具有特殊性:由于 1.0 版本之前的版本被视为不稳定版本,npm 将^0.2.3归类为>=0.2.3 <0.3.0。
何时进行主要版本更新
重大变更(Bump Major)适用于任何影响下游用户的改动:包括移除公共API、修改函数签名、更改默认行为或重命名配置键。次要变更(Bump Minor)仅用于新增功能。补丁(Patch)则用于修复不改变系统规范的错误。
常见问题
编号 01.2.3 无效。每个数字标识符必须为非负整数且不包含前导零,但字面值 0 除外。
使用您上次发布的1.0.0-rc.N版本中的补丁版本号,semver会将其视为从预发布版升级至正式发布版。或者,您可以显式设置版本号并添加标签。
编号“Build”元数据位于+之后,在排序时会被忽略;编号“Prerelease”位于-之后,其优先级低于“Release”版本。大多数注册表系统同时支持这两种编号:例如1.2.3-rc.1+build.77。
是的,semver版本无需连续更新主要版本。从3.x版本直接跳转到5.x版本是允许的,不过大多数团队通常仅将其用于表示重大且具有颠覆性的变更。
相关工具
ASCII 表参考
完整 ASCII 表,覆盖 0 到 127;列出每个代码的十进制、十六进制、八进制、二进制值和 HTML 数字字符引用写法,包括 NUL、LF、DEL。
HTML 字符参考
可搜索的 HTML 实体列表,含命名代码与数值代码,并支持一键复制特殊字符和符号。
键盘快捷键参考
搜索 macOS、Windows 和 Linux 上 VS Code、Chrome 以及使用 GNU Readline 的 Bash 的文档默认快捷键。
邮箱验证器
验证邮箱地址:RFC 5322 语法检查、实时 MX 记录查询,并显示本地部分、域名和长度详情。不会发送任何邮件。
EditorConfig 生成器
按你的缩进、换行符和字符集规则生成 .editorconfig,再为仓库里的每种语言加上正确的区块:Python、Go、YAML、Makefile 等等。
证书解码器
粘贴一张 X.509 PEM 证书,并查看解码后的字段:主体、颁发者、序列号、签名算法、有效期及主体备用名称(SAN)。
此工具还提供其他语言版本
- Calculadora SemVer [ES]
- Calculateur SemVer [FR]
- Calculadora SemVer [PT]
- SemVer Rechner [DE]
- SemVer-calculator [NL]
- 세미버 계산기 [KO]
- เครื่องคำนวณ SemVer [TH]
- SemVer計算ツール [JA]
- SemVer-kalkylator [SV]
- Bộ tính toán SemVer [VI]
- SemVer Calculator [ID]
- أداة حساب SemVer [AR]
- Kalkulator SemVer [PL]
- SemVer Calculator [EN]
- Calcolatore SemVer [IT]
- Калькулятор SemVer [RU]
- SemVer Hesaplayıcı [TR]