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

_242+ commits._

### Features
- **feat(lsp): add inlay hints (#918)** (7ba0caa)
- **feat(lsp): add auto-completion support (#915)** (0001416)
- **feat: add solsmith and solreduce tools (#911)** (83d6ccd)
- **feat(lsp): add symbol navigation index (#909)** (db5a1ab)
- **feat(lsp): add symbol providers (#906)** (101abad)
- **feat(vscode): add syntax highlighting (#907)** (1b4ce3f)
- **feat(hir): add pretty printer (#903)** (dcbbe5b)
- **feat: add HIR stats flag (#893)** (1c7c802)
- **feat(lsp): extract declaration symbol tables (#888)** (99fe778)
- **feat: show AST enum variant sizes (#892)** (d9ed0cf)
- **feat(lsp): load workspace config across lifecycle events (#881)** (4044756)
- **feat: add Fandango source code and runtime fuzzing (#882)** (e2918b0)
- **feat: Port editor extensions to main repo (#883)** (97af213)
- **feat: introduce EVM IR (#868)** (f63282e)
- **feat(lsp): register watched file notifications (#880)** (6e6b806)
- **feat(lsp): add initial language server support (#870)** (584feb7)
- **feat: add erc7201 builtin (#877)** (1995ff4)
- **feat: update solidity to 0.8.35 (#874)** (7b437ee)
- **feat(codegen): cost-model load PRE insertions (#863)** (3d840eb)
- **feat(codegen): preserve stack across branch edges (#862)** (9c26981)
- **feat: mem2reg improvements and evm codegen fixes (#861)** (71010d9)
- **feat: codegen (#822)** (e1dc8f8)
- **feat: add solc-compatible wasm API (#850)** (6207d30)
- **feat: continue after frontend errors (#838)** (1e52f85)
- **feat: allow warnings by code (#837)** (5ae25a8)
- **feat: improve parser/lowering (#835)** (da6b0c3)
- **feat: expose expr types after typeck (#833)** (4393d0d)
- **feat(sema): allow require custom errors (#819)** (a1c0a08)
- **feat(cli): support standard json pipeline (#829)** (988ccdc)
- **feat(sema): add implicit tuple conversions (#828)** (9fa24c8)
- **feat(parser): add import callback (#823)** (776c26a)
- **feat(sema): implement using for (#773)** (86c5dcc)
- **feat(typeck): implement constant folding for integer literal type preservation (#649)** (5099978)
- **feat(sema): lower inline yul to hir (#769)** (6d433ef)
- **feat(sema): lower natspec (#768)** (ef74294)
- **feat(sema): implement override checker (#685)** (530f129)

### Fixes
- **fix(release): update cargo-dist to 0.32** (a1f81d0)
- **fix(sema): encode library function signatures like solc (#926)** (de4ce8b)
- **fix(sema): resolve public constant member over its getter (#927)** (c28746d)
- **fix(release): require crate changelogs (#924)** (c427323)
- **fix(release): default vergen metadata on error (#923)** (a1254b9)
- **fix(config): handle packaged version builds (#922)** (800117d)
- **fix(parser): recover malformed member access (#914)** (85860dd)
- **fix(docs): avoid rustdoc ICE on re-exports (#912)** (e976e4b)
- **fix(lsp): only scan open files without workspace (#898)** (fdc0041)
- **fix(parser): clear error literal denominations (#896)** (db75e27)
- **fix: avoid unused ui_test patch warning (#894)** (a211969)
- **fix(foundry): clean up solc wrapper (#889)** (75a009c)
- **fix(sema): stabilize diagnostic order (#879)** (453e482)
- **fix: align import resolution with solc (#860)** (349a1c4)
- **fix(bench): preserve single-threaded session (#859)** (a229d60)
- **fix: add codes to warnings (#839)** (0612b8a)
- **fix(parse): preserve hex escape bytes (#831)** (5547f10)
- **fix(sema): check variadic builtins (#815)** (b8f8e90)
- **fix(sema): allow struct NatSpec params (#827)** (a9169dd)
- **fix(sema): inherit public variable getter docs (#825)** (373347a)
- **fix(sema): expose inherited function selectors (#824)** (41457fe)
- **fix(sema): attach functions to function values (#801)** (3be36ea)
- **fix(sema): expose contract type members (#814)** (3789bb7)
- **fix(sema): reject oversized memory arrays (#803)** (6f6a538)
- **fix(sema): expose contract scoped type members (#793)** (a0d6734)
- **fix(sema): handle storage call lvalues (#808)** (fbb39b0)
- **fix(sema): allow tuple assignment holes (#798)** (c41ee80)
- **fix(sema): validate storage layout base slots (#810)** (077089b)
- **fix(sema): cast library names to address (#804)** (7ec917f)
- **fix(sema): prefer most derived call target (#800)** (ad1db58)
- **fix(sema): validate inline array literals (#794)** (e0eb8ba)
- **fix(sema): index calldata slices (#807)** (a232e57)
- **fix(sema): type yul address literals as words (#799)** (aace9be)
- **fix(sema): bind storage array methods (#802)** (ba29fd4)
- **fix(sema): ignore index args for lvalues (#796)** (4440a09)
- **fix(sema): reject invalid using modifiers (#790)** (1eb61c8)
- **fix(sema): follow up function member kinds (#788)** (a394cf6)
- **fix(sema): model function member kinds (#786)** (7d4efd7)
- **fix(sema): type yul string literals as words (#785)** (5d9b47c)
- **fix(sema): typeck yul (#774)** (04d9e92)
- **fix(typeck): allow dynamic array new args (#784)** (128a5a6)
- **fix(typeck): preserve mapping element locations (#783)** (d46b5a2)
- **fix(typeck): allow address literal casts (#782)** (4e29261)
- **fix(typeck): locate dynamic casts (#781)** (502730b)
- **fix(typeck): allow implicit fixed bytes literals (#780)** (954dc7d)
- **fix(typeck): allow immutable construction writes (#778)** (7e87bd0)
- **fix(sema): coerce private function pointers (#776)** (cb63b01)
- **fix(sema): convert hex literals to fixed bytes (#775)** (d39654d)
- **fix(typeck): cap literal constant evaluation** (134d318)
- **perf(sema): skip unnecessary visitor walks (#772)** (153af8c)
- **fix(sema): align natspec validation (#771)** (f00b1ac)
- **fix(interface): honor no_warnings in DiagCtxtFlags::update_from_opts (#744)** (40c748d)
- **fix(parser): parse exponentiation right-assoc (#767)** (915225a)
- **fix(sema): canonicalize bare integer aliases (#761)** (0573b99)
- **perf: optimize non-critical deps for size (#728)** (2491e16)
- **perf: use thin LTO for dist profile (#727)** (647b036)
- **Revert "feat: SIMD optimizations, bug fixes, and struct codegen improvements"** (de67dba)

### Tests
- **test(foundry): use tempdirs for artifacts (#902)** (b287bb3)
- **test(lsp): add shared test fixtures (#900)** (fb8ec07)
- **test: add FileCheck support to UI runner (#890)** (bea3afa)
- **test: update ui test harness (#845)** (bb3150b)
- **test: split ported UI tests (#816)** (f659e72)
- **test: normalize solc port annotations (#779)** (322ecaa)

### Docs
- **docs: document FileCheck UI annotations** (7e80a37)
- **docs: update SECURITY.md** (c32283b)

### Chore
- **chore: release 0.2.0** (4bf7a3b)
- **chore: fix changelog script** (c963ef4)
- **refactor(codegen): pre-phases lowering cleanups (#928)** (3456fab)
- **chore: update crossbeam-epoch** (277853d)
- **chore(deps): bump the ci-weekly group with 4 updates (#919)** (8bd8f87)
- **chore(deps): bump the npm-weekly group in /editors/vscode with 2 updates (#920)** (494e083)
- **chore: bump inturn to 0.2.0 (#916)** (e284edd)
- **chore(zed): bump solidity grammar (#908)** (6f0b938)
- **chore(deps): bump the ci-weekly group with 4 updates (#904)** (9c72c6c)
- **chore(deps): bump the npm-weekly group in /editors/vscode with 4 updates (#905)** (4ca3ba4)
- **chore: link zed rust-analyzer project (#901)** (7e7ba62)
- **chore: bump vergen to v10 (#899)** (9af303c)
- **refactor: print stats with comfy-table (#897)** (3fac218)
- **chore(deps): weekly `cargo update` (#891)** (a1242d0)
- **chore: improve AGENTS.md** (a4ef1b9)
- **chore: group npm dependabot updates** (c79396e)
- **chore(deps): bump the ci-weekly group with 5 updates (#876)** (d5b459f)
- **chore(deps): weekly `cargo update` (#875)** (0d771f0)
- **chore: update dependabot** (fdc77c1)
- **refactor(codegen): deduplicate MIR helpers (#864)** (27762bc)
- **refactor: add shared bitset data structures (#865)** (1effa5d)
- **refactor(evm): clean up assembler (#858)** (624b92e)
- **chore: rename benchmarks (#857)** (5b4975d)
- **refactor(sema): cache override checker (#856)** (714acbc)
- **chore: dep upgrades (#852)** (bde6f1d)
- **chore(deps): weekly `cargo update` (#851)** (2bd3d93)
- **chore(deps): weekly `cargo update` (#843)** (0317e95)
- **chore(deps): weekly `cargo update` (#832)** (e2a38a0)
- **chore(meta): add .config/nextest.toml** (25f8a17)
- **refactor: add diagnostic span helper (#820)** (167f936)
- **chore(deps): weekly `cargo update` (#813)** (2066d4b)
- **refactor(sema): preintern error type (#811)** (80d63d2)
- **chore(meta): stupid bot** (6034fcf)
- **refactor(sema): store empty variable docs** (3dcce09)
- **refactor(sema): defer type flag checks (#770)** (97ad5dc)
- **chore: migrate benchmarks to Gungraun (#766)** (a3264d9)
- **chore: tmp ignore (#765)** (06e8c28)
- **chore: bump MSRV (#764)** (3a416de)
- **refactor: replace index_vec with oxc_index (#742)** (d79be54)
- **chore(deps): weekly `cargo update` (#738)** (d342242)
- **chore(deps): weekly `cargo update` (#736)** (6a33787)
- **chore(deps): weekly `cargo update` (#732)** (2454911)
- **chore(deps): bump bytes from 1.11.0 to 1.11.1 (#730)** (5190d0e)
- **chore(deps): weekly `cargo update` (#729)** (81067ae)
- **chore(deps): weekly `cargo update` (#725)** (f844d07)
- **chore(deps): bump vergen to 10 (#461)** (20354a6)
- **chore(deps): weekly `cargo update` (#720)** (2c75f3b)
- **chore: bump benches/analyze dependencies (#724)** (0c8e10b)
- **ci: update to tempoxyz (#721)** (6a5c75e)

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