Solidity Developer Survey 2021 is Live!

Today, we launched the Solidity Developer Survey 2021. Please all take 10 minutes to participate and let us know your feedback! This marks the second time we are conducting a structured big developer survey. You can find the results of last year’s Solidity developer survey here. [Read More]

Solidity 0.8.10 Release Announcement

Solidity v0.8.10 can now report contract invariants and reentrancy properties through the SMTChecker. It also contains some new optimizations with regards to external function calls and enables the new EVM code generator for pure Yul mode. [Read More]

User Defined Value Types Bug

On September 28th, 2021, Harry Altman (@haltman-at) of Truffle discovered a bug in user defined value types. The bug has no influence on the correctness of Solidity contracts, but contracts compiled with Solidity 0.8.8 that use the new feature are unnecessarily wasteful and might have problems with tooling or contract upgrades. The bug exists only in Solidity 0.8.8 and is fixed in 0.8.9. We assigned the bug a severity of “very low”. [Read More]

Solidity 0.8.9 Release Announcement

Solidity v0.8.9 is a pure bugfix release and fixes two important, but low severity, bugs. The first bug is related to immutables of signed integer types shorter than 256 bits. The bug causes sign extension (cleanup) of those values to not always being properly performed. It was introduced in Solidity 0.6.5. Read more in the respective security alert. The second bug was introduced with user defined value types in Solidity v0.8.8 (released two days ago). User defined types with underlying... [Read More]

Signed Immutables Bug

On September 28th, 2021, the Solidity team discovered that for immutable variables of a signed integer type shorter than 256 bits, sign extension (cleanup) of its value is not always properly performed. To our knowledge, the value can only be accessed in its unclean state when using inline assembly. The bug is present since the introduction of the immutable feature in Solidity 0.6.5 and is fixed in 0.8.9. We assigned the bug a severity of “very low”. [Read More]

Solidity 0.8.8 Release Announcement

Solidity v0.8.8 introduces user defined value types as a major feature. The override keyword is now optional for interface functions, immutable variables can be read in the constructor, there is support for retrieving the smallest and largest value of an enum, you can specify include directories and the commandline interface was cleaned up. Furthermore, we fixed several bugs and the SMTChecker has improved language coverage. [Read More]

Solidity 0.8.7 Release Announcement

Solidity v0.8.7 introduces support for the London upgrade, includes various improvements to Yul to EVM code transformation, the SMTChecker and some bugfixes. Please note: Unfortunately, the npm package of this version is corrupted. Pulling the solc-js repository directly will work. [Read More]