Be notified of new releases
Create your free GitHub account today to subscribe to this repository for new releases and build software alongside 31 million developers.Sign up
This release adds support for accessing the code of a contract type, which will hopefully make the new
CREATE2 opcode easier to use. We also added some static analysis features to the compiler, but most changes were done "under the hood" to pave the way for using the new Yul-based optimizer with ABIEncoderV2.
- Provide access to creation and runtime code of contracts via
- Control Flow Graph: Warn about unreachable code.
- SMTChecker: Support basic typecasts without truncation.
- SMTChecker: Support external function calls and erase all knowledge regarding storage variables and references.
- Emscripten: Split simplification rule initialization up further to work around issues with soljson.js in some browsers.
- Type Checker: Disallow calldata structs until implemented.
- Type Checker: Return type error if fixed point encoding is attempted instead of throwing
- Yul: Check that arguments to
datasizeare literals at parse time and properly take this into account in the optimizer.
- Yul: Parse number literals for detecting duplicate switch cases.
- Yul: Require switch cases to have the same type.
- Emscripten: Upgrade to emscripten 1.38.8 on travis and circleci.
If you want to perform a source build, please only use solidity_0.5.3.tar.gz and not the zip provided by github directly.
We especially thank all the contributors that made this release possible:
Alex Beregszaszi, androlo, Asher, chandan kumar mandal, Christian Parpart, Chris Ward, Daniel Kirchner, Erik Kundt, Evan Saulpaugh, Leonardo Alt, Nick Barry, Paweł Bylica, poiresel, spmvg, Tomek Kopczynski, William Entriken