Releases: paradigmxyz/solar
Releases · paradigmxyz/solar
0.1.1
Release Notes
Notable and breaking changes (!):
- The parser now fully supports doc-comments in any position (#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.
- Fixed some bugs in the parser
- Implemented some more syntax checks and validations
Library
- (!) Return ControlFlow from AST visitor methods (#115)
- (!) Remove Pos trait (#137)
- (!) Re-export solar_ast::ast::* internal module (#141)
- Unify CLI and Session options (#176)
Session::builder
's individual config option methods have been removed in favor of usingArgs
directly.
- Install rayon pool in Session::enter (#123)
- Add Session::enter_parallel (#183)
- The session is now parallel by default;
enter
will behave the same, useenter_parallel
to be able to make use of rayon inside of the closure.
Install solar 0.1.1
Install prebuilt binaries via shell script
curl --proto '=https' --tlsv1.2 -LsSf https://github.com/paradigmxyz/solar/releases/download/v0.1.1/solar-installer.sh | sh
Install prebuilt binaries via powershell script
powershell -ExecutionPolicy ByPass -c "irm https://github.com/paradigmxyz/solar/releases/download/v0.1.1/solar-installer.ps1 | iex"
Download solar 0.1.1
File | Platform | Checksum |
---|---|---|
solar-aarch64-apple-darwin.tar.gz | Apple Silicon macOS | checksum |
solar-x86_64-apple-darwin.tar.gz | Intel macOS | checksum |
solar-x86_64-pc-windows-msvc.zip | x64 Windows | checksum |
solar-aarch64-unknown-linux-gnu.tar.gz | ARM64 Linux | checksum |
solar-x86_64-unknown-linux-gnu.tar.gz | x64 Linux | checksum |
What's Changed
- docs: add icons by @DaniPopes in #109
- Add syntax test pragma solidity by @ferranbt in #112
- feat: add more semver compat by @DaniPopes in #113
- feat: make parse_semver_req public by @DaniPopes in #114
- AST validate check statement only in while/for loops by @ferranbt in #111
- AST validate unchecked nested blocks by @ferranbt in #116
- feat: return ControlFlow from AST visitor methods by @mahmudsudo in #115
- chore: use unimplemented! instead of todo! in eval.rs by @DoTheBestToGetTheBest in #110
- test: add some more tests by @DaniPopes in #122
- fix: install rayon pool in Session::enter by @DaniPopes in #123
- better error for struct without any fields by @0xalpharush in #121
- validate num. variants in enum declaration by @0xalpharush in #120
- chore(meta): add bug report template by @DaniPopes in #131
- AST validate that a contract does not have a function with contract name by @ferranbt in #117
- fix: validate placeholder is within modifier by @0xalpharush in #132
- feat: print AST statistics with -Zast-stats flag by @Chriscbr in #125
- test: add another Session test by @DaniPopes in #134
- fix: properly handle recursive types by @DaniPopes in #133
- fix(parser): ignore more doc comments by @DaniPopes in #136
- feat(parser): recover old-style fallbacks by @DaniPopes in #135
- chore!: remove Pos trait by @DaniPopes in #137
- chore: extend rayon threadpool comment by @DaniPopes in #138
- fix(parser): span of partially-parsed expressions by @DaniPopes in #139
- feat: add some methods to CallArgs by @DaniPopes in #140
- refactor!: re-export ast::* internal module by @DaniPopes in #141
- test: add a test for SessionGlobals + Session::enter by @DaniPopes in #142
- feat: add some FileName functions by @DaniPopes in #143
- refactor: split Ty printers by @DaniPopes in #144
- feat: make TyAbiPrinter public by @DaniPopes in #145
- chore: mark TyKind as non_exhaustive by @DaniPopes in #146
- chore: add TyAbiPrinterMode by @DaniPopes in #147
- Initial AST validation for using-for by @ferranbt in #119
- fix: exclude arrays from mapping getter returns by @DaniPopes in #148
- feat: validate variable data locations by @DaniPopes in #149
- feat: update to Rust 1.83 by @DaniPopes in #150
- feat: add try_new to newtype_index! types by @DaniPopes in #152
- fix(parser): accept leading dot in literals by @DaniPopes in #151
- feat(parser): allow doc-comments anywhere by @DaniPopes in #154
- docs: add some more docs to Session by @DaniPopes in #155
- feat: add more methods to index types by @DaniPopes in #156
- fix: reduce width of subnode name in ast-stats by @TilakMaddy in #157
- feat: modifier definitions must have a placeholder by @TilakMaddy in #159
- chore: update dependencies by @DaniPopes in #161
- ci: move deny to ci by @DaniPopes in #162
- feat: validate functions with no visibility specified by @TilakMaddy in #160
- feat: variable declaration statements are not allowed as the body of loop by @TilakMaddy in #158
- feat: syntax checker for functions with modifiers by @TilakMaddy in #164
- feat: func visibility checks for free functions by @TilakMaddy in #163
- feat: receive function validation by @TilakMaddy in #166
- feat: underscores and literals validation by @TilakMaddy in #165
- feat: set up codspeed by @DaniPopes in #167
- feat: library requirements syntax checker by @TilakMaddy in #168
- feat: check placeholders inside unchecked blocks by @TilakMaddy in #172
- chore(macros): fix expansion spans by @DaniPopes in #175
- feat!: unify CLI and Session options by @DaniPopes in #176
- feat: add some more Span utils by @DaniPopes in #179
- fix: display order in AST stats by @DaniPopes in #180
- chore: cargo update by @DaniPopes in #181
- fix: add Session::enter_parallel by @DaniPopes in #183
- chore: release 0.1.1 by @DaniPopes in #182
New Contributors
- @ferranbt made their first contribution in #112
- @mahmudsudo made their first contribution in #115
- @DoTheBestToGetTheBest made their first contribution in #110
- @0xalpharush made their first contribution in #121
- @Chriscbr made their first contribution in https://github.com/paradigmxyz/...
0.1.0
Release Notes
Initial release. See the announcement blog post: https://www.paradigm.xyz/2024/11/solar
Install solar 0.1.0
Install prebuilt binaries via shell script
curl --proto '=https' --tlsv1.2 -LsSf https://github.com/paradigmxyz/solar/releases/download/v0.1.0/solar-installer.sh | sh
Install prebuilt binaries via powershell script
powershell -ExecutionPolicy ByPass -c "irm https://github.com/paradigmxyz/solar/releases/download/v0.1.0/solar-installer.ps1 | iex"
Download solar 0.1.0
File | Platform | Checksum |
---|---|---|
solar-aarch64-apple-darwin.tar.gz | Apple Silicon macOS | checksum |
solar-x86_64-apple-darwin.tar.gz | Intel macOS | checksum |
solar-x86_64-pc-windows-msvc.zip | x64 Windows | checksum |
solar-aarch64-unknown-linux-gnu.tar.gz | ARM64 Linux | checksum |
solar-x86_64-unknown-linux-gnu.tar.gz | x64 Linux | checksum |