Skip to content

Commit d284850

Browse files
authored
chore: release 0.1.8 (#551)
1 parent e93d4d5 commit d284850

File tree

12 files changed

+280
-40
lines changed

12 files changed

+280
-40
lines changed

CHANGELOG.md

Lines changed: 80 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,86 @@ 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.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

Cargo.lock

Lines changed: 16 additions & 25 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

Cargo.toml

Lines changed: 10 additions & 10 deletions
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.7"
7+
version = "0.1.8"
88
edition = "2024"
99
rust-version = "1.88" # MSRV
1010
authors = ["DaniPopes <[email protected]>"]
@@ -86,15 +86,15 @@ debug-assertions = true
8686

8787
[workspace.dependencies]
8888
# compiler crates
89-
solar = { version = "=0.1.7", path = "crates/solar", package = "solar-compiler", default-features = false }
90-
solar-ast = { version = "=0.1.7", path = "crates/ast", default-features = false }
91-
solar-cli = { version = "=0.1.7", path = "crates/cli", default-features = false }
92-
solar-config = { version = "=0.1.7", path = "crates/config", default-features = false }
93-
solar-data-structures = { version = "=0.1.7", path = "crates/data-structures", default-features = false }
94-
solar-interface = { version = "=0.1.7", path = "crates/interface", default-features = false }
95-
solar-macros = { version = "=0.1.7", path = "crates/macros", default-features = false }
96-
solar-parse = { version = "=0.1.7", path = "crates/parse", default-features = false }
97-
solar-sema = { version = "=0.1.7", path = "crates/sema", default-features = false }
89+
solar = { version = "=0.1.8", path = "crates/solar", package = "solar-compiler", default-features = false }
90+
solar-ast = { version = "=0.1.8", path = "crates/ast", default-features = false }
91+
solar-cli = { version = "=0.1.8", path = "crates/cli", default-features = false }
92+
solar-config = { version = "=0.1.8", path = "crates/config", default-features = false }
93+
solar-data-structures = { version = "=0.1.8", path = "crates/data-structures", default-features = false }
94+
solar-interface = { version = "=0.1.8", path = "crates/interface", default-features = false }
95+
solar-macros = { version = "=0.1.8", path = "crates/macros", default-features = false }
96+
solar-parse = { version = "=0.1.8", path = "crates/parse", default-features = false }
97+
solar-sema = { version = "=0.1.8", path = "crates/sema", default-features = false }
9898

9999
# internal crates
100100
solar-tester = { path = "tools/tester" }

README.md

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -44,13 +44,13 @@ You can add Solar to your Rust project by adding the following to your `Cargo.to
4444

4545
```toml
4646
[dependencies]
47-
solar = { version = "=0.1.7", package = "solar-compiler", default-features = false }
47+
solar = { version = "=0.1.8", package = "solar-compiler", default-features = false }
4848
```
4949

5050
Or through the CLI:
5151

5252
```bash
53-
cargo add "solar-compiler@=0.1.7" --rename solar --no-default-features
53+
cargo add "solar-compiler@=0.1.8" --rename solar --no-default-features
5454
```
5555

5656
You can see examples of how to use Solar as a library in the [examples](/examples) directory.
@@ -69,8 +69,8 @@ and can be installed with the following commands:
6969
```
7070
- For a specific version:
7171
```bash
72-
curl -LsSf https://paradigm.xyz/solar/v0.1.7/install.sh | sh
73-
powershell -c "irm https://paradigm.xyz/solar/v0.1.7/install.ps1 | iex"
72+
curl -LsSf https://paradigm.xyz/solar/v0.1.8/install.sh | sh
73+
powershell -c "irm https://paradigm.xyz/solar/v0.1.8/install.ps1 | iex"
7474
```
7575

7676
You can also use [`cargo binstall`](https://github.com/cargo-bins/cargo-binstall):
@@ -80,7 +80,7 @@ You can also use [`cargo binstall`](https://github.com/cargo-bins/cargo-binstall
8080
```
8181
- For a specific version:
8282
```bash
83-
cargo binstall [email protected].7
83+
cargo binstall [email protected].8
8484
```
8585

8686
Or build Solar from source:

crates/ast/CHANGELOG.md

Lines changed: 32 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,38 @@ 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.8](https://github.com/paradigmxyz/solar/releases/tag/v0.1.8)
9+
10+
### Bug Fixes
11+
12+
- [ast] Debug for Token ([#512](https://github.com/paradigmxyz/solar/issues/512))
13+
- [ast] Store yul::Expr even if only Call is allowed ([#496](https://github.com/paradigmxyz/solar/issues/496))
14+
- [sema] Peel parens when lowering call args ([#495](https://github.com/paradigmxyz/solar/issues/495))
15+
16+
### Features
17+
18+
- [ast] Spanned optional commasep elements ([#543](https://github.com/paradigmxyz/solar/issues/543))
19+
20+
### Miscellaneous Tasks
21+
22+
- Add some traits to AstPath ([#549](https://github.com/paradigmxyz/solar/issues/549))
23+
- Remove feature(doc_auto_cfg) ([#540](https://github.com/paradigmxyz/solar/issues/540))
24+
25+
### Performance
26+
27+
- [ast] Use ThinSlice ([#546](https://github.com/paradigmxyz/solar/issues/546))
28+
- [parser] General improvements ([#516](https://github.com/paradigmxyz/solar/issues/516))
29+
- [parser] Pass Token in registers ([#509](https://github.com/paradigmxyz/solar/issues/509))
30+
- [lexer] Avoid thread locals when we have a Session ([#507](https://github.com/paradigmxyz/solar/issues/507))
31+
32+
### Refactor
33+
34+
- [ast] Boxed `yul::StmtKind::For` to reduce the size of `yul::Stmt` ([#500](https://github.com/paradigmxyz/solar/issues/500))
35+
36+
### Testing
37+
38+
- Track node sizes ([#497](https://github.com/paradigmxyz/solar/issues/497))
39+
840
## [0.1.7](https://github.com/paradigmxyz/solar/releases/tag/v0.1.7)
941

1042
### Dependencies

crates/cli/CHANGELOG.md

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,16 @@ 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.8](https://github.com/paradigmxyz/solar/releases/tag/v0.1.8)
9+
10+
### Features
11+
12+
- Configurable logging destination ([#498](https://github.com/paradigmxyz/solar/issues/498))
13+
14+
### Miscellaneous Tasks
15+
16+
- Remove feature(doc_auto_cfg) ([#540](https://github.com/paradigmxyz/solar/issues/540))
17+
818
## [0.1.7](https://github.com/paradigmxyz/solar/releases/tag/v0.1.7)
919

1020
### Features

crates/config/CHANGELOG.md

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,16 @@ 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.8](https://github.com/paradigmxyz/solar/releases/tag/v0.1.8)
9+
10+
### Features
11+
12+
- Checks on upper bounds of contract storage sizes ([#169](https://github.com/paradigmxyz/solar/issues/169))
13+
14+
### Miscellaneous Tasks
15+
16+
- Remove feature(doc_auto_cfg) ([#540](https://github.com/paradigmxyz/solar/issues/540))
17+
818
## [0.1.7](https://github.com/paradigmxyz/solar/releases/tag/v0.1.7)
919

1020
### Features

0 commit comments

Comments
 (0)