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
- 🔍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!