Skip to main content

Solidity 0.8.36

Release Date: July 9, 2026

Overview

Solidity 0.8.36 has been released on July 9, 2026, bringing EVM support for the upcoming "Amsterdam" hard fork, critical bugfixes in the Yul optimizer, and a number of compiler quality-of-life improvements. This release also removes the experimental EOF (EVM Object Format) backend and introduces SSA CFG stack-to-memory spill capabilities.

New Features

  • EVM "Amsterdam" support — Solidity now targets the next-generation EVM revision via --evm-version amsterdam, enabling new opcodes and gas optimizations on networks that have activated the fork.
  • SSA CFG stack-to-memory spilling — The experimental SSA-based code generation can now spill stack values to memory automatically, preventing stack-too-deep errors in complex contracts.
  • CLI improvement--optimize-runs now accepts values in the full [INT64_MAX, UINT64_MAX] range instead of capping at 2^32 - 1.
  • SHA-256 hashing speedup — The internal picosha2 library has been replaced with a faster implementation, reducing gas costs for operations that depend on SHA-256.

Breaking Changes

  • EOF backend removed — The experimental EVM Object Format backend has been removed. Projects relying on EOF output must switch to the standard legacy or Yul pipeline.

Important Bugfixes

  • PostTypeContractLevelChecker — Fixed an unintentional reversal of the linearizedBaseContracts annotation that could affect analysis and code generation dependent on inheritance ordering.
  • Yul Optimizer — Fixed call-graph cycle detection that failed to classify some mutually recursive functions as recursive, which could lead to incorrect optimization passes.

Bugfixes

  • Fixed ICE (Internal Compiler Error) when evaluating the erc7201 builtin with an incorrect number of arguments.
  • Fixed segfault in custom storage layout when emitting the "too close to end of storage" warning for contracts with no storage variables.
  • NatSpec: @return tag is now disallowed in event documentation.
  • SMTChecker: Fixed incorrect handling of constant operands in unary operations.
  • Standard JSON: Fixed incorrect serialization of optimizer.runs for values in the [INT64_MAX, UINT64_MAX] interval.

How to Upgrade

Upgrade via npm with npm install -g solc, via Homebrew with brew upgrade solidity, or download the binary from the official Solidity release page. Run your existing test suite after upgrading — the Yul optimizer fix in particular may surface previously hidden issues in recursive functions.

What is New?

By continuing to use the site, you agree to the use of cookies.