{ 跳至内容 }

Solidity 0.4.12 版本发布公告

发布者:Solidity 团队 于 2017 年 7 月 3 日

版本

此版本引入了 AST 导出,巩固了内联汇编,引入了更多警告并修复了几个错误。

为了在将来提供更好的可移植性,汇编中的手动跳转已被弃用,取而代之的是结构化构造switchfor 和函数调用。

特性

  • 汇编:添加 CREATE2 (EIP86)、STATICCALL (EIP214)、RETURNDATASIZERETURNDATACOPY (EIP211) 指令。
  • 汇编:在汇编输出中显示辅助数据。
  • 汇编:将 SHA3 重命名为 KECCAK256
  • AST:将所有属性导出为 JSON 格式。
  • C API (jsonCompiler): 在内部使用标准 JSON I/O。
  • 代码生成器:添加了 Whiskers 模板系统。
  • 内联汇编:forswitch 语句。
  • 内联汇编:函数定义和函数调用。
  • 内联汇编:引入 keccak256 作为操作码。 sha3 仍然是有效的别名。
  • 内联汇编:当未向函数指令提供足够的参数时,显示正确的错误消息。
  • 内联汇编:当指令遮蔽 Solidity 变量时发出警告。
  • 内联汇编:当使用 jump 时发出警告。
  • 移除过时的 Why3 输出。
  • 类型检查器:强制执行严格的 UTF-8 验证。
  • 类型检查器:警告有关存储中的副本可能意外覆盖。
  • 类型检查器:警告有关从字面量数字推断类型。
  • 静态分析器:警告有关 callcode 的弃用。

错误修复

  • 汇编:在优化器中标记 MLOAD 具有副作用。
  • 代码生成器:修复空字面字符串的 ABI 编码。
  • 代码生成器:修复负栈大小检查。
  • 代码生成器:使用 REVERT 而不是 INVALID 用于生成的输入验证例程。
  • 内联汇编:解析函数指令时强制执行函数参数。
  • 优化器:禁止涉及 MLOAD 的优化,因为它会更改 MSIZE
  • 静态分析器:不再针对内联汇编中使用的变量发出未使用的变量警告。
  • 类型检查器:修复地址字面量未被视为编译时常量的错误。
  • 类型检查器:修复与不可调用类型相关的崩溃。
  • 类型检查器:修复使用常量函数参数导致的段错误。
  • 类型检查器:禁止在映射和非内部函数类型之间进行比较。
  • 类型检查器:禁止多次调用相同的修饰符。
  • 类型检查器:不要将看起来像地址的字符串视为地址。
  • 类型检查器:支持有效但被错误拒绝的 UTF-8 序列。

衷心感谢所有为这个版本发布做出贡献的人!

下载新版本的 Solidity这里.

上一篇

下一篇

参与进来

GitHub

推特

Mastodon

矩阵

发现更多

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

2024Solidity 团队

安全策略

行为准则