We just released versions 0.8.32 and 0.8.33 of the Solidity Compiler.
Note: We recommend skipping 0.8.32 and upgrading directly to 0.8.33, which contains a hotfix for an issue introduced in 0.8.32.
Important Bugfixes
Lost Storage Array Write On Slot Overflow
Version 0.8.32 fixes a bug affecting operations that involve clearing or copying arrays that straddle the end of storage. The bug manifests only in contracts that use very unusual storage layouts, intentionally bypassing the compiler’s safeguards. The bug existed since v0.1.0, affects both pipelines, and is independent of the optimizer.
Read our blog post describing the bug to learn more about how it was introduced, which contracts could be affected, and what its effects are.
Thanks to @Audittens for reporting this issue!
Other Notable Changes
Emitting Events and Reverting with Errors via Module Member Access
We fixed the internal compiler error that was triggered when emitting an event or reverting with an error referenced through a module. This is part of our effort to ensure feature parity between free functions and libraries.
Migration of solc-bin Hosting from AWS to Cloudflare
We migrated hosting for historical release binaries from Amazon S3 to Cloudflare R2 to reduce operational costs. Binaries remain available at binaries.soliditylang.org.
The legacy solc-bin.ethereum.org domain is deprecated, as it is no longer under our control.
Hotfix in 0.8.33
Version 0.8.32 unintentionally introduced an internal compiler error when accessing getters of constant state variables. While this doesn’t cause miscompilations or security vulnerabilities, it affects common patterns. Version 0.8.33 addresses this issue and is therefore recommended instead of 0.8.32.
You can read the full release announcement on our blog:
Users can download the new version of Solidity Compiler from GitHub:
And lastly, we would like to thank all the contributors who helped make this release possible! ![]()