ソリディティv0.8.31が公開
イーサリアム(Ethereum)のスマートコントラクト言語ソリディティ(Solidity)の開発チームが、コンパイラの最新バージョン「ソリディティv0.8.31(Solidity v0.8.31)」を12月3日にギットハブ(GitHub)に公開した。
今回のアップデートでは、同日にメインネットで有効化されたイーサリアムのネットワークアップグレード「フサカ(Fusaka)」において、実行レイヤー側で導入された最新EVM仕様「オーサカ(Osaka)」への対応が進み、コンパイラのデフォルト設定としても osaka が適用された。
またストレージレイアウト(データ配置)を指定する機能が拡張され、コントラクト内の定数(constant 変数)をストレージスロット計算に利用できるようになったという。これにより複雑なコントラクト間の継承構造やアップグレード型コントラクト(proxy)の設計自由度が高まるとのこと。
加えて、イーサリアム仮想マシン向けの低レベル中間言語Yulでは、256bitデータの先頭ゼロ数を数える「clz」命令が追加されるなど、最適化ツールの改善も含まれている。
デバッグ関連では、EOF(EVM Object Format)環境における命令位置やソースコード位置の取得に対応した「ethdebug」の実験的サポートが追加された。これにより開発者は、EOF対応のコードをより詳細に検証できるようになる。
さらに将来のメジャーアップデート「ソリディティv0.9.0」で削除予定の機能について、非推奨(deprecation)警告が追加された。警告対象には、address 型で利用される関数(send / transfer)、ABI coder v1、virtual 指定子、コントラクト型の変数同士の比較などが含まれる。
その他、リナックスARM64(Linux ARM64)向けの公式ビルドが提供開始されたほか、「Boost」「GCC」「Clang」など開発環境の最低要件が引き上げられた。
ちなみにイーサリアムのアップグレード名称には一定の慣例がある。実行レイヤーのアップグレード名には、過去に開発者会議「デブコン(Devcon)」を開催した都市名が採用され、一方で合意レイヤーには恒星の名称が付けられる。今回ソリディティが対応した「フサカ(Fusaka)」は、この命名規則に沿った アップグレード全体の総称とされている。具体的には、実行レイヤーにデブコン5の開催地「オーサカ」、合意レイヤーにはカシオペヤ座の恒星のひとつ「フールー(Fulu)」が採用されている。
Solidity v0.8.31 is out! ✨
— Solidity (@solidity_lang) December 4, 2025
This latest version makes Osaka the default target for the compiler, extends storage layout specifiers, brings new deprecation warnings, Linux ARM builds, and more!
Highlights in the thread! ↓🧵 pic.twitter.com/avgMhFFZua