This is the first release from the new “solidity-standalone” repository. It does not have dependencies to cpp-ethereum anymore and can be built just from the solidity github repository.

Note that the optimizer was disabled in some situations which could lead to larger (but correcter) code.

Features:

  • Formal verification: Take external effects on a contract into account.
  • Type Checker: Warning about unused return value of low-level calls and send.
  • Output: Source location and node id as part of AST output
  • Output: Source location mappings for bytecode
  • Output: Formal verification as part of json compiler output.

Bugfixes:

  • Commandline Interface: Do not crash if input is taken from stdin.
  • Scanner: Correctly support unicode escape codes in strings.
  • JSON output: Fix error about relative / absolute source file names.
  • JSON output: Fix error about invalid utf8 strings.
  • Code Generator: Dynamic allocation of empty array caused infinite loop.
  • Code Generator: Correctly calculate gas requirements for memcpy precompile.
  • Optimizer: Clear known state if two code paths are joined.

Note regarding the PPA: This version of the solc package conflicts with the cpp-ethereum package (because that still contains solidity). Please uninstall cpp-ethereum before installing solc until we also have a new cpp-ethereum release.

A big thank you to all contributors who helped make this release possible!

Download the new version of Solidity here.