Solidity v0.8.11 adds a first implementation of a Language Server, allows a safer way to perform ABI-encoding and fixes several bugs.
For more details, see the release announcement.
Language Features:
- General: New builtin function
abi.encodeCall(functionPointer, (arg1, arg2, ...))
that type-checks the arguments and returns the ABI-encoded function call data.
Compiler Features:
- Commandline Interface: Add
--lsp
option to getsolc
to act as a Language Server (LSP) communicating over stdio.
Bugfixes:
- Code Generator: Fix a crash when using
@use-src
and compiling from Yul to ewasm. - SMTChecker: Fix internal error when an unsafe target is solved more than once and the counterexample messages are different.
- SMTChecker: Fix soundness of assigned storage/memory local pointers that were not erasing enough knowledge.
- Fix internal error when a function has a calldata struct argument with an internal type inside.
- IR Generator: Fix IR syntax error when copying storage arrays of functions.
We especially thank all the contributors that made this release possible:
Kamil Śliwak, Leo Alt, nishant-sachdeva, Daniel Kirchner, Marenz, minami, Alessandro Coglio, Alex Beregszaszi, Bhargava Shastry, Dallon Asnes, Dallon Asnes, neel iyer, Christian Parpart, GitHubPang, Mathias Baumann, Omkar Nikhal, Saska Karsi, Tynan Richards, dinah.
If you want to perform a source build, please only use solidity_0.8.11.tar.gz and not the zip provided by github directly.