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