github ethereum/solidity v0.5.14
Version 0.5.14

latest releases: v0.8.25, v0.8.24, v0.8.23...
4 years ago

Solidity 0.5.14 sets the default EVM version to "Istanbul" and is targeted as the last release in the 0.5.x series.

The SMT checker supports constructors now and it is possible to directly translate EVM-flavoured Yul to Ewasm from the commandline interface.

Language Features:

  • Allow to obtain the selector of public or external library functions via a member .selector.
  • Parser: Allow splitting string and hexadecimal string literals into multiple parts.
  • Inline Assembly: Support constants that reference other constants.

Compiler Features:

  • Commandline Interface: Allow translation from yul / strict assembly to EWasm using solc --yul --yul-dialect evm --machine eWasm
  • Set the default EVM version to "Istanbul".
  • SMTChecker: Add support to constructors including constructor inheritance.
  • Yul: When compiling via Yul, string literals from the Solidity code are kept as string literals if every character is safely printable.
  • Yul Optimizer: Perform loop-invariant code motion.

Bugfixes:

  • SMTChecker: Fix internal error when using abi.decode.
  • SMTChecker: Fix internal error when using arrays or mappings of functions.
  • SMTChecker: Fix internal error in array of structs type.
  • Version Checker: ^0 should match 0.5.0, but no prerelease.
  • Yul: Consider infinite loops and recursion to be not removable.

Build System:

  • Update to emscripten version 1.39.3.

We especially thank all the contributors that made this release possible:

Alex Beregszaszi, Bhargava Shastry, Chris Chinchilla, Christian Parpart, Daniel Kirchner, Erik Kundt, Gaith Hallak, Henry Lee, Lefteris Karapetsas, Leonardo Alt, Mathias Baumann, mingchuan, Paweł Bylica, William Entriken

If you want to perform a source build, please only use solidity_0.5.14.tar.gz and not the zip provided by github directly.

Don't miss a new solidity release

NewReleases is sending notifications on new releases.