This release fixes a bug in the optimizer (more about this on the blog), introduces the standard JSON interface, adds
interface contracts and implements some additional safety checks.
The standard JSON interface provides a unified way to invoke the Solidity compiler in order to ease cross-platform adoption and compilation verification.
- Implement the Standard JSON Input / Output API
- C API (
jsonCompiler): Add the
compileStandard()method to process a Standard JSON I/O.
- Commandline interface: Add the
standard-jsonparameter to process a Standard JSON I/O.
- Commandline interface: Support
allow-pathsto define trusted import paths. Note: the path(s) of the supplied source file(s) is always trusted.
- Inline Assembly: Storage variable access using
- Inline Assembly: Disallow blocks with unbalanced stack.
- Static analyzer: Warn about statements without effects.
- Static analyzer: Warn about unused local variables, parameters, and return parameters.
- Syntax checker: issue deprecation warning for unary ‘+’
- Assembly output: Implement missing AssemblyItem types.
- Compiler interface: Fix a bug where source indexes could be inconsistent between Solidity compiled with different compilers (clang vs. gcc) or compiler settings. The bug was visible in AST and source mappings.
- Gas Estimator: Reflect the most recent fee schedule.
- Type system: Contract inheriting from base with unimplemented constructor should be abstract.
- Optimizer: Number representation bug in the constant optimizer fixed.
A big thank you to all contributors who helped make this release possible!
Download the new version of Solidity here.