Releases: asyncswap/solidity-language-server
Releases · asyncswap/solidity-language-server
v0.1.32
v0.1.31
Fixes
- Precise
fromRangesin call hierarchy —callHierarchy/incomingCallsandcallHierarchy/outgoingCallsnow prefermember_location(the identifier-only span) oversrc(the full expression span) forMemberAccessnodes; e.g.slot0.protocolFee().getZeroForOneFee()producesfromRangespointing at justprotocolFeeandgetZeroForOneFeeinstead of the entire chain (#191) - Cross-build node ID mismatch in
textDocument/implementation— the handler used the file build'starget_idto look upbase_function_implementationin the project build, which could resolve to a completely different function; now re-resolves the target bybyte_to_id()per build (#193)
Docs
- Neovim call hierarchy handler snippet — outgoing calls now use
ctx.params.item.urifor the file path instead ofvim.api.nvim_buf_get_name(ctx.bufnr)(which returns the wrong file whenprepareCallHierarchyresolves to a different file); both handlers sort quickfix items by line then column
Tests
- 622 tests, 0 failures, 0 warnings
Full Changelog: v0.1.30...v0.1.31
What's Changed
- feat: textDocument/implementation, call hierarchy rewrite with cross-build identity verification by @mmsaki in #194
Full Changelog: v0.1.30...v0.1.31
v0.1.30
What's Changed
- fix: signed NodeId, incremental cache corruption, and stale diagnostics by @mmsaki in #183
- Fix/node id signed integer by @mmsaki in #184
- feat: project-wide PathInterner for canonical file IDs, fix stale-offset duplicate references by @mmsaki in #186
- feat: qualifier-aware references, goto, and rename for qualified type paths by @mmsaki in #188
- feat: remove evm.gasEstimates from solc — 78% compile speedup by @mmsaki in #190
Full Changelog: v0.1.29...v0.1.30
What's Changed
- fix: signed NodeId, incremental cache corruption, and stale diagnostics by @mmsaki in #183
- Fix/node id signed integer by @mmsaki in #184
- feat: project-wide PathInterner for canonical file IDs, fix stale-offset duplicate references by @mmsaki in #186
- feat: qualifier-aware references, goto, and rename for qualified type paths by @mmsaki in #188
- feat: remove evm.gasEstimates from solc — 78% compile speedup by @mmsaki in #190
Full Changelog: v0.1.29...v0.1.30
v0.1.29
What's Changed
- fix: did_save returns immediately, compile and cache work runs in background by @mmsaki in #171
- feat: workspace/executeCommand — solidity.clearCache and solidity.reindex by @mmsaki in #175
- feat: import path completions (relative paths + remappings) by @mmsaki in #173
- fix: use project_cache_key() in execute_command and wake reindex worker by @mmsaki in #176
- fix: tree-sitter import/assembly string completion guards by @mmsaki in #177
- fix: guarantee full rebuild when reindex races with running did_save worker by @mmsaki in #178
- feat: textDocument/codeAction — JSON-driven quickfix engine (issue #168) by @mmsaki in #180
Full Changelog: v0.1.28...v0.1.29
v0.1.28
What's Changed
- Improve incremental reindex safety with threshold gating and scoped cache merge by @mmsaki in #156
- fix: resolve solc version from transitive import pragmas by @mmsaki in #162
- fix: pull settings via workspace/configuration when initializationOptions absent by @mmsaki in #164
- fix: error-driven retry for mixed-version project indexing by @mmsaki in #165
- fix: correct textDocument/rename for aliased imports by @mmsaki in #167
Full Changelog: v0.1.26...v0.1.28
v0.1.27
What's Changed
- Add projectIndex.fullProjectScan setting (default false) by @mmsaki in #152
- Add persistent reference cache with metrics, atomic writes, and single-flight sync by @mmsaki in #153
- docs: add project cache lifecycle and single-flight sync behavior by @mmsaki in #154
- docs: clean up README/blog and fix benchmark MDX parsing by @mmsaki in #155
Full Changelog: v0.1.26...v0.1.27
v0.1.26
Tests: 576 passed
What's Changed
- feat: implement textDocument/foldingRange by @mmsaki in #134
- feat: implement textDocument/documentHighlight by @mmsaki in #136
- feat: implement textDocument/selectionRange by @mmsaki in #138
- feat: full project indexing with async background index and progress reporting by @mmsaki in #140
- feat: workspace/willRenameFiles + didRenameFiles cache-first hardening by @mmsaki in #142
- feat: file operation settings, lifecycle fixes, and benchmark updates by @mmsaki in #145
- completion: append global top-level symbols and auto-import edits by @mmsaki in #147
- bench: add file-op lifecycle steps for shop and pool configs by @mmsaki in #148
Full Changelog: v0.1.25...v0.1.26
v0.1.25
Tests: 468 passed
What's Changed
- fix: show inlay hints for contract creation parameters by @mmsaki in #127
- fix: redirect tracing logs to stderr in --stdio mode by @ClementWalter in #130
- feat: typed solc_ast module with declaration extraction and memory optimization (#129) by @mmsaki in #131
- chore: remove dead references functions, gate test-only structs, DHAT profiling by @mmsaki in #132
New Contributors
- @ClementWalter made their first contribution in #130
Full Changelog: v0.1.24...v0.1.25
v0.1.24
Tests: 448 passed
What's Changed
Full Changelog: v0.1.23...v0.1.24
Tests: 463 passed
What's Changed
- feat: LSP settings configuration by @mmsaki in #112
- perf: reduce cold start from 14s to 2s by optimizing solc input by @mmsaki in #117
- feat: project-wide source indexing for cross-file references by @mmsaki in #119
- fix: commit solc fixture and remap all tests from forge to solc IDs by @mmsaki in #123
- feat: benchmark config improvements and formatting snapshots by @mmsaki in #121
- perf: documentLink returns only import links (83x faster) by @mmsaki in #122
- fix: handle {value: ...} modifier calls in inlay hints and signature help by @mmsaki in #125
Full Changelog: v0.1.23...v0.1.24
v0.1.23
Tests: 442 passed
What's Changed
- feat: opt-in gas estimates via
@custom:lsp-enable gas-estimatesby @mmsaki in #109 - feat: textDocument/signatureHelp by @mmsaki in #110
Full Changelog: v0.1.22...v0.1.23
Tests: 442 passed
What's Changed
- feat: opt-in gas estimates via @Custom:lsp-enable gas-estimates by @mmsaki in #109
- feat: textDocument/signatureHelp by @mmsaki in #110
Full Changelog: v0.1.22...v0.1.23