Version 0.6.7
Solidity version 0.6.7 introduces support for EIP-165 via type(InterfaceName).interfaceId
.
Language Features:
- Add support for EIP 165 interface identifiers with
type(I).interfaceId
. - Allow virtual modifiers inside abstract contracts to have empty body.
Compiler Features:
- Optimizer: Simplify repeated AND and OR operations.
- Option to specify optimization steps to be performed by Yul optimizer with
--yul-optimizations
in the commandline interface oroptimizer.details.yulDetails.optimizerSteps
in standard-json. - Standard Json Input: Support the prefix
file://
in the fieldurls
.
Bugfixes:
- SMTChecker: Fix internal error when fixed points are used.
- SMTChecker: Fix internal error when using array slices.
- Type Checker: Disallow
virtual
andoverride
for constructors. - Type Checker: Fix several internal errors by performing size and recursiveness checks of types before the full type checking.
- Type Checker: Fix internal error when assigning to empty tuples.
- Type Checker: Fix internal error when applying unary operators to tuples with empty components.
- Type Checker: Perform recursiveness check on structs declared at the file level.
Build System:
- soltest.sh:
SOLIDITY_BUILD_DIR
is no longer relative toREPO_ROOT
to allow for build directories outside of the source tree.
We especially thank all the contributors that made this release possible:
a3d4, Alex Beregszaszi, Alexander Arlt, Bhargava Shastry, Chris Chinchilla, Christian Parpart, Daniel Kirchner, David Cian, Djordje Mijovic, Evan Saulpaugh, hrkrshnn, iamdefinitelyahuman, Jason Cobb, KaiYu Feng, Kamil Śliwak, Leonardo Alt, Mathias Baumann, Noel Maersk, ssi91, yoni206
If you want to perform a source build, please only use solidity_0.6.7.tar.gz and not the zip provided by github directly.