github ethereum/solidity v0.8.2
Version 0.8.2

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

Solidity 0.8.2 adds an optimizer stage that can inline small amounts of code to save gas and
provides more means to work with code documentation by exporting inline comments
and allowing custom natspec tags.

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

Compiler Features:

  • AST: Export NatSpec comments above each statement as their documentation.
  • Inline Assembly: Do not warn anymore about variables or functions being shadowed by EVM opcodes.
  • NatSpec: Allow and export all tags that start with @custom:.
  • NatSpec: Provide source locations for parsing errors.
  • Optimizer: Simple inlining when jumping to small blocks that jump again after a few side-effect free opcodes.

Bugfixes:

  • AST: Added referencedDeclaration for enum members.
  • Code Generator: Fix internal error when functions are passed as parameters of other callables, when the function types can be implicitly converted, but not identical.
  • Parser: Properly parse .address in some situations.
  • SMTChecker: Fix missing type constraints on block and transaction variables in the deployment phase.
  • Type Checker: Fix internal error when override specifier is not a contract.
  • Type Checker: Make function-hash collision errors into fatal type errors.

AST Changes:

  • Adds nameLocation to declarations to represent the exact location of the symbolic name.
  • Removed the redundant function type "bytearraypush" - replaced by "arraypush".
  • Support field documentation to hold NatSpec comments above each statement.

We especially thank all the contributors that made this release possible:
Alex Beregszaszi, Alexander Arlt, Bhargava Shastry, Christian Parpart, Daniel Kirchner, dms-yondy, Đorđe Mijović, DragonDev1906, Franziska Heintel, Harikrishnan Mulackal, Kamil Śliwak, Leonardo Alt, Martin Blicha, Mathias Baumann, Mikko Ohtamaa, nora, Rostyslav,
Sanad, ssi91

Don't miss a new solidity release

NewReleases is sending notifications on new releases.