Breaking changes:
- Change ABI encoding of single-struct return values to be compatible with Solidity (#2457)
- Drop Python 3.6 support (#2462)
Non-breaking changes and improvements:
- Rewrite internal calling convention (#2447)
- Allow any ABI-encodable type as function arguments and return types (#2154, #2190)
- Add support for deterministic deployment of minimal proxies using CREATE2 (#2460)
- Optimize code for certain copies (#2468)
- Add -o CLI flag to redirect output to a file (#2452)
- Other docs updates (#2450)
Fixes:
- _abi_encode builtin evaluates arguments multiple times (#2459)
- ABI length is too short for nested tuples (#2458)
- Returndata is not clamped for certain numeric types (#2454)
__default__
functions do not respect nonreentrancy keys (#2455)- Clamps for bytestrings in initcode are broken (#2456)
- Missing clamps for decimal args in external functions (GHSA-c7pr-343r-5c46)
- Memory corruption when returning a literal struct with a private function call inside of it (GHSA-xv8x-pr4h-73jv)
Special thanks to contributions from @skellet0r and @benjyz for this release!