github ethereum/solidity v0.6.12
Version 0.6.12

latest releases: v0.8.25, v0.8.24, v0.8.23...
3 years ago

This release of Solidity adds more flexibility to inheriting NatSpec and improves the handling of the stack.

Language Features:

  • NatSpec: Implement tag @inheritdoc to copy documentation from a specific base contract.
  • Wasm backend: Add i32.ctz, i64.ctz, i32.popcnt, and i64.popcnt.

Compiler Features:

  • Code Generator: Avoid double cleanup when copying to memory.
  • Code Generator: Evaluate keccak256 of string literals at compile-time.
  • Optimizer: Add rule to remove shifts inside the byte opcode.
  • Peephole Optimizer: Add rule to remove swap after dup.
  • Peephole Optimizer: Remove unnecessary masking of tags.
  • Yul EVM Code Transform: Free stack slots directly after visiting the right-hand-side of variable declarations instead of at the end of the statement only.

Bugfixes:

  • SMTChecker: Fix error in events with indices of type static array.
  • SMTChecker: Fix internal error in sequential storage array pushes (push().push()).
  • SMTChecker: Fix internal error when using bitwise operators on fixed bytes type.
  • SMTChecker: Fix internal error when using compound bitwise operator assignments on array indices inside branches.
  • Type Checker: Fix internal compiler error related to oversized types.
  • Type Checker: Fix overload resolution in combination with {value: ...}.

Build System

  • Update internal dependency of jsoncpp to 1.9.3.

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

a3d4, Alex Beregszaszi, Alexander Arlt, Bhargava Shastry, Daniel Kirchner, Djordje Mijovic, Kamil Śliwak, Leonardo Alt, Mathias Baumann, Sachin Grover, Tiny熊,

If you want to perform a source build, please only use solidity_0.6.12.tar.gz and not the zip provided by github directly.

Don't miss a new solidity release

NewReleases is sending notifications on new releases.