查看 Vyper 0.4.x 系列的版本更新、破坏性变更和安全修复。
本页汇总 Vyper 0.4.x 系列的发布记录。每个版本都包括破坏性变更、新功能、安全修复和工具链改进。 完整的安全审计报告可在 vyperlang/audits 仓库查看。
发布日期: 2025-06-19
prague@raw_return 装饰器:允许合约直接返回原始字节而无需 ABI 编码,适用于代理合约场景@raw_return多项 Venom 优化器管线改进,包括 DFTPass 修复、reduce single-use expansion、函数内联修复、LALR(1) 语法重写等。
发布日期: 2025-05-31
sqrt 移至新的 stdlib math 模块(from vyper.builtins import math)@nonreentrant 函数调用其他 @nonreentrant 函数__default__ 函数bitwise_and 等)--venom 重命名为 --venom-experimental@nonreentrant 现在可通过 #pragma nonreentrancy on 全局启用raw_create() 内建函数bytesM 类型启用位运算操作as_wei_value 扩展至所有数值类型concat() 零长度参数可能跳过副作用 (GHSA-vgf2-gvx8-xwc3)slice() 输出长度为 0 时可能跳过副作用 (GHSA-4w26-8p97-f4jp)新增死存储消除、CSE 消除优化、调用约定改进。基准合约通常减小 5% 体积。
发布日期: 2025-03-01
主要是打磨版本,聚焦于 bug 修复、UX 改进和安全修复(4 个低中等级 GHSA 通告)。Venom 管线取得了显著进步。
.vyi 文件中 @external 修饰符变为可选skip_contract_check 也检查 returndatasizeIERC4626 签名module.__at__() 用于转换为接口mana 作为 gas 的别名sqrt 未定义舍入行为for 列表迭代器的多次求值问题-Werror 和 -Wnone 选项json 和 .vyz 输入的存储布局发布日期: 2024-06-20
v0.4.0 是 Vyper 的重大版本升级。核心改动包括全新的导入/模块系统和实验性 Venom 后端。
审计:ChainSecurity(3 轮)、Statemind、OtterSec(2 轮)
cancunblock.prevrandao 签名变更decimal 的 ABI 类型改为 int168_abi_encode/_abi_decode 重命名(移除前缀下划线)decimal 需要显式 feature flag 启用@internal 装饰器变为可选extcall/staticcall 关键字//(整数除法),禁止对整数使用 /enum 关键字替换为 flagrange 支持双参数加 boundvyper.interfaces 重命名为 ethereum.ercs这是 v0.4.0 最核心的新功能:
exports)全新的中间表示,受 LLVM IR 启发:
blobhash() 内建函数block.blobbasefeecreate 内建函数支持 revert_on_failure 参数本页目录