You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
codeActionKinds are now advertised and honored: the server declares the concrete kinds it returns (quickfix, refactor, refactor.extract, refactor.inline, source.organizeImports) and filters results against a client's context.only, matching descendant kinds (refactor also covers refactor.extract) — previously every request returned every possible action regardless of what was asked for.
Changed
Returning sessions seed mir's workspace symbol index from the disk cache
(mir 0.64): symbol lookups in a cache-warm session answer from an O(1) map
and can never fall back to the O(all-files) index walk — debugStats gains workspace_symbol_index_ready and workspace_index_walks so tests pin the
walk count at zero. Watcher-driven external edits reconcile the seeded
index before any query reads it. Costs ~110 ms extra warm-boot indexing and
~23 MB RSS at 1.6K files; first-ever boot is unchanged.
Fixed
Hover on a method declared only via a class-level @method docblock tag now shows its signature instead of nothing: the AST-based member scan behind mir's method hover only walked concrete methods, missing virtual methods that completion and signature help already understood.
Type hierarchy's dynamic registration is no longer sent to clients that never declared textDocument.typeHierarchy.dynamicRegistration: lsp-types 0.94 has no static typeHierarchyProvider field, so support can only be advertised via client/registerCapability, but that call was previously sent unconditionally.
Intermittent stack-overflow abort under contended parallel analysis: salsa 0.28's dependency-graph lock transfer recurses per transferred dependent and could overflow the 16 MB analysis-thread stacks on large workspaces. All analysis threads (rayon workers, tokio blocking pool, warm-sweep thread) now get 64 MB stacks — reserved, not committed, so resident memory is unchanged.
Reading a private/protected property from outside its declaring class is now flagged (InaccessibleProperty, mir 0.65), matching the existing visibility checks for class constants and methods.
Dependencies
mir updated to 0.65.0 (from 0.64.0): a batch of analyzer correctness fixes, including the new InaccessibleProperty check above, promoted-property docblock refinement handling, nullable-hint preservation through @param, and exhaustive-match recognition of backed-enum ->value.