{ 跳至内容 }

Solidity 0.5.11 版本发布公告

发布于 2019年8月12日 由 Solidity 团队

发布

此版本修复了一个与 ABIEncoderV2 中的 calldata 结构体和 V1 中的 calldata 解码相关的错误。修复了 SMT 检查器的一些内部错误。此外,ABI 输出中添加了内部类型,允许您查看 ABI 元组背后的结构体类型。最后,Yul 和 WebAssembly 支持正在取得进展。

我们还改进了测试框架,现在语义测试可以在 4 秒内完成,而不是 1 分钟。

语言特性

  • 内联汇编:支持内联汇编中值类型的直接常量。

编译器特性

  • ABI:字段中添加了额外的内部类型信息internalType.
  • eWasm:使用命令行界面中的 ewasm 或标准 JSON 中的输出选择 ewasm.wast 进行高度实验性的 eWasm 输出。
  • 元数据:将 Swarm 哈希更新到当前规范,将 bzzr0 更改为 bzzr1,并将 URL 更改为使用 bzz-raw://
  • 标准 JSON 接口:仅编译选定的源代码和合约。
  • 标准 JSON 接口:提供辅助错误位置(例如,其他冲突声明的源位置)。
  • SMTChecker:如果分配了另一个存储指针,则不要擦除有关存储指针的知识。
  • SMTChecker:支持字符串文字类型。
  • 标准 JSON 接口:如果 error-recovery 命令行开关或 StandardCompiler settings.parserErrorRecovery 为真,则即使在错误情况下也提供 AST。
  • Yul 优化器:如果内联函数会导致未经优化的表达式的重复,则不要内联该函数。

错误修复

  • ABI 解码器:确保解码的数组始终指向不同的内存位置。
  • 代码生成器:正确处理 calldata 中动态编码但静态大小的数组和结构体。
  • SMTChecker:修复内联包含元组表达式的函数时的内部错误。
  • SMTChecker:修复循环中指针知识擦除的问题。
  • SMTChecker:修复在分支内部使用复合按位赋值运算符时的内部错误。
  • SMTChecker:修复内联在分支内部返回包含不受支持类型的元组的函数时的内部错误。
  • SMTChecker:修复内联使用状态变量且属于不同源文件的函数时的内部错误。
  • SMTChecker:修复报告有关来自不同源文件的状态变量的反例时的内部错误。
  • SMTChecker:修复使用字符串文字时的 SMT 类型不匹配。
  • View/Pure 检查器:正确检测通过基类访问状态变量的情况。
  • Yul 分析器:在分析阶段检查数据对象的可用性。
  • Yul 优化器:修复即使程序中使用了 msize,也会删除访问内存的代码的问题。

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

下载 Solidity 的新版本这里.

上一篇

下一篇

参与进来

GitHub

推特

Mastodon

矩阵

了解更多

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

2024Solidity 团队

安全策略

行为准则