Solidity Version 0.8.36

Release

Version
v0.8.36
Repository
ethereum/solidity

Release notes

We are excited to announce the release of the Solidity Compiler v0.8.36!

This release fixes some important bugs, introduces support for the upcoming EVM version Amsterdam, as well as memory spilling for our new and experimental SSA CFG pipeline.

Changelog

Important Bugfixes:

• PostTypeContractLevelChecker: Fix unintentional reversal of linearizedBaseContracts annotation when emitting the warning about the base slot of storage layout being too close to the end of storage. The reversal would affect analysis and code generation dependent on the inheritance order.

• Yul Optimizer: Fix call graph cycle detection failing to classify some mutually recursive functions as recursive.

Compiler Features:

• Commandline Interface: --optimize-runs now also accepts values from the interval [INT64_MAX, UINT64_MAX].

• EVM: Support for the EVM version "Amsterdam".

• General: Remove support for the experimental EOF (EVM Object Format) backend.

• General: Speed up SHA-256 hashing (picosha2).

• General: The experimental SSA CFG codegen can now spill stack values to memory to avoid stack-too-deep errors.

Bugfixes:

• Constant Evaluator: Fix ICE when evaluating erc7201 builtin with wrong number of arguments.

• Custom Storage Layout: Fix segfault when emitting the "too close to end of storage" warning for contracts with no storage variables.

• NatSpec: Disallow @return tag in event documentation.

• SMTChecker: Fix incorrect handling of constant operands of unary operations.

• Standard JSON Interface: Fix incorrect serialization of optimizer.runs setting for values in the interval [INT64_MAX, UINT64_MAX].

We would especially like to thank all the contributors that made this release possible:

0xjc65eth, Daniel Von Fange, Kamil Śliwak, Mate Soos, Matheus Aguiar, Nikola Matić, Tavian Dev, Thijmen Maus, Weixie Cui, blishko, clonker, cui, djole, matheusaaguiar, metsw24-max, r0qs, rodiazet

Full release on GitHub ↗

Release Polkadot SDK

Polkadot stable2606-3

This release contains the changes from polkadot-stable2606-2 to polkadot-stable2606-3. ℹ️ Please note: this is a patch release for the latest stable version stable2606. If your nodes...

Release Agave (Solana validator)

Agave (Solana validator) Release v4.5.0-alpha.2

This is a pre-release for testing only. Do not deploy to mainnet, testnet, or any production host. https://github.com/anza-xyz/agave/blob/master/CHANGELOG.md#edge-channel What's...

Release Hardhat

Hardhat v3.19.0

This release expands our support for the upcoming Amsterdam hardfork, including: EIP-7976, EIP-7981, EIP-7997, EIP-8024 and EIP-8037. In particular, EIP-8037's separation of execution...

Release Geth

Geth Protein Sludge Pack (v1.17.8)

This is a security-focused release, fixing several DoS risk issues ❤️‍🩹 . Note most of the the fixes related to bugs which only become possible after the activation of the Amsterdam...