Skip to content

Version 0.8.19

Compare
Choose a tag to compare
@nikola-matic nikola-matic released this 22 Feb 14:19
· 1728 commits to develop since this release
7dd6d40

Introducing the newest version of the Solidity Compiler!
We are excited to announce the latest release of the Solidity Compiler, Solidity v0.8.19.
This latest version includes a range of improvements and, most importantly, custom operators for user-defined value types language feature!
It also contains a fix for a long-standing bug that can result in code that is only used in creation code to also be included in runtime bytecode.

Changelog

Language Features:

  • Allow defining custom operators for user-defined value types via using {f as +} for T global syntax.

Compiler Features:

  • SMTChecker: New trusted mode that assumes that any compile-time available code is the actual used code, even in external calls. This can be used via the CLI option --model-checker-ext-calls trusted or the JSON field settings.modelChecker.extCalls: "trusted".

Bugfixes:

  • Assembler: Avoid duplicating subassembly bytecode where possible.
  • Code Generator: Avoid including references to the deployed label of referenced functions if they are called right away.
  • ContractLevelChecker: Properly distinguish the case of missing base constructor arguments from having an unimplemented base function.
  • SMTChecker: Fix internal error caused by unhandled z3 expressions that come from the solver when bitwise operators are used.
  • SMTChecker: Fix internal error when using the custom NatSpec annotation to abstract free functions.
  • TypeChecker: Also allow external library functions in using for.

AST Changes:

  • AST: Add function field to UnaryOperation and BinaryOperation AST nodes. functionList in UsingForDirective AST nodes will now contain operator and definition members instead of function when the list entry defines an operator.

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

Bhargava Shastry, Daniel Kirchner, Evan Saulpaugh, Jacob Heider, Kamil Śliwak, Leo Alt, Matheus Aguiar, Michał Janiszewski, Nicolás Acosta, Nikola Matić, Nuno Santos, Pawel Gebal, Peter Lemenkov, Rodrigo Q. Saramago, William Entriken, Zachinquarantine, chriseth, drblessing, minaminao, wechman

If you want to perform a source build, please only use solidity_0.8.19.tar.gz and not the source archives generated automatically by GitHub.