This latest version makes Osaka the default target for the compiler, extends storage layout specifiers, brings new deprecation warnings, Linux ARM builds, and more!
Notable features:
Osaka by default
This version of the compiler brings support for the new EVM features introduced by the Fusaka network upgrade.
CLZ Opcode
The Solidity Compiler now includes support for the CLZ opcode (EIP-7939), that counts the number of leading zero bits in a 256-bit word.
Libraries such as Solady have many uses for it, and will also replace existing utilities such as Math.clz() in OpenZeppelin.
Changes to the Release Process
We have also rolled out various changes in our release process. This latest release includes:
- Linux ARM Releases
- Pre-releases
- Discontinuation of PPA Releases
Constants in Storage Layout Specifiers
Version 0.8.31 of the Solidity Compiler further extends the features of storage layout specifiers. It is now possible to use constant variables in the base slot expression.
Feature Deprecations
v0.8.31 also deprecates the first batch of features scheduled for removal in the 0.9.0 breaking release, such as the removal of:
- .send() and .transfer() Functions
- ABI Coder V1
- Virtual Modifiers
- Contract Comparison Operators
- memory-safe-assembly Special Comment
You can read the full release announcement on our blog:
Users can download the new version of Solidity Compiler from GitHub: →https://github.com/argotorg/solidity/releases/tag/v0.8.31
And lastly, a big thank you to all the contributors who helped make this release possible! ![]()