@@ -5,6 +5,121 @@ All notable changes to this project will be documented in this file.
5
5
The format is based on [ Keep a Changelog] ( https://keepachangelog.com/en/1.1.0/ ) ,
6
6
and this project adheres to [ Semantic Versioning] ( https://semver.org/spec/v2.0.0.html ) .
7
7
8
+ ## [ 0.1.1] ( https://github.com/paradigmxyz/solar/releases/tag/v0.1.1 )
9
+
10
+ Notable and breaking changes (!):
11
+
12
+ - The parser now fully supports doc-comments in any position ([ #154 ] ( https://github.com/paradigmxyz/solar/issues/154 ) ). This was the last major feature needed to support the full Solidity grammar, as implemented in solc. The parser and AST are now considered feature-complete.
13
+ - Fixed some bugs in the parser
14
+ - Implemented some more syntax checks and validations
15
+
16
+ ### Library
17
+
18
+ - (!) Return ControlFlow from AST visitor methods ([ #115 ] ( https://github.com/paradigmxyz/solar/issues/115 ) )
19
+ - (!) Remove Pos trait ([ #137 ] ( https://github.com/paradigmxyz/solar/issues/137 ) )
20
+ - (!) Re-export solar_ast::ast::* internal module ([ #141 ] ( https://github.com/paradigmxyz/solar/issues/141 ) )
21
+ - Unify CLI and Session options ([ #176 ] ( https://github.com/paradigmxyz/solar/issues/176 ) )
22
+ - ` Session::builder ` 's individual config option methods have been removed in favor of using ` Args ` directly.
23
+ - Install rayon pool in Session::enter ([ #123 ] ( https://github.com/paradigmxyz/solar/issues/123 ) )
24
+ - Add Session::enter_parallel ([ #183 ] ( https://github.com/paradigmxyz/solar/issues/183 ) )
25
+ - The session is now parallel by default; ` enter ` will behave the same, use ` enter_parallel ` to be able to make use of rayon inside of the closure.
26
+
27
+ ---
28
+
29
+ All changes:
30
+
31
+ ### Bug Fixes
32
+
33
+ - Add Session::enter_parallel ([ #183 ] ( https://github.com/paradigmxyz/solar/issues/183 ) )
34
+ - Display order in AST stats ([ #180 ] ( https://github.com/paradigmxyz/solar/issues/180 ) )
35
+ - Reduce width of subnode name in ast-stats ([ #157 ] ( https://github.com/paradigmxyz/solar/issues/157 ) )
36
+ - [ parser] Accept leading dot in literals ([ #151 ] ( https://github.com/paradigmxyz/solar/issues/151 ) )
37
+ - Exclude arrays from mapping getter returns ([ #148 ] ( https://github.com/paradigmxyz/solar/issues/148 ) )
38
+ - [ parser] Span of partially-parsed expressions ([ #139 ] ( https://github.com/paradigmxyz/solar/issues/139 ) )
39
+ - [ parser] Ignore more doc comments ([ #136 ] ( https://github.com/paradigmxyz/solar/issues/136 ) )
40
+ - Properly handle recursive types ([ #133 ] ( https://github.com/paradigmxyz/solar/issues/133 ) )
41
+ - Validate placeholder is within modifier ([ #132 ] ( https://github.com/paradigmxyz/solar/issues/132 ) )
42
+ - Install rayon pool in Session::enter ([ #123 ] ( https://github.com/paradigmxyz/solar/issues/123 ) )
43
+
44
+ ### Dependencies
45
+
46
+ - Enable dependencies.yml
47
+ - Update dependencies ([ #161 ] ( https://github.com/paradigmxyz/solar/issues/161 ) )
48
+
49
+ ### Documentation
50
+
51
+ - Fix typos
52
+ - Update CONTRIBUTING.md
53
+ - Add note about codspeed
54
+ - Add some more docs to Session ([ #155 ] ( https://github.com/paradigmxyz/solar/issues/155 ) )
55
+ - Add telegram link
56
+ - Add icons ([ #109 ] ( https://github.com/paradigmxyz/solar/issues/109 ) )
57
+
58
+ ### Features
59
+
60
+ - Add some more Span utils ([ #179 ] ( https://github.com/paradigmxyz/solar/issues/179 ) )
61
+ - Unify CLI and Session options ([ #176 ] ( https://github.com/paradigmxyz/solar/issues/176 ) )
62
+ - Check placeholders inside unchecked blocks ([ #172 ] ( https://github.com/paradigmxyz/solar/issues/172 ) )
63
+ - Library requirements syntax checker ([ #168 ] ( https://github.com/paradigmxyz/solar/issues/168 ) )
64
+ - Set up codspeed ([ #167 ] ( https://github.com/paradigmxyz/solar/issues/167 ) )
65
+ - Underscores and literals validation ([ #165 ] ( https://github.com/paradigmxyz/solar/issues/165 ) )
66
+ - Receive function validation ([ #166 ] ( https://github.com/paradigmxyz/solar/issues/166 ) )
67
+ - Func visibility checks for free functions ([ #163 ] ( https://github.com/paradigmxyz/solar/issues/163 ) )
68
+ - Syntax checker for functions with modifiers ([ #164 ] ( https://github.com/paradigmxyz/solar/issues/164 ) )
69
+ - Variable declaration statements are not allowed as the body of loop ([ #158 ] ( https://github.com/paradigmxyz/solar/issues/158 ) )
70
+ - Validate functions with no visibility specified ([ #160 ] ( https://github.com/paradigmxyz/solar/issues/160 ) )
71
+ - Modifier definitions must have a placeholder ([ #159 ] ( https://github.com/paradigmxyz/solar/issues/159 ) )
72
+ - Add more methods to index types ([ #156 ] ( https://github.com/paradigmxyz/solar/issues/156 ) )
73
+ - [ parser] Allow doc-comments anywhere ([ #154 ] ( https://github.com/paradigmxyz/solar/issues/154 ) )
74
+ - Add try_new to newtype_index! types ([ #152 ] ( https://github.com/paradigmxyz/solar/issues/152 ) )
75
+ - Update to Rust 1.83 ([ #150 ] ( https://github.com/paradigmxyz/solar/issues/150 ) )
76
+ - Validate variable data locations ([ #149 ] ( https://github.com/paradigmxyz/solar/issues/149 ) )
77
+ - Make TyAbiPrinter public ([ #145 ] ( https://github.com/paradigmxyz/solar/issues/145 ) )
78
+ - Add some FileName functions ([ #143 ] ( https://github.com/paradigmxyz/solar/issues/143 ) )
79
+ - Add some methods to CallArgs ([ #140 ] ( https://github.com/paradigmxyz/solar/issues/140 ) )
80
+ - [ parser] Recover old-style fallbacks ([ #135 ] ( https://github.com/paradigmxyz/solar/issues/135 ) )
81
+ - Print AST statistics with -Zast-stats flag ([ #125 ] ( https://github.com/paradigmxyz/solar/issues/125 ) )
82
+ - Return ControlFlow from AST visitor methods ([ #115 ] ( https://github.com/paradigmxyz/solar/issues/115 ) )
83
+ - Make parse_semver_req public ([ #114 ] ( https://github.com/paradigmxyz/solar/issues/114 ) )
84
+ - Add more semver compat ([ #113 ] ( https://github.com/paradigmxyz/solar/issues/113 ) )
85
+
86
+ ### Miscellaneous Tasks
87
+
88
+ - Update process
89
+ - Update dist to 0.27.0
90
+ - Cargo update ([ #181 ] ( https://github.com/paradigmxyz/solar/issues/181 ) )
91
+ - [ xtask] Bless = uibless
92
+ - [ macros] Fix expansion spans ([ #175 ] ( https://github.com/paradigmxyz/solar/issues/175 ) )
93
+ - Add TyAbiPrinterMode ([ #147 ] ( https://github.com/paradigmxyz/solar/issues/147 ) )
94
+ - Mark TyKind as non_exhaustive ([ #146 ] ( https://github.com/paradigmxyz/solar/issues/146 ) )
95
+ - Extend rayon threadpool comment ([ #138 ] ( https://github.com/paradigmxyz/solar/issues/138 ) )
96
+ - Remove Pos trait ([ #137 ] ( https://github.com/paradigmxyz/solar/issues/137 ) )
97
+ - [ meta] Add bug report template ([ #131 ] ( https://github.com/paradigmxyz/solar/issues/131 ) )
98
+ - Use unimplemented! instead of todo! in eval.rs ([ #110 ] ( https://github.com/paradigmxyz/solar/issues/110 ) )
99
+ - Fix deny.toml
100
+
101
+ ### Other
102
+
103
+ - Move deny to ci ([ #162 ] ( https://github.com/paradigmxyz/solar/issues/162 ) )
104
+ - Initial AST validation for using-for ([ #119 ] ( https://github.com/paradigmxyz/solar/issues/119 ) )
105
+ - AST validate that a contract does not have a function with contract name ([ #117 ] ( https://github.com/paradigmxyz/solar/issues/117 ) )
106
+ - Validate num. variants in enum declaration ([ #120 ] ( https://github.com/paradigmxyz/solar/issues/120 ) )
107
+ - Better error for struct without any fields ([ #121 ] ( https://github.com/paradigmxyz/solar/issues/121 ) )
108
+ - AST validate unchecked nested blocks ([ #116 ] ( https://github.com/paradigmxyz/solar/issues/116 ) )
109
+ - AST validate check statement only in while/for loops ([ #111 ] ( https://github.com/paradigmxyz/solar/issues/111 ) )
110
+ - Add syntax test pragma solidity ([ #112 ] ( https://github.com/paradigmxyz/solar/issues/112 ) )
111
+
112
+ ### Refactor
113
+
114
+ - Split Ty printers ([ #144 ] ( https://github.com/paradigmxyz/solar/issues/144 ) )
115
+ - Re-export ast::* internal module ([ #141 ] ( https://github.com/paradigmxyz/solar/issues/141 ) )
116
+
117
+ ### Testing
118
+
119
+ - Add a test for SessionGlobals + Session::enter ([ #142 ] ( https://github.com/paradigmxyz/solar/issues/142 ) )
120
+ - Add another Session test ([ #134 ] ( https://github.com/paradigmxyz/solar/issues/134 ) )
121
+ - Add some more tests ([ #122 ] ( https://github.com/paradigmxyz/solar/issues/122 ) )
122
+
8
123
## [ 0.1.0] ( https://github.com/paradigmxyz/solar/releases/tag/v0.1.0 )
9
124
10
125
Initial release.
0 commit comments