github ethereum/solidity v0.8.3
Version 0.8.3

latest releases: v0.8.28, v0.8.27, v0.8.26...
3 years ago

Solidity 0.8.3 is a bugfix release that fixes an important bug about how the optimizer handles the Keccak256 opcode.
For details on the bug, please see the bug blog post.

For a detailed explanation of the new features and changes, please see the release blog post.

Important Bugfixes:

  • Optimizer: Fix bug on incorrect caching of Keccak-256 hashes.

Compiler Features:

  • Command Line Interface: Drop experimental support for --machine evm15.
  • Optimizer: Try to move and with constant inside or to improve storage writes of small types.
  • Optimizer: Replace multiplications and divisions with powers of two by shifts.

Bugfixes:

  • AST Import: For constructors, a public visibility is ignored during importing.
  • Error Reporter: Fix handling of carriage return.
  • SMTChecker: Fix internal error in BMC on resolving virtual functions inside branches.
  • SMTChecker: Fix internal error on array.pop nested inside 1-tuple.
  • SMTChecker: Fix internal error on FixedBytes constant initialized with string literal.
  • SMTChecker: Fix internal error on array slices.
  • SMTChecker: Fix internal error on calling public getter on a state variable of type array (possibly nested) of structs.
  • SMTChecker: Fix internal error on pushing to string casted to bytes.
  • SMTChecker: Fix bug in virtual functions called by constructors.

AST Changes:

  • ModifierInvocation: Add kind field which can be modifierInvocation or baseConstructorSpecifier.

We especially thank all the contributors that made this release possible:
Alex Beregszaszi, Alexander Arlt, Bhargava Shastry, Daniel Kirchner, Djordje Mijovic, ghidello, Harikrishnan Mulackal, Kamil Śliwak, Leonardo Alt, Martin Blicha, Mathias Baumann.

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

Don't miss a new solidity release

NewReleases is sending notifications on new releases.