This newest version of the compiler brings support for custom errors in require
to the legacy pipeline, optimizer improvements such as caching of optimized IR that will speed up compilation via IR, several bugfixes, and more!
Notable features
- Legacy Support for
require
with Custom errors - Caching of Optimized IR
Additional Notes
- 0.8.27 introduces support for transient storage variables into the parser. The compiler supports syntax for marking some variables as
transient
and lets users generate transient storage layout. However, it is not possible to generate bytecode for contracts using such variables yet.
High-level language support for transient storage will be introduced in upcoming releases. The next release will provide full support for transient state variables of value types. - This release also drops the deprecated typed Yul dialect that was only accessible via
--yul
option in the CLI. Users should not mistake this for deprecation of support for Yul.
Please note that this change does not impact Yul compilation in any way and that the--strict-assembly
option has always been used to select the only commonly used dialect of Yul.
Check out our release blog post to learn more about the other features in the release and read the full changelog:
Blog: Solidity 0.8.27 Release Announcement | Solidity Programming Language
Help us spread the word!
Twitter: x.com
And lastly, a big thank you to all the contributors who helped make this release possible!