This version of the compiler brings support for EVM Object Format (experimental), custom storage layouts, ethdebug, and more.
Notable Features
- Experimental Support for EVM Object Format
- Support for Custom Storage Layouts
- Initial Support for ethdebug
Language Features:
- Allow relocating contract storage to an arbitrary location.
Compiler Features:
- Error Reporting: Errors reported during code generation now point at the location of the contract when more fine-grained location is not available.
- ethdebug: Experimental support for instructions and source locations.
- EVM: Support for the EVM version “Osaka”.
- EVM Assembly Import: Allow enabling opcode-based optimizer.
- General: The experimental EOF backend implements a subset of EOF sufficient to compile arbitrary high-level Solidity syntax via IR with optimization enabled.
- SMTChecker: Support
block.blobbasefee
andblobhash
. - SMTChecker: The option
--model-checker-print-query
no longer requires--model-checker-solvers smtlib2
. - SMTChecker: Z3 is now a runtime dependency, not a build dependency (except for emscripten build).
- Yul Parser: Make name clash with a builtin a non-fatal error.
Check out our release blog post to learn more about other features in the release and read the full changelog.
Blog: Solidity 0.8.29 Release Announcement | Solidity Programming Language
GitHub: Release Version 0.8.29 · ethereum/solidity · GitHub
Help us spread the word by sharing our announcement on Twitter:
https://x.com/solidity_lang/status/1899862612361568312