Version 0.6.11
This release adds inheritance to NatSpec comments, improves debugging data output and fixes some minor issues with opening up calldata
for non-external functions.
Language Features:
- General: Add unit denomination
gwei
- Yul: Support
linkersymbol
builtin in standalone assembly mode to refer to library addresses. - Yul: Support using string literals exceeding 32 bytes as literal arguments for builtins.
Compiler Features:
- NatSpec: Add fields
kind
andversion
to the JSON output. - NatSpec: Inherit tags from unique base functions if derived function does not provide any.
- Commandline Interface: Prevent some incompatible commandline options from being used together.
- NatSpec: Support NatSpec comments on events.
- Yul Optimizer: Store knowledge about storage / memory after
a := sload(x)
/a := mload(x)
. - SMTChecker: Support external calls to unknown code.
- Source Maps: Also tag jumps into and out of Yul functions as jumps into and out of functions.
Bugfixes:
- NatSpec: Do not consider
////
and/***
as NatSpec comments. - Type Checker: Disallow constructor parameters with
calldata
data location. - Type Checker: Do not disallow assigning to calldata variables.
- Type Checker: Fix internal error related to
using for
applied to non-libraries. - Wasm backend: Fix code generation for for-loops with pre statements.
- Wasm backend: Properly support both
i32.drop
andi64.drop
, and removedrop
. - Yul: Disallow the same variable to occur multiple times on the left-hand side of an assignment.
- Yul: Fix source location of variable multi-assignment.
We especially thank all the contributors that made this release possible:
a3d4, Alex Beregszaszi, Alexander Arlt, Bhargava Shastry, Daniel Kirchner, Djordje Mijovic, Harikrishnan Mulackal, Kamil Śliwak, Leonardo Alt, Mathias Baumann, step21
If you want to perform a source build, please only use solidity_0.6.11.tar.gz and not the zip provided by github directly.