Semantic Versioning
Definition / 释义
语义化版本控制:一种给软件版本号命名与递增的规则,通常写作 MAJOR.MINOR.PATCH(主版本号.次版本号.修订号)。一般含义是:
- MAJOR:做了不兼容的变更(可能破坏旧用法)
- MINOR:向后兼容地新增功能
- PATCH:向后兼容的问题修复
常用于包管理与依赖约束(如 ^1.2.0、~1.2.3)。
Pronunciation / 发音(IPA)
/smntk vn/
Examples / 例句
We follow semantic versioning to communicate breaking changes.
我们遵循语义化版本控制来清楚表达哪些更新会造成不兼容的破坏性变更。
Because the API is stable, this release is a minor update under semantic versioning, not a major one.
由于 API 仍保持兼容,这次发布按语义化版本控制应算作次版本更新,而不是主版本更新。
Etymology / 词源
semantic 源自希腊语 sēmantikos(“与意义有关的”),经法语进入英语;version 来自拉丁语 versio(“转变、翻转”),引申为“版本”;versioning 是 “version + -ing”,表示“进行版本管理/标记版本的做法”。合起来强调:版本号要“表达意义”,让人从数字就能判断变更影响范围。
Related Words / 相关词汇
Notable Works / 文学与著作例证
- 《Semantic Versioning 2.0.0》规范文档(semver.org):语义化版本控制的权威说明与规则来源。
- 《npm Documentation》(npm 官方文档):在依赖范围(如 caret/tilde)与版本解析中大量使用并解释语义化版本。
- 《Pro Git》(Scott Chacon & Ben Straub):讨论发布与标签(tags)等实践时,常与语义化版本的使用场景并列出现。
- 《Node.js Design Patterns》(Mario Casciaro & Luciano Mammino):在包生态与发布策略中涉及语义化版本与破坏性变更管理。