Solidity v0.8.13 has been released! - Fixes abi.encodeCall related bug, extends the "using for" directive and implements "go to definition" for the LSP; compilation via Yul IR stable

Solidity v0.8.13 fixes an important bug related to abi.encodeCall, extends the using for directive and implements “go to definition” for the language server.

Furthermore, compiling via the new Yul IR pipeline is now considered production ready.

:open_book:: Solidity 0.8.13 Release Announcement | Solidity Blog
:floppy_disk:: Release Version 0.8.13 · ethereum/solidity · GitHub

abi.encodeCall bug :bug:

This bug is related to using literals (0x1234, “abcd”, hex"efgh") in “abi.encodeCall” for a function that expects a bytesNN argument. See all the details in the security announcement:

Yul IR Pipeline Production Ready

The Yul IR pipeline has been stable and tested for a while and we now consider it production ready. We hope that it will shorter, more efficient and safer code. Please give us feedback how it works for you!

extended “using for”

The “using for” directive can now be used at file level, for free functions and with “global” you do not have to repeat it in every contract that wants to use it!

Go to definition for the Language Server

The built-in language server can now handle the “go to definition” feature in all situations. Click on a weird type or function to instantly jump to its definition!

Spread the word! :bird:

Help us let everybody know about the new version and the new features by sharing it in your networks. Thanks! :hugs: