{ skip to content }

{Solidity:​log}

Latest News & Announcements

Releases
Security Alerts
Announcements
Explainers

Solidity Developer Survey 2021 Results

Posted by Franziska Heintel on February 7, 2022

Announcements

In this post, we will be summarizing and analyzing the results of the 2021 Solidity Developer Survey. A big thank you goes out to everybody who took the time and participated! Your input is invaluable to us and plays a crucial role in helping to continuously improve the Solidity developer experience as a whole. Summary & Notable Insights Survey Audience**: In total, 435 developers from 73 different countries participated in the 2021 survey. Compared to 2020, that is more than a 100% increase in...

Read more

Solidity 0.8.11 Release Announcement

Posted by Solidity Team on December 20, 2021

Releases

Solidity v0.8.11 adds a first implementation of a Language Server, allows a safer way to perform ABI-encoding and fixes several bugs. Notable New Features Language Server Preview Language Server Protocol is an initiative that allows better interoperability between IDEs and compilers, or more generally, language diagnostics tools. The idea is that instead of writing a different plugin for each combination of IDEs and languages, every IDE implements a single client and every compiler implements a single server and since both of them use the same protocol, you can combine all of...

Read more

Solidity Developer Survey 2021 is Live!

Posted by Franziska Heintel on November 18, 2021

Announcements

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. Shape the Future of Solidity 🔮 The survey helps us to further improve the Solidity language and compiler and shape the future roadmap of Solidity. We can't wait to hear your thoughts on the prioritization of new...

Read more

Solidity 0.8.10 Release Announcement

Posted by Solidity Team on November 9, 2021

Releases

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. Notable New Features New EVM Code Transform for Compilation via Yul IR With this release, we introduce a new EVM code generation backend that is used for the experimental compilation pipeline of Solidity via Yul (with enabled optimizer), as well as for optimized compilation of Yul input. While...

Read more

User Defined Value Types Bug

Posted by Solidity Team on September 29, 2021

Security Alerts

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". Storage Layout of User Defined Value Types The compiler did not correctly compute the storage layout...

Read more

Solidity 0.8.9 Release Announcement

Posted by Solidity Team on September 29, 2021

Releases

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 type shorter...

Read more

Signed Immutables Bug

Posted by Solidity Team on September 29, 2021

Security Alerts

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". Technical Details When immutable variables are assigned in Solidity during the construction...

Read more

User Defined Value Types in Solidity

Posted by Solidity Team on September 27, 2021

Explainers

Solidity v0.8.8 introduces user defined value types as a means to create zero-cost abstractions over an elementary value type that also increases type safety and improves readability. Motivation A problem with primitive value types is that they are not very descriptive: they only specify how the data is stored and not how it should be interpreted. For example, one may want to use uint128 to store the price of some object as well as the quantity available. It is quite useful to have stricter type rules to avoid...

Read more

Solidity 0.8.8 Release Announcement

Posted by Solidity Team on September 27, 2021

Releases

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. Notable New Features User Defined Value Types A user defined value type allows creating a zero-cost-abstraction over an elementary value type that also...

Read more

Solidity 0.8.7 Release Announcement

Posted by Solidity Team on August 11, 2021

Releases

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. Support for London Upgrade Solidity adds support for the BASEFEE opcode (EIP-3198 and EIP-1559) which exposes the block's base fee. This can be accessed via the global block.basefee or using basefee() in inline assembly or Yul. The following contract illustrates an example: contract Basefee { function...

Read more
Newer posts
Older posts

Get involved

GitHub

Twitter

Mastodon

Matrix

Discover more

BlogDocumentationUse casesContributeAboutForum

2024 Solidity Team

•

Security Policy

•

Code of Conduct