@@ -5,6 +5,86 @@ All notable changes to this project will be documented in this file.
55The format is based on [ Keep a Changelog] ( https://keepachangelog.com/en/1.1.0/ ) ,
66and this project adheres to [ Semantic Versioning] ( https://semver.org/spec/v2.0.0.html ) .
77
8+ ## [ 0.1.8] ( https://github.com/paradigmxyz/solar/releases/tag/v0.1.8 )
9+
10+ Notable changes:
11+ - Reduced size of AST for lower memory usage and better performance ([ #500 ] ( https://github.com/paradigmxyz/solar/issues/500 ) , [ #546 ] (https://github.com/paradigmxyz/solar/issues/546 , [ #497 ] ( https://github.com/paradigmxyz/solar/issues/497 ) )
12+ - Faster parsing, lexing ([ #516 ] ( https://github.com/paradigmxyz/solar/issues/516 ) , [ #502 ] ( https://github.com/paradigmxyz/solar/issues/502 ) , [ #533 ] ( https://github.com/paradigmxyz/solar/issues/533 ) )
13+ - Implemented fmt::Debug for more types ([ #537 ] ( https://github.com/paradigmxyz/solar/issues/537 ) )
14+
15+ ### Bug Fixes
16+
17+ - [ sema] Remap Sources::file_to_id when sorting ([ #548 ] ( https://github.com/paradigmxyz/solar/issues/548 ) )
18+ - [ sema] Do not expose mutable Session access while entered ([ #542 ] ( https://github.com/paradigmxyz/solar/issues/542 ) )
19+ - [ diagnostics] Render footers at the bottom ([ #538 ] ( https://github.com/paradigmxyz/solar/issues/538 ) )
20+ - [ lexer] Str_from_to_end ([ #532 ] ( https://github.com/paradigmxyz/solar/issues/532 ) )
21+ - [ interface] Check longest context matches ([ #529 ] ( https://github.com/paradigmxyz/solar/issues/529 ) )
22+ - [ ast] Debug for Token ([ #512 ] ( https://github.com/paradigmxyz/solar/issues/512 ) )
23+ - [ CONTRIBUTING.md] Fmt check needs nightly toolchain ([ #501 ] ( https://github.com/paradigmxyz/solar/issues/501 ) )
24+ - [ ast] Store yul::Expr even if only Call is allowed ([ #496 ] ( https://github.com/paradigmxyz/solar/issues/496 ) )
25+ - [ sema] Peel parens when lowering call args ([ #495 ] ( https://github.com/paradigmxyz/solar/issues/495 ) )
26+
27+ ### Dependencies
28+
29+ - [ deps] Weekly ` cargo update ` ([ #539 ] ( https://github.com/paradigmxyz/solar/issues/539 ) )
30+ - [ deps] Weekly ` cargo update ` ([ #534 ] ( https://github.com/paradigmxyz/solar/issues/534 ) )
31+ - Bump codspeed 4 ([ #522 ] ( https://github.com/paradigmxyz/solar/issues/522 ) )
32+ - [ deps] Weekly ` cargo update ` ([ #511 ] ( https://github.com/paradigmxyz/solar/issues/511 ) )
33+
34+ ### Features
35+
36+ - [ ast] Spanned optional commasep elements ([ #543 ] ( https://github.com/paradigmxyz/solar/issues/543 ) )
37+ - [ data-structures] Add ThinSlice ([ #545 ] ( https://github.com/paradigmxyz/solar/issues/545 ) )
38+ - Add ` ItemId::as_struct ` ([ #544 ] ( https://github.com/paradigmxyz/solar/issues/544 ) )
39+ - [ sema] Allow delaying/manual import resolution ([ #531 ] ( https://github.com/paradigmxyz/solar/issues/531 ) )
40+ - [ sema] Add sources getters ([ #528 ] ( https://github.com/paradigmxyz/solar/issues/528 ) )
41+ - Checks on upper bounds of contract storage sizes ([ #169 ] ( https://github.com/paradigmxyz/solar/issues/169 ) )
42+ - [ sema] Add validation for assembly memory-safe flags ([ #263 ] ( https://github.com/paradigmxyz/solar/issues/263 ) )
43+ - Configurable logging destination ([ #498 ] ( https://github.com/paradigmxyz/solar/issues/498 ) )
44+ - [ parser] Introduce ` Recovered ` enum to improve code readability ([ #517 ] ( https://github.com/paradigmxyz/solar/issues/517 ) )
45+
46+ ### Miscellaneous Tasks
47+
48+ - Add some traits to AstPath ([ #549 ] ( https://github.com/paradigmxyz/solar/issues/549 ) )
49+ - Simplify pointer projection ([ #541 ] ( https://github.com/paradigmxyz/solar/issues/541 ) )
50+ - Remove feature(doc_auto_cfg) ([ #540 ] ( https://github.com/paradigmxyz/solar/issues/540 ) )
51+ - [ sema] Simplify perform_imports ([ #530 ] ( https://github.com/paradigmxyz/solar/issues/530 ) )
52+ - [ sema] Fix parse dbg log ([ #527 ] ( https://github.com/paradigmxyz/solar/issues/527 ) )
53+ - Update benchmarks ([ #523 ] ( https://github.com/paradigmxyz/solar/issues/523 ) )
54+ - [ interface] Make SessionGlobals private ([ #506 ] ( https://github.com/paradigmxyz/solar/issues/506 ) )
55+
56+ ### Other
57+
58+ - Use meta crate ([ #526 ] ( https://github.com/paradigmxyz/solar/issues/526 ) )
59+ - Lowering benchmarks ([ #521 ] ( https://github.com/paradigmxyz/solar/issues/521 ) )
60+ - Add source & parser capabilities ([ #519 ] ( https://github.com/paradigmxyz/solar/issues/519 ) )
61+ - Update benchmarks ([ #504 ] ( https://github.com/paradigmxyz/solar/issues/504 ) )
62+
63+ ### Performance
64+
65+ - [ ast] Use ThinSlice ([ #546 ] ( https://github.com/paradigmxyz/solar/issues/546 ) )
66+ - [ sema] Pre-compute topo_sort map ([ #533 ] ( https://github.com/paradigmxyz/solar/issues/533 ) )
67+ - [ sema] Use a map in AST Sources ([ #535 ] ( https://github.com/paradigmxyz/solar/issues/535 ) )
68+ - [ parser] General improvements ([ #516 ] ( https://github.com/paradigmxyz/solar/issues/516 ) )
69+ - [ interface] Estimate capacity for SourceFile::lines ([ #515 ] ( https://github.com/paradigmxyz/solar/issues/515 ) )
70+ - [ parser] Pass Token in registers ([ #509 ] ( https://github.com/paradigmxyz/solar/issues/509 ) )
71+ - [ lexer] Avoid thread locals when we have a Session ([ #507 ] ( https://github.com/paradigmxyz/solar/issues/507 ) )
72+ - [ lexer] Use eat_until_either in eat_string ([ #505 ] ( https://github.com/paradigmxyz/solar/issues/505 ) )
73+ - [ lexer] Use lookup tables for char info ([ #502 ] ( https://github.com/paradigmxyz/solar/issues/502 ) )
74+
75+ ### Refactor
76+
77+ - [ ast] Boxed ` yul::StmtKind::For ` to reduce the size of ` yul::Stmt ` ([ #500 ] ( https://github.com/paradigmxyz/solar/issues/500 ) )
78+
79+ ### Styling
80+
81+ - Implement fmt::Debug for more types ([ #537 ] ( https://github.com/paradigmxyz/solar/issues/537 ) )
82+
83+ ### Testing
84+
85+ - Add unit test and debug assertion for sources inconsistency ([ #550 ] ( https://github.com/paradigmxyz/solar/issues/550 ) )
86+ - Track node sizes ([ #497 ] ( https://github.com/paradigmxyz/solar/issues/497 ) )
87+
888## [ 0.1.7] ( https://github.com/paradigmxyz/solar/releases/tag/v0.1.7 )
989
1090### Bug Fixes
0 commit comments