{ 跳至内容 }

Solidity 0.4.17 版本发布公告

发布于 2017年9月21日 由 Solidity 团队

版本发布

随着我们越来越接近下一个重大版本发布,我们希望通过引入以下内容来提醒大家pragma experimental "v0.5.0",它已经启用了 0.5.0 版本的一些新的安全特性。

此外,此版本最终检查了函数上的修饰符 view(以前称为 constant)和 pure。根据经验,如果您的函数不修改存储,请使用 view;如果它甚至不读取任何状态信息,请使用 pure - 但编译器本身也会建议最严格的限制。

我们还在新的 ABI 编码器上进行了进一步的工作:函数现在可以返回结构体。使用 pragma experimental ABIEncoderV2 打开它。它应该已经可以工作了,但仍然会生成更昂贵的代码。

最后,引入了许多新的警告并改进了错误消息。

特性

  • 汇编解析器:支持多重赋值(x, y := f())。
  • 代码生成器:在使用实验性“ABIEncoderV2”时,保留编码函数的单个副本。
  • 代码生成器:部分支持将 structs 作为参数和返回值传递(目前需要 pragma experimental ABIEncoderV2;)。
  • 通用:支持 pragma experimental "v0.5.0"; 以激活即将到来的重大更改。
  • 通用:在外部函数类型上添加了 .selector 成员以检索其签名。
  • 优化器:添加新的优化步骤以移除未使用的 JUMPDEST
  • 静态分析器:当使用已弃用的内置函数 sha3suicide 时发出警告(分别由 keccak256selfdestruct 替换,分别在 0.4.2 和 0.2.0 中引入)。
  • 语法检查器:如果在合约函数上未指定可见性,则发出警告。
  • 类型检查器:显示对未使用的函数参数/返回值的有用警告。
  • 类型检查器:不要对事件显示相同的错误多次。
  • 类型检查器:大大减少了对重复构造函数和函数显示的重复错误的数量。
  • 类型检查器:警告在 keccak256sha3sha256ripemd160 中使用文字作为紧凑打包参数。
  • 类型检查器:强制执行 viewpure
  • 类型检查器:作为实验性 0.5.0 功能,使用错误强制执行 view / constant
  • 类型检查器:作为实验性 0.5.0 功能,强制回退函数为 external

错误修复

  • ABI JSON:包含所有重载的事件。
  • 解析器:与 parseTypeName 相关的崩溃修复。
  • 类型检查器:允许常量字节数组。

非常感谢所有帮助使此版本发布成为可能的贡献者!

下载 Solidity 的新版本这里.

上一篇

下一篇

参与进来

GitHub

推特

Mastodon

矩阵

了解更多

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

2024Solidity 团队

安全策略

行为准则