Version 0.4.11
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 thecompileStandard()
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