This site is being rebuilt and some pages are out of date. For current details, write to [email protected]. This notice goes away when the rebuild is done.

No analytics unless you allow it, no tracking. This site keeps in your browser the language you pick, the theme, its colour, which site you chose, the currency on the pricing page and that you closed this notice; signing in adds session cookies. The legal page has the details.

Sign in

Radar · Solidity · Archive · Week 49 · Dec 1 – 7, 2025

Solidity 0.8.31 Release

Worth knowingcompiler

What changed
The compiler now supports the new EVM features introduced by the Fusaka network upgrade, extends the functionality of storage layout specifiers, and deprecates the first batch of features scheduled for removal in the 0.9.0 breaking release. Official ARM Linux builds are added.
Production impact
The source does not say.
Try it
Compile a contract that uses a constant state variable in the base slot expression and verify it compiles with pragma solidity ^0.8.31.
Source
github.com/argotorg/solidity/releases/tag/v0.8.31

Understand it, then run it

Solidity 0.8.31 adds a small but useful tweak to how storage layout works. You can now write a constant state variable and use it inside the slot expression that tells the compiler where a storage variable lives. This means you can write slot: 0 + MY_CONST instead of just slot: 0. The compiler will evaluate the constant at compile time and place the variable in the correct slot. It keeps the rest of the language the same, so you don’t need to learn new syntax beyond the slot: keyword.

Written by gpt-oss-20b from the linked source · claims checked against the sources · archive, not individually reviewed