Solidity - v0.8.19


The release is still in progress and the binaries may not yet be available from all sources.

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.


Details

date
Feb. 22, 2023, 2:19 p.m.
name
Version 0.8.19
type
Patch
👇
Register or login to:
  • 🔍View and search all Solidity releases.
  • 🛠️Create and share lists to track your tools.
  • 🚨Setup notifications for major, security, feature or patch updates.
  • 🚀Much more coming soon!
Continue with GitHub
Continue with Google
or