You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: Changelog.md
+45Lines changed: 45 additions & 0 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -1,3 +1,48 @@
1
+
### 0.8.27 (2024-09-04)
2
+
3
+
Language Features:
4
+
* Accept declarations of state variables with ``transient`` data location (parser support only, no code generation yet).
5
+
* Make ``require(bool, Error)`` available when using the legacy pipeline.
6
+
* Yul: Parsing rules for source location comments have been relaxed: Whitespace between the location components as well as single-quoted code snippets are now allowed.
* Commandline Interface: Allow the use of ``--asm-json`` output option in assembler mode to export EVM assembly of the contracts in JSON format.
12
+
* Commandline Interface: Do not perform IR optimization when only unoptimized IR is requested.
13
+
* Constant Optimizer: Uses ``PUSH0`` if supported by the selected evm version.
14
+
* Error Reporting: Unimplemented features are now properly reported as errors instead of being handled as if they were bugs.
15
+
* EVM: Support for the EVM version "Prague".
16
+
* Peephole Optimizer: ``PUSH0``, when supported, is duplicated explicitly instead of using ``DUP1``.
17
+
* Peephole Optimizer: Remove identical code snippets that terminate the control flow if they occur one after another.
18
+
* SMTChecker: Add CHC engine check for underflow and overflow in unary minus operation.
19
+
* SMTChecker: Replace CVC4 as a possible BMC backend with cvc5.
20
+
* Standard JSON Interface: Add ``transientStorageLayout`` output.
21
+
* Standard JSON Interface: Do not perform IR optimization when only unoptimized IR is requested.
22
+
* Yul: Drop the deprecated typed Yul dialect that was only accessible via ``--yul`` in the CLI.
23
+
* Yul: The presence of types in untyped Yul dialects is now a parser error.
24
+
* Yul Optimizer: Caching of optimized IR to speed up optimization of contracts with bytecode dependencies.
25
+
* Yul Optimizer: The optimizer now treats some previously unrecognized identical literals as identical.
26
+
27
+
28
+
Bugfixes:
29
+
* Assembler: Fix ICE caused by imprecise calculation of required size of tags in bytecode when code size is above 255.
30
+
* Parser: Fix spuriously emitted parser error for unary plus operations when used as binary operator in some cases.
31
+
* SMTChecker: Fix error that reports invalid number of verified checks for BMC and CHC engines.
32
+
* SMTChecker: Fix formatting of unary minus expressions in invariants.
33
+
* SMTChecker: Fix internal compiler error when reporting proved targets for BMC engine.
34
+
* SMTChecker: Fix SMT logic error when assigning to an array of contracts or functions.
35
+
* Standard JSON Interface: For Yul input, properly produce output artifacts in case of warnings.
36
+
* TypeChecker: Fix segfault when assigning nested tuple to tuple.
37
+
* Yul IR Code Generation: Deterministic order of Yul subobjects.
38
+
* Yul Optimizer: Fix Yul source locations always referring to unoptimized source, even in optimized outputs.
39
+
* Yul Optimizer: Fix warnings being generated twice when there are no errors.
40
+
* Yul Optimizer: Name simplification could lead to forbidden identifiers with a leading and/or trailing dot, e.g., ``x._`` would get simplified into ``x.``.
41
+
* Yul Parser: Fix segfault when parsing very long location comments.
42
+
43
+
Build System:
44
+
* Change build system to use git submodules for some dependencies (nlohmann-json, fmtlib & range-v3).
0 commit comments