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 51 · Dec 15 – 21, 2025

Solidity Compiler v0.8.32 Release

Worth knowingcompiler

What changed
Code Generator: Fix a bug in clearing/copying of arrays that straddle the end of storage, potentially resulting in assignment/initialization/ delete / push() / pop() skipping some or all of the intended storage writes. Bugfixes: Codegen: Fix internal compiler error when emitting events via module member access. TypeChecker: Fix error and event selectors not being considered compile-time constant. TypeChecker: Fix string.concat and bytes.concat with constant arguments not being considered…
Production impact
The source does not say.
Try it
Recompile a contract that uses push() on a storage array that previously triggered the bug and confirm that the array state is now correct.
Source
github.com/argotorg/solidity/releases/tag/v0.8.32

Understand it, then run it

Solidity 0.8.32 fixed a problem with how the compiler writes dynamic arrays to storage. When an array’s data lay across the boundary of a storage slot, some elements could be missed during assignment, deletion, or when calling push() or pop(). The new compiler now guarantees that every element is written or cleared correctly, so array operations behave as expected. This change only affects the compiler; the Solidity language syntax and your code stay the same.

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