v0.18.0
🎯 Summary
Feature release focused on robustness, stability, and developer experience improvements.
✨ New Features
-
Document Symbol Ranges: Fixture symbols now include full function body ranges
- Enables proper code folding in editors
- Improves breadcrumb navigation accuracy
- Added
end_linetracking toFixtureDefinition
-
CI Code Coverage: Added automated coverage reporting with tarpaulin and Codecov integration
🐛 Bug Fixes
-
Windows URI Malformation (#54): Fixed "Go to definition" returning malformed URIs on Windows
- Strip
\\?\extended-length path prefix before URI conversion - Resolves
file://///%3F/D%3A/...becoming properfile:///D:/...URIs
- Strip
-
Multi-level Relative Imports: Fixed import level extraction for
from ..module import *- Now correctly handles any number of leading dots in relative imports
- Previously all relative imports were treated as single-dot imports
-
Code Lens Safety: Replaced unsafe
unwrap()calls with proper error handling- Prevents potential panics on malformed data during code lens generation
🔧 Improvements
-
Parse Error Recovery: Keep existing fixture data when file has syntax errors
- Provides better LSP experience during active editing
- Fixtures remain available even when code is temporarily invalid
-
Permission Error Reporting: Aggregate and report permission errors during workspace scan
- Clear logging of how many files were skipped due to permission issues
- Helps diagnose missing fixture detection in restricted directories
-
Bounded Cache: Added cache eviction (2000 file limit) to prevent unbounded memory growth
- Safety net for very large workspaces
- Evicts ~25% of entries when limit exceeded to avoid frequent re-eviction
🧪 Tests
- Added tests for parse error recovery behavior
- Added tests for fixture
end_linetracking - Added tests for multi-level relative import handling
- Added tests for cache handling with many files
Full Changelog: v0.17.3...v0.18.0
What's Changed
- deps(vscode)(deps-dev): bump typescript-eslint from 8.50.1 to 8.51.0 in /extensions/vscode-extension in the npm-minor-patch group by @dependabot[bot] in #51
- deps(deps): bump the rust-minor-patch group with 3 updates by @dependabot[bot] in #50
- deps(deps): bump the rust-minor-patch group with 3 updates by @dependabot[bot] in #52
- deps(deps): bump the rust-minor-patch group with 2 updates by @dependabot[bot] in #55
- deps(vscode)(deps-dev): bump the npm-minor-patch group in /extensions/vscode-extension with 3 updates by @dependabot[bot] in #53
- chore(deps): bump the uv group across 1 directory with 2 updates by @dependabot[bot] in #56
Full Changelog: v0.17.3...v0.18.0