Skip to content

Commit b23d974

Browse files
authored
chore: release 0.1.1 (#182)
* chore: update process * chore: release 0.1.1 * docs: update CHANGELOG.md * fix: enter send bounds * chore: re-export data_structures
1 parent 41ccb71 commit b23d974

17 files changed

+384
-39
lines changed

CHANGELOG.md

+115
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,121 @@ All notable changes to this project will be documented in this file.
55
The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.1.0/),
66
and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
77

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+
8123
## [0.1.0](https://github.com/paradigmxyz/solar/releases/tag/v0.1.0)
9124

10125
Initial release.

Cargo.lock

+16-25
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

Cargo.toml

+10-10
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@ default-members = ["crates/*"]
44
resolver = "2"
55

66
[workspace.package]
7-
version = "0.1.0"
7+
version = "0.1.1"
88
edition = "2021"
99
rust-version = "1.83" # MSRV
1010
authors = ["DaniPopes <57450786+DaniPopes@users.noreply.github.com>"]
@@ -79,15 +79,15 @@ codegen-units = 1
7979

8080
[workspace.dependencies]
8181
# compiler crates
82-
solar = { version = "0.1.0", path = "crates/solar", package = "solar-compiler" }
83-
solar-ast = { version = "0.1.0", path = "crates/ast" }
84-
solar-cli = { version = "0.1.0", path = "crates/cli" }
85-
solar-config = { version = "0.1.0", path = "crates/config" }
86-
solar-data-structures = { version = "0.1.0", path = "crates/data-structures" }
87-
solar-interface = { version = "0.1.0", path = "crates/interface" }
88-
solar-macros = { version = "0.1.0", path = "crates/macros" }
89-
solar-parse = { version = "0.1.0", path = "crates/parse" }
90-
solar-sema = { version = "0.1.0", path = "crates/sema" }
82+
solar = { version = "0.1.1", path = "crates/solar", package = "solar-compiler" }
83+
solar-ast = { version = "0.1.1", path = "crates/ast" }
84+
solar-cli = { version = "0.1.1", path = "crates/cli" }
85+
solar-config = { version = "0.1.1", path = "crates/config" }
86+
solar-data-structures = { version = "0.1.1", path = "crates/data-structures" }
87+
solar-interface = { version = "0.1.1", path = "crates/interface" }
88+
solar-macros = { version = "0.1.1", path = "crates/macros" }
89+
solar-parse = { version = "0.1.1", path = "crates/parse" }
90+
solar-sema = { version = "0.1.1", path = "crates/sema" }
9191

9292
# internal crates
9393
solar-tester = { path = "tools/tester" }

RELEASE_CHECKLIST.md

+1
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,7 @@ changed or not.
99
## Requirements
1010

1111
- [cargo-release](https://github.com/crate-ci/cargo-release): `cargo install cargo-release`
12+
- [git-cliff](https://github.com/orhun/git-cliff) (patched with [orhun/git-cliff#711](https://github.com/orhun/git-cliff/pull/711)): `cargo install --git https://github.com/DaniPopes/git-cliff.git --branch fix-include-paths git-cliff`
1213
- [dist](https://github.com/axodotdev/cargo-dist): `cargo install cargo-dist`
1314

1415
## Steps

cliff.toml

+1-1
Original file line numberDiff line numberDiff line change
@@ -58,6 +58,6 @@ commit_parsers = [
5858
protect_breaking_commits = false
5959
filter_commits = false
6060
tag_pattern = "v[0-9]*"
61-
skip_tags = "v?0\\.1\\.0"
61+
skip_tags = 'v0\.1\.0'
6262
ignore_tags = "rc"
6363
sort_commits = "newest"

crates/ast/CHANGELOG.md

+31
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,37 @@ All notable changes to this project will be documented in this file.
55
The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.1.0/),
66
and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
77

8+
## [0.1.1](https://github.com/paradigmxyz/solar/releases/tag/v0.1.1)
9+
10+
### Bug Fixes
11+
12+
- [parser] Accept leading dot in literals ([#151](https://github.com/paradigmxyz/solar/issues/151))
13+
14+
### Documentation
15+
16+
- Add icons ([#109](https://github.com/paradigmxyz/solar/issues/109))
17+
18+
### Features
19+
20+
- Add some more Span utils ([#179](https://github.com/paradigmxyz/solar/issues/179))
21+
- Set up codspeed ([#167](https://github.com/paradigmxyz/solar/issues/167))
22+
- Syntax checker for functions with modifiers ([#164](https://github.com/paradigmxyz/solar/issues/164))
23+
- [parser] Allow doc-comments anywhere ([#154](https://github.com/paradigmxyz/solar/issues/154))
24+
- Validate variable data locations ([#149](https://github.com/paradigmxyz/solar/issues/149))
25+
- Add some methods to CallArgs ([#140](https://github.com/paradigmxyz/solar/issues/140))
26+
- [parser] Recover old-style fallbacks ([#135](https://github.com/paradigmxyz/solar/issues/135))
27+
- Return ControlFlow from AST visitor methods ([#115](https://github.com/paradigmxyz/solar/issues/115))
28+
- Add more semver compat ([#113](https://github.com/paradigmxyz/solar/issues/113))
29+
30+
### Miscellaneous Tasks
31+
32+
- [macros] Fix expansion spans ([#175](https://github.com/paradigmxyz/solar/issues/175))
33+
34+
### Refactor
35+
36+
- Split Ty printers ([#144](https://github.com/paradigmxyz/solar/issues/144))
37+
- Re-export ast::* internal module ([#141](https://github.com/paradigmxyz/solar/issues/141))
38+
839
## [0.1.0](https://github.com/paradigmxyz/solar/releases/tag/v0.1.0)
940

1041
Initial release.

crates/cli/CHANGELOG.md

+17
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,23 @@ All notable changes to this project will be documented in this file.
55
The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.1.0/),
66
and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
77

8+
## [0.1.1](https://github.com/paradigmxyz/solar/releases/tag/v0.1.1)
9+
10+
### Bug Fixes
11+
12+
- Add Session::enter_parallel ([#183](https://github.com/paradigmxyz/solar/issues/183))
13+
- Install rayon pool in Session::enter ([#123](https://github.com/paradigmxyz/solar/issues/123))
14+
15+
### Documentation
16+
17+
- Add icons ([#109](https://github.com/paradigmxyz/solar/issues/109))
18+
19+
### Features
20+
21+
- Unify CLI and Session options ([#176](https://github.com/paradigmxyz/solar/issues/176))
22+
- Add more methods to index types ([#156](https://github.com/paradigmxyz/solar/issues/156))
23+
- Print AST statistics with -Zast-stats flag ([#125](https://github.com/paradigmxyz/solar/issues/125))
24+
825
## [0.1.0](https://github.com/paradigmxyz/solar/releases/tag/v0.1.0)
926

1027
Initial release.

0 commit comments

Comments
 (0)