{ 跳至内容 }

Solidity 0.8.14 版本发布公告

发布者:Solidity 团队,2022 年 5 月 18 日

发布

Solidity v0.8.14 修复了两个重要错误。

第一个错误与直接从 calldata 中 ABI 编码嵌套数组有关。您可以在以下内容中找到更多信息博客文章.

第二个错误在某些继承结构中被触发,会导致内存指针被错误地解释为 calldata 指针或反之。我们也有一篇专门的 博客文章 讨论此错误。

除了这些,还有一些小的错误修复和改进。

请注意:不幸的是,此版本的 npm 包装包已损坏。使用新的soljson.js 与 solc-js 0.8.13 一起使用将有效,但 0.8.14 npm 版本(现已标记为已弃用)缺少一个文件,因此无法正常工作。我们发布了 0.8.14-fixed 以防您需要一个有效的 npm 包作为依赖项。但是,请注意,npm 不会自动选择它。

完整变更日志

重要错误修复

  • ABI 编码器:当从包含嵌套数组的 calldata 中 ABI 编码值时,在所有情况下,都应正确验证嵌套数组长度是否与 calldatasize() 相匹配。
  • 覆盖检查器:仅在覆盖外部函数时才允许更改参数的数据位置。

编译器功能

  • 汇编-JSON 导出器:在 sourceList 字段中包含源列表。
  • 命令行界面:选项 --pretty-json 也适用于以下选项:--abi--asm-json--ast-compact-json--devdoc--storage-layout--userdoc
  • 语言服务器:允许语言服务器完全访问文件系统。
  • 窥孔优化器:在简单终止之前删除没有副作用的操作。
  • SMT 检查器:支持 abi.encodeCall 并考虑调用的选择器。

错误修复

  • 汇编-JSON 导出器:修复汇编 json 导出以将操作的跳转类型存储在 jumpType 字段而不是 value 中。
  • SMT 检查器:修复与 z3 >=4.8.16 的 ABI 兼容性。
  • SMT 检查器:修复 z3 被选中但在运行时不可用时的错误。
  • 类型检查器:在结合库的情况下,正确检查 using ... global 的限制。
  • 类型检查器:将函数类型的参数转换为它们在 abi.encodeCall 中的调用方式。

衷心感谢所有帮助使此版本成为可能的贡献者!

在此下载 Solidity 的新版本 此处

上一篇文章

下一篇文章

参与进来

GitHub

推特

Mastodon

矩阵

了解更多

博客文档用例贡献关于论坛

2024Solidity 团队

安全策略

行为准则