Skip to content

Version 0.5.13

Compare
Choose a tag to compare
@chriseth chriseth released this 14 Nov 15:21
5b0b510

Solidity 0.5.13 provides Istanbul-EVM compatibility (default is still set to Petersburg), is the first version to generate Ethereum-Webassembly (EWasm) binary output (not fully working yet, though), improves the developer experience by listing potential overloads when resolution fails and can output the layout of the storage variables of a contract. As with all other releases, the coverage of the SMT checker is further improved.

Language Features:

  • Allow to obtain the address of a linked library with address(LibraryName).

Compiler Features:

  • Code Generator: Use SELFBALANCE opcode for address(this).balance if using Istanbul EVM.
  • EWasm: Experimental EWasm binary output via --ewasm and as documented in standard-json.
  • SMTChecker: Add break/continue support to the CHC engine.
  • SMTChecker: Support assignments to multi-dimensional arrays and mappings.
  • SMTChecker: Support inheritance and function overriding.
  • Standard JSON Interface: Output the storage layout of a contract when artifact storageLayout is requested.
  • TypeChecker: List possible candidates when overload resolution fails.

Bugfixes:

  • Code Generator: Fixed a faulty assert that would wrongly trigger for array sizes exceeding unsigned integer.
  • SMTChecker: Fix internal error when accessing indices of fixed bytes.
  • SMTChecker: Fix internal error when using function pointers as arguments.
  • SMTChecker: Fix internal error when implicitly converting string literals to fixed bytes.
  • Type Checker: Disallow constructor of the same class to be used as modifier.
  • Type Checker: Treat magic variables as unknown identifiers in inline assembly.

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

Alex Beregszaszi, Alexander Arlt, Bhargava Shastry, Chris Chinchilla, Christian Parpart, Daniel Kirchner, Erik Kundt, Gaith Hallak, hellraiserinchief , Henry Lee, Jochem Brouwer, Leonardo Alt, Mathias Baumann

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