Version 0.6.3
This release adds reason strings for compiler-generated reverts if you specify --revert-strings debug
or use the setting settings.debug.revertStrings = "debug"
. Furthermore, contract types and enums are now allowed as keys for mappings and the doxygen-style comments are better supported by the AST.
Language Features:
- Allow contract types and enums as keys for mappings.
- Allow function selectors to be used as compile-time constants.
Compiler Features:
- AST: Add a new node for doxygen-style, structured documentation that can be received by contract, function, event and modifier definitions.
- Code Generator: Use
calldatacopy
instead ofcodecopy
to zero out memory past input. - Debug: Provide reason strings for compiler-generated internal reverts when using the
--revert-strings
option or thesettings.debug.revertStrings
setting ondebug
mode. - Structured Documentation: Report source locations for structured documentation errors.
- Yul Optimizer: Prune functions that call each other but are otherwise unreferenced.
Bugfixes:
- Assembly Output: Added missing
source
field to legacy assembly json output to complete the source reference. - Parser: Fix an internal error for
abstract
withoutcontract
. - Type Checker: Make invalid calls to uncallable types fatal errors instead of regular.
We especially thank all the contributors that made this release possible:
a3d4, Alexander Arlt, Bhargava Shastry, Brian L. McMichael, cameel, Chris Chinchilla, Christian Parpart, Daniel Kirchner, Djordje Mijovic, Erik Kundt, Gaith Hallak, Jason Cobb, Kamil Śliwak, Leonardo Alt, Mathias Baumann, Nicolas, pinkiebell, rodiazet.
If you want to perform a source build, please only use solidity_0.6.3.tar.gz and not the zip provided by github directly.