|
1 |
| -### 0.8.18 (unreleased) |
| 1 | +### 0.8.18 (2023-02-01) |
2 | 2 |
|
3 | 3 | Language Features:
|
4 |
| -* Allow named parameters in mapping types. |
| 4 | + * Allow named parameters in mapping types. |
5 | 5 |
|
6 | 6 |
|
7 | 7 | Compiler Features:
|
| 8 | + * Commandline Interface: Add ``--no-cbor-metadata`` that skips CBOR metadata from getting appended at the end of the bytecode. |
8 | 9 | * Commandline Interface: Return exit code ``2`` on uncaught exceptions.
|
9 |
| - * Commandline Interface: Add `--no-cbor-metadata` that skips CBOR metadata from getting appended at the end of the bytecode. |
10 | 10 | * EVM: Deprecate ``block.difficulty`` and disallow ``difficulty()`` in inline assembly for EVM versions >= paris. The change is due to the renaming introduced by [EIP-4399](https://eips.ethereum.org/EIPS/eip-4399).
|
11 | 11 | * EVM: Introduce ``block.prevrandao`` in Solidity and ``prevrandao()`` in inline assembly for EVM versions >= paris.
|
12 | 12 | * EVM: Set the default EVM version to "Paris".
|
13 | 13 | * EVM: Support for the EVM version "Paris".
|
14 |
| - * Natspec: Add event Natspec inheritance for devdoc. |
15 |
| - * Standard JSON: Add a boolean field `settings.metadata.appendCBOR` that skips CBOR metadata from getting appended at the end of the bytecode. |
16 |
| - * Yul EVM Code Transform: Generate more optimal code for user-defined functions that always terminate a transaction. No return labels will be pushed for calls to functions that always terminate. |
17 |
| - * Yul Optimizer: Allow replacing the previously hard-coded cleanup sequence by specifying custom steps after a colon delimiter (``:``) in the sequence string. |
18 |
| - * Yul Optimizer: Eliminate ``keccak256`` calls if the value was already calculated by a previous call and can be reused. |
19 | 14 | * Language Server: Add basic document hover support.
|
| 15 | + * Natspec: Add event Natspec inheritance for devdoc. |
20 | 16 | * Optimizer: Added optimization rule ``and(shl(X, Y), shl(X, Z)) => shl(X, and(Y, Z))``.
|
21 |
| - * SMTChecker: Support Eldarica as a Horn solver for the CHC engine when using the CLI option ``--model-checker-solvers eld``. The binary `eld` must be available in the system. |
22 |
| - * SMTChecker: Make ``z3`` the default solver for the BMC and CHC engines instead of all solvers. |
23 | 17 | * Parser: More detailed error messages about invalid version pragmas.
|
24 |
| - * Removed support for the ``solidity-upgrade`` tool. |
| 18 | + * SMTChecker: Make ``z3`` the default solver for the BMC and CHC engines instead of all solvers. |
| 19 | + * SMTChecker: Support Eldarica as a Horn solver for the CHC engine when using the CLI option ``--model-checker-solvers eld``. The binary ``eld`` must be available in the system. |
| 20 | + * Solidity Upgrade Tool: Remove ``solidity-upgrade`` tool. |
| 21 | + * Standard JSON: Add a boolean field ``settings.metadata.appendCBOR`` that skips CBOR metadata from getting appended at the end of the bytecode. |
25 | 22 | * TypeChecker: Warn when using deprecated builtin ``selfdestruct``.
|
| 23 | + * Yul EVM Code Transform: Generate more optimal code for user-defined functions that always terminate a transaction. No return labels will be pushed for calls to functions that always terminate. |
| 24 | + * Yul Optimizer: Allow replacing the previously hard-coded cleanup sequence by specifying custom steps after a colon delimiter (``:``) in the sequence string. |
| 25 | + * Yul Optimizer: Eliminate ``keccak256`` calls if the value was already calculated by a previous call and can be reused. |
26 | 26 |
|
27 | 27 |
|
28 | 28 | Bugfixes:
|
29 | 29 | * Parser: Disallow several ``indexed`` attributes for the same event parameter.
|
30 | 30 | * Parser: Disallow usage of the ``indexed`` attribute for modifier parameters.
|
31 |
| - * Yul Optimizer: Hash hex and decimal literals according to their value instead of their representation, improving the detection of equivalent functions. |
32 |
| - * Solidity Upgrade Tool ``solidity-upgrade``: Fix the tool returning success code on uncaught exceptions. |
33 | 31 | * SMTChecker: Fix display error for negative integers that are one more than powers of two.
|
34 |
| - * SMTChecker: Improved readability for large integers that are powers of two or almost powers of two in error messages. |
35 |
| - * SMTChecker: Fix internal error when a public library function is called internally. |
36 |
| - * SMTChecker: Fix internal error on multiple wrong SMTChecker natspec entries. |
37 | 32 | * SMTChecker: Fix internal error on chain assignments using static fully specified state variables.
|
38 |
| - * SMTChecker: Fix internal error when using user defined types as mapping indices or struct members. |
| 33 | + * SMTChecker: Fix internal error on multiple wrong SMTChecker natspec entries. |
| 34 | + * SMTChecker: Fix internal error when a public library function is called internally. |
39 | 35 | * SMTChecker: Fix internal error when deleting struct member of function type.
|
| 36 | + * SMTChecker: Fix internal error when using user-defined types as mapping indices or struct members. |
| 37 | + * SMTChecker: Improved readability for large integers that are powers of two or almost powers of two in error messages. |
40 | 38 | * TypeChecker: Fix bug where private library functions could be attached with ``using for`` outside of their declaration scope.
|
| 39 | + * Yul Optimizer: Hash hex and decimal literals according to their value instead of their representation, improving the detection of equivalent functions. |
41 | 40 |
|
42 | 41 |
|
43 | 42 | ### 0.8.17 (2022-09-08)
|
|
0 commit comments