Solidity宣布发布Solidity编译器v0.8.23
Solidity 宣布发布 Solidity 编译器 v0.8.23。这个最新版本编译器旨在纯粹修复 bug,包括修复一个低严重性重要的 bug。
根据我们的调查,我们预见现实世界不会有该 bug 实例被用作漏洞利用或攻击向量,因此,我们评估其整体严重性为低。
这个版本还引入了一个小改变,优化器设置更加直观。自 v0.8.21 起,禁用 optimizer.details.yul
设置不再阻止编译器运行 UnusedPruner
步骤,我们认为这是防止堆栈问题的内部机制的一个重要部分。该步骤仍然可以被禁用 - 通过显式提供一个空的优化序列 - 但这需要名义上启用 Yul 优化器,这有时会导致用户启用整个优化器并无意中包含额外的优化。现在可以独立于其他设置使用空序列。
verbatim
重复 bug用户报告了一个块重复 bug,导致除了 verbatim 指令内容不同之外相同的块被视为等效,因此合并为一个单一的块。新版本修复了这个 bug。
该 bug 自版本 0.8.5
存在,引入了 verbatim
,并且只影响启用优化的纯 Yul 编译。在内联汇编块中使用的 Solidity 代码或 Yul 不会触发它。
阅读我们的博客文章描述该 bug,了解它是如何表现的,可能受到影响的合约类型以及其他技术细节。
--yul-optimizations
序列。optimizerSteps
序列。要升级到 Solidity 编译器的最新版本,请按照我们文档中提供的安装说明。
你可以在这里下载 Solidity 的新版本:v0.8.23。如果你想从源代码构建,请不要使用 GitHub 自动生成的源代码存档。而是使用 solidity_0.8.23.tar.gz
,并查看我们的源代码构建文档。
我们建议所有 Solidity 开发者始终升级到 Solidity 的最新版本,以便利用改进、优化,最重要的是 bug 修复。
最后,我们要感谢所有帮助实现这个发布的贡献者!
如果觉得我的文章对您有用,请随意打赏。你的支持将鼓励我继续创作!