This release fixes a bug in the Yul optimizer related to break and continue statements in loops. The Yul optimizer is part of the regular optimizer since version 0.6.0. In version 0.5.x, you had to explicitly activate the Yul optimizer in addition to the regular optimizer. The Yul optimizer only operates on the code generated by ABIEncoderV2 or if you use it in a stand-alone way. The code generated by ABIEncoderV2 does not make use of break and continue, but these statements can be introduced by other optimizer steps. The Yul optimizer currently is not run on inline-assembly code.

Bugfixes:

  • Yul Optimizer: Fix bug in redundant assignment remover in combination with break and continue statements.

A big thank you to all contributors who helped make this release possible!

Download the new version of Solidity here.