{Solidity:log}
Solidity 0.5.1 Release Announcement
Posted by Solidity Team on December 3, 2018
This release improves the usability of interfaces, fixes some bugs, extends the SMT checker and provides an early preview of the Yul optimizer. A big thank you to all contributors who helped make this release possible! Download the new version of Solidity here.
Read moreSolidity 0.5.0 Release Announcement
Posted by Solidity Team on November 13, 2018
This is a major breaking release of the Solidity language and compiler that includes many new safety features. In general, programmers have to be more explicit, some weird edge-cases are removed from the language and the low-level compiler interface is much simpler. This release was long overdue and as a result has amassed an incredibly long list of changes. Please refer to the "Solidity v0.5.0 Breaking Changes” section in the documentation about a good description of what has changed and how...
Read moreSolidity Bugfix Release
Posted by Solidity Team on September 13, 2018
This post was originally published on the Ethereum blog. The latest version 0.4.25 release of Solidity fixes two important bugs. Another important bug has already been fixed in version 0.4.22 but it was only discovered recently that the bug existed. Note that the Ethereum Foundation runs a bounty program for the code generator part of Solidity. Cleanup of Exponent in Exponentiation Likelihood of occurrence: very low Exploitability: high Discoverability by tests: low Fixed in version: 0.4.25 Summary: Using short types in the exponent of an exponentiation operation can lead to...
Read moreSolidity 0.4.25 Release Announcement
Posted by Solidity Team on September 13, 2018
This release fixed a cleanup error concerning the exponentiation operator. It is a bugfix-only release and does not contain any features. A more detailed description of the bugs fixed can be found on the ethereum blog. Note that nightly builds of Solidity currently contain changes unrelated to this bugfix release. A big thank you to all contributors who helped make this release possible! Download the new version of Solidity here.
Read moreSolidity 0.4.24 Release Announcement
Posted by Solidity Team on May 16, 2018
All remaining breaking changes planned for version 0.5.0 that can be implemented in a backwards-compatible way made it into this release. Solidity can now detect uninitialized storage pointers using control-flow analysis. It is again possible to assign multiple return values from a function to newly declared variables and the SMT checker is able to work with simple storage variables. A big thank you to all contributors who helped make this release possible! Download the new version of Solidity here.
Read moreSolidity 0.4.23 Release Announcement
Posted by Solidity Team on April 19, 2018
Bugfix release: In the previous release, it was possible to define two constructors (one using the new constructor-keyword syntax, another one with the old syntax) for a contract, but only one of them got used in the end. We also included other bugfixes. A big thank you to all contributors who helped make this release possible! Download the new version of Solidity here.
Read moreSolidity 0.4.22 Release Announcement
Posted by Solidity Team on April 17, 2018
This release features several major and long-awaited changes: It is now possible to access dynamic data (arrays, strings, etc) returned by function calls. You can specify error reason strings for revert and require (support by tooling is still pending). We added the global functions abi.encode(), abi.encodePacked(), abi.encodeWithSelector() and abi.encodeWithSignature() which expose the ABI encoding functions and each return a bytes value. Constructors should now be defined using constructor(uint arg1, uint arg2) { ... } to make them stand out and avoid bugs when contracts...
Read moreSolidity 0.4.21 Release Announcement
Posted by Solidity Team on March 8, 2018
We again introduced several changes that are scheduled for version 0.5.0 and can be activated using pragma experimental "v0.5.0";. In this release, this pragma does not generate a warning anymore, so you can (and should) use it in production code. In addition to that, you can now specify which EVM version the contract should be compiled for. Valid values are "homestead", "tangerineWhistle", "spuriousDragon", "byzantium" (the default) and "constantinople". Depending on this setting, different opcodes will be used in some cases. The...
Read moreSolidity 0.4.20 Release Announcement
Posted by Solidity Team on February 14, 2018
This release includes some usability and security improvements and a further evolution of the SMT component. The var keyword has been deprecated for security reasons. Significant steps were made in writing optimisation stages for the intermediate language, which will be used by the new ABI encoder to produce highly optimised output. The main goal is to have a resulting bytecode size similar to the old ABI encoder, while having more runtime checks for a stricter decoding process. This is not yet...
Read moreSolidity 0.4.19 Release Announcement
Posted by Solidity Team on November 30, 2017
In the last weeks, we have mainly been working on big internal changes. One of them is the new ABI decoder, which is still in experimental mode, but will hopefully be production-usable soon. External contributions like allowing constant variables for array lengths and improved error messages should make your life as a programmer easier. Finally, the standard-json-io-system now allows to select certain artifacts from a contract which should speed up your code-compile-test-cycle even more! Features: Code Generator: New ABI decoder which supports...
Read more