理解 Major、Minor、Patch 和预发布版本分别会影响哪些使用者与升级路径。
Vyper 定义了明确的版本策略,核心目标是让开发者、集成方和审计方 都能判断一次版本升级会影响什么,以及自己需要重点关注哪些变化。
Vyper 官方把使用者分成三类:
| 用户组 | 典型使用方式 |
|---|---|
| 开发者(Developers) | 用 Vyper 编写和编译智能合约 |
| 集成方(Integrators) | 把 Vyper 包或 CLI 集成进工具链 |
| 审计方(Auditors) | 关注 Vyper 语言特性和安全问题 |
Vyper 的“公共 API”不只有 Python 包和 CLI,还包括语言语法本身。 这意味着一旦语法、导出模块或命令行行为发生变化,不同角色受到的影响也不同。 版本指南就是为了明确这种影响边界。
Vyper 采用接近语义化版本的格式:
text
MAJOR.MINOR.PATCH[-STAGE.DEVNUM]X.0.0Major 版本允许发生向后不兼容的语法变化,例如 v1.x 升到 v2.x。
对开发者来说,这通常意味着较大范围的迁移成本。
发布要求与影响重点:
| 用户组 | 主要关注点 |
|---|---|
| 开发者 | 语法弃用、重大新特性 |
| 集成方 | 通常无额外变化 |
| 审计方 | 审计报告及已修复问题 |
官方还要求在 Major 发布前进行审计,并解决审计中报告的 moderate 或 severe
级别漏洞;minor 和 informational 级别通常也应处理,但最终可由维护者判断。
x.Y.0Minor 版本可以引入新特性,也可以修复 moderate 或 severe 级别漏洞。
它可能会以不完全向后兼容的方式改变包 API 或 CLI 行为,因此集成方需要特别留意。
| 用户组 | 主要关注点 |
|---|---|
| 开发者 | 新特性、安全修复 |
| 集成方 | 外部 API 变化 |
| 审计方 | moderate 或 severe 级补丁 |
x.y.ZPatch 版本主要用于:
minor 或 informational 级别漏洞修复。| 用户组 | 主要关注点 |
|---|---|
| 开发者 | 文档更新、使用 bug 修复、错误消息变化 |
| 集成方 | 文档更新、使用 bug 修复、错误消息变化 |
| 审计方 | minor 或 informational 级补丁 |
随着 Vyper 演进,语言特性使用方式和编译器生成代码中都可能暴露安全漏洞。 官方的处理方式是遵循其安全策略:
这些漏洞的修复也会反映在 release notes 中。
官方定义了以下预发布标记:
-alpha.N:工作进行中的版本。-beta.N:计划最终发布的预览版本。-rc.N:Major 版本前的候选版本。其中 -rc.1 通常会触发一次外部审计,后续 RC 可能继续吸收审计反馈。
最后一个 RC 会成为下一个 Major 正式版本,并伴随完整审计报告一起发布。
参考文档还给了两条协作约束:
master 分支。如果你在维护依赖 Vyper 的工具链,最实用的做法是:
本页目录