Version 0.6.8
This release of Solidity fixes three important bugs in the code generator:
- a missing callvalue check for constructors
- a bug connected with array slices for arrays containing dynamic types
- literal strings containing backslash characters in connection with ABIEncoderV2
In addition to that:
- we introduced a recommendation to use SPDX license identifiers for all source files which are also stored in the contract metadata
- it is possible to access the min and max values of an integer type directly
- WebAssembly support has been extended
Important Bugfixes:
- Add missing callvalue check to the creation code of a contract that does not define a constructor but has a base that does define a constructor.
- Disallow array slices of arrays with dynamically encoded base types.
- String literals containing backslash characters can no longer cause incorrect code to be generated when passed directly to function calls or encoding functions when ABIEncoderV2 is active.
Language Features:
- Implemented
type(T).min
andtype(T).max
for every integer typeT
that returns the smallest and largest value representable by the type.
Compiler Features:
- Commandline Interface: Don't ignore
--yul-optimizations
in assembly mode. - Allow using abi encoding functions for calldata array slices without explicit casts.
- Wasm binary output: Implement
br
andbr_if
.
Bugfixes:
- ABI: Skip
private
orinternal
constructors. - Fixed an "Assembly Exception in Bytecode" error where requested functions were generated twice.
- Natspec: Fixed a bug that ignored
@return
tag when no other developer-documentation tags were present. - Type Checker: Checks if a literal exponent in the
**
operation is too large or fractional. - Type Checker: Disallow accessing
runtimeCode
for contract types that contain immutable state variables. - Yul Assembler: Fix source location of variable declarations without value.
We especially thank all the contributors that made this release possible:
a3d4, Alex Beregszaszi, Alexander Arlt, Bhargava Shastry, Christian Parpart, Daniel Kirchner, Djordje Mijovic, Harikrishnan Mulackal, Kamil Śliwak, Mathias Baumann
If you want to perform a source build, please only use solidity_0.6.8.tar.gz and not the zip provided by github directly.