Skip to content

Version 0.4.11

Compare
Choose a tag to compare
@chriseth chriseth released this 03 May 12:59

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.

Features:

  • Implement the Standard JSON Input / Output API
  • Support interface contracts.
  • C API (jsonCompiler): Add the compileStandard() method to process a Standard JSON I/O.
  • Commandline interface: Add the --standard-json parameter to process a Standard JSON I/O.
  • Commandline interface: Support --allow-paths to define trusted import paths. Note: the
    path(s) of the supplied source file(s) is always trusted.
  • Inline Assembly: Storage variable access using _slot and _offset suffixes.
  • 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 '+'

Bugfixes:

  • 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.

We especially thank all our open source community contributors:

Abraham Sangha, AdrianClv, Andy Milenius, Chandan Kumar, Federico Bond, FedericoCapello, JohnAllen, Matt Searle, Matt Wisniewski, Morgan, Omkara and Rhett Aultman

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

Update: the original release on 3rd of May contained the wrong version numbers (it included the pre-release tag). This has been rectified today, the 4th of May, and all the linked binaries have been updated.

The files should have the following SHA-256 hashes:

  • solc-static-linux: 0a8d138ee245039e6f8312edc024ba3c4739cc3c013b47dc7fc9196a2e327fea
  • solidity-windows.zip: 4387ef9733643ed387e5975d2241e423bd8d79c54db90d07a70c62c8c3e1be77
  • solidity_0.4.11.tar.gz: 5a96a3ba4d0d6457ad8101d6219152610e46b384bfbd48244e3474573f7a6d47
  • soljson.js: 49fa27e6e70e08ddc7ba3790325e07c07902d9e855362d03fb908757ac14b4e5