Skip to content

v0.18.0

Choose a tag to compare

@bellini666 bellini666 released this 17 Jan 15:00
· 67 commits to master since this release
f1ded63

🎯 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_line tracking to FixtureDefinition
  • 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 proper file:///D:/... URIs
  • 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_line tracking
  • 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