Introducing the newest version of the Solidity Compiler!
We are excited to announce the release of the Solidity Compiler Solidity v0.8.24. This newest version of the compiler brings readiness for the "Cancun" network upgrade, including support for transient storage (EIP-1153), shard blob transactions (EIP-4844), & more. The release binaries for macOS are now also compatible with Apple Silicon chips.
Notable Features
- Support for transient storage for inline assembly (EIP-1153)
- Support for BLOBBASEFEE (EIP-7516)
- Support for MCOPY (EIP-5656)
- Changes in SELFDESTRUCT Behavior (EIP-6780)
- Support for Apple Silicon
Changelog
Language Features
- Introduce global
block.blobbasefee
for retrieving the blob base fee of the current block. - Introduce global function
blobhash(uint)
for retrieving versioned hashes of blobs, akin to the homonymous Yul builtin. - Yul: Introduce builtin
blobbasefee()
for retrieving the blob base fee of the current block. - Yul: Introduce builtin
blobhash()
for retrieving versioned hashes of blobs associated with the transaction. - Yul: Introduce builtin
mcopy()
for cheaply copying data between memory areas. - Yul: Introduce builtins
tload()
andtstore()
for transient storage access.
Compiler Features
- EVM: Support for the EVM Version "Cancun".
- SMTChecker: Support
bytes.concat
except when string literals are passed as arguments. - Standard JSON Interface: Add experimental support to import EVM assembly in the format used by
--asm-json
. - TypeChecker: Comparison of internal function pointers now yields a warning, as it can produce unexpected results with the legacy pipeline enabled.
Bugfixes:
- AST import: Fix bug when importing inline assembly with empty
let
variable declaration.
We especially thank all the contributors that made this release possible:
Alexander Arlt, Bhargava Shastry, Daniel Kirchner, GoodDaisy, Jitendra Kumar, Kamil Śliwak, Matheus Aguiar, Nikola Matić, Qi He, Sukey, Vishwa Mehta, pgebal, r0qs, xiaolou86.