This release adds support for calldata structs and packed encoding with ABIEncoderV2. We also introduced some changes to the C API and added support for continuous fuzzing via Google oss-fuzz. In addition to that, we added a new commandline option for improved (colorized) diagnostics formatting.
- Allow calldata structs without dynamically encoded members with ABIEncoderV2.
- ABIEncoderV2: Implement packed encoding.
- C API (
solidity_freemethod which releases all internal buffers to save memory.
- Commandline Interface: Adds new option
new-reporterfor improved diagnostics formatting along with
no-colorfor colorized output to be forced (or explicitly disabled).
- Code Generator: Defensively pad allocation of creationCode and runtimeCode to multiples of 32 bytes.
- Commandline Interface: Allow yul optimizer only for strict assembly.
- Parser: Disallow empty import statements.
- Type Checker: Disallow mappings with data locations other than
- Type Checker: Fix internal error when a struct array index does not fit into a uint256.
- Type System: Properly report packed encoded size for arrays and structs (mostly unused until now).
- Add support for continuous fuzzing via Google oss-fuzz
- SMT: If using Z3, require version 4.6.0 or newer.
- Soltest: Add parser that is used in the file-based unit test environment.
- Ubuntu PPA Packages: Use CVC4 as SMT solver instead of Z3
A big thank you to all contributors who helped make this release possible!
Download the new version of Solidity here.