Skip to content

v0.2.0

Choose a tag to compare

@kirnot92 kirnot92 released this 21 May 12:55

v0.2.0

Added

  • Added list_workspaces(maxDepth) for bounded filesystem discovery when an agent needs to bypass git discovery and scan near-root workspace files.
  • Added optional timeoutSec to document_symbols, find_references, and peek_references; values are capped by the server.
  • Added Windows GitHub Actions CI.

Changed

  • Improved large repository workspace discovery. list_workspaces now uses internal 30 second scan budgets, falls back to shallow filesystem discovery when git discovery cannot return candidates, and returns candidates in stable depth/path order.
  • Improved agent-facing symbol ordering. find_symbols now ranks stronger name matches ahead of fuzzy-only results, and document_symbols returns source order without a query while ranking stronger matches when a query is provided.
  • Documented agent usage feedback and cleaned up usage guidance around large repositories, symbol search, and timeout behavior.
  • Cleaned up internal navigation, workspace, path, scanner, loader, and smoke-test code organization for maintainability.

Compatibility Notes

  • list_workspaces(refresh) was removed. Use list_workspaces() for normal discovery or list_workspaces(maxDepth) for explicit bounded filesystem discovery.
  • CLI --scan-timeout and --scan-max-depth were removed. Workspace discovery now uses internal scan budgets and the per-call list_workspaces.maxDepth option.

Known Issues

  • timeoutSec controls the LSP request timeout; it does not make Roslyn LS stream partial results for single requests that time out.
  • Large repositories can remain in WorkspaceWarming for a long time. Treat partial/unknown completeness metadata as part of the result contract.
  • Diagnostics are based on processed textDocument/publishDiagnostics notifications, not a full build.
  • roslyn-language-server is still a prerelease dependency and is not bundled in the release zip.
  • The official binary artifact is Windows x64 only.

Validation

  • dotnet format roslyn-mcp-server.sln --verify-no-changes
  • dotnet build roslyn-mcp-server.sln -p:UseAppHost=false -p:OutDir=.local\build-out\
  • dotnet test tests\RoslynMcpServer.Tests\RoslynMcpServer.Tests.csproj -p:UseAppHost=false -p:OutDir=.local\test-out\
    • 240 passed, 0 failed, 1 skipped
  • Smoke: python scripts\smoke-tests\mcp_powershell_smoke.py
    • list_workspaces: 45 candidates, 0.110s, not truncated
    • Read tools returned usable partial results while WorkspaceWarming
  • Smoke: MAUI manual release smoke on .local/real-repos/maui commit 7e47a710
    • list_workspaces: 140 candidates, 0.157s, not truncated
    • document_symbols: 117 symbols from src\Controls\src\Core\Button\Button.cs, partial while warming
    • find_symbols: 20 returned for Button under src/Controls, partial/truncated while warming