## paradigmxyz/solar — v0.1.7…v0.1.8

_47 commits._

### Features
- **feat(ast): spanned optional commasep elements (#543)** (e93d4d5)
- **feat(data-structures): add ThinSlice (#545)** (3259652)
- **feat: add `ItemId::as_struct` (#544)** (f6f6790)
- **feat(sema): allow delaying/manual import resolution (#531)** (34c93a7)
- **feat(sema): add sources getters (#528)** (13ed1b0)
- **bench: add source & parser capabilities (#519)** (738af4a)
- **feat: checks on upper bounds of contract storage sizes (#169)** (982e150)
- **feat(sema): add validation for assembly memory-safe flags (#263)** (4804c52)
- **feat: configurable logging destination (#498)** (d455050)
- **feat(parser): introduce `Recovered` enum to improve code readability (#517)** (c4fd1f5)

### Fixes
- **fix(sema): remap Sources::file_to_id when sorting (#548)** (e30c60f)
- **perf(ast): use ThinSlice (#546)** (b553262)
- **fix(sema)!: do not expose mutable Session access while entered (#542)** (c848f7d)
- **fix(diagnostics): render footers at the bottom (#538)** (c2bd155)
- **perf(sema): pre-compute topo_sort map (#533)** (8747239)
- **perf(sema): use a map in AST Sources (#535)** (1713661)
- **fix(lexer): str_from_to_end (#532)** (6782122)
- **fix(interface): check longest context matches (#529)** (f662ad0)
- **perf(parser): general improvements (#516)** (9d30227)
- **perf(interface): estimate capacity for SourceFile::lines (#515)** (2225547)
- **fix(ast): Debug for Token (#512)** (85a8be1)
- **perf(parser): pass Token in registers (#509)** (921824d)
- **perf(lexer)!: avoid thread locals when we have a Session (#507)** (28b32f0)
- **perf(lexer): use eat_until_either in eat_string (#505)** (3758f0c)
- **fix(CONTRIBUTING.md): fmt check needs nightly toolchain (#501)** (a612105)
- **perf(lexer): use lookup tables for char info (#502)** (c6461cc)
- **fix(ast)!: store yul::Expr even if only Call is allowed (#496)** (900edfe)
- **fix(sema): peel parens when lowering call args (#495)** (aa7724a)

### Backend
- **bench: use meta crate (#526)** (d0cc4ff)
- **bench: lowering benchmarks (#521)** (be89ebf)
- **bench: update benchmarks (#504)** (8c7a06e)

### Tests
- **test: add unit test and debug assertion for sources inconsistency (#550)** (1a1391f)
- **test: track node sizes (#497)** (02cc45c)

### Chore
- **chore: release 0.1.8 (#551)** (d284850)
- **chore: add some traits to AstPath (#549)** (e1a6ddd)
- **chore: simplify pointer projection (#541)** (ea67dab)
- **chore(deps): weekly `cargo update` (#539)** (9d48d3f)
- **chore: remove feature(doc_auto_cfg) (#540)** (f3614a2)
- **chore: implement fmt::Debug for more types (#537)** (c7ba0d8)
- **chore(sema): simplify perform_imports (#530)** (e4102f6)
- **chore(deps): weekly `cargo update` (#534)** (a209871)
- **chore(sema): fix parse dbg log (#527)** (a8145aa)
- **chore: update benchmarks (#523)** (1aee6fc)
- **ci: bump codspeed 4 (#522)** (1d6d661)
- **chore(deps): weekly `cargo update` (#511)** (72e4ce2)
- **chore(interface)!: make SessionGlobals private (#506)** (e3482a1)
- **refactor(ast): boxed `yul::StmtKind::For` to reduce the size of `yul::Stmt` (#500)** (1394435)

_Recap by [Repo Wrapped](https://repowrapped.com/gh/paradigmxyz/solar?utm_source=github-action)._