Solidity v0.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.
A big thank you to all contributors who helped make this release possible!
Download the new version of Solidity here.