Skip to content

Releases: mrpmorris/Roslynk

2.2.0

Choose a tag to compare

@mrpmorris mrpmorris released this 14 Oct 14:13

What's Changed

  • 66/pm crash on invalid reference by @mrpmorris in #75
  • Expose Solution load diagnostics by @mrpmorris in #76
  • Dedupe get_members (Fixes #67) by @mrpmorris in #77
  • apply_patch gives a misleading error when the path isn't relative to the solution folder (multi-targeted projects) (Fixes #74) by @mrpmorris in #78
  • Run source gen by @mrpmorris in #79
  • Show partial implementations (Fixes #70) by @mrpmorris in #80
  • Add a quoted YourKit open-source acknowledgment by @mrpmorris with @Copilot in #84
  • Resolve bare generic names when unique and accept backtick names in name lookup (Fixes #72) by @mrpmorris in #86
  • get_diagnostics filters: projectName, filePath, ids, maxResults, summaryOnly (Fixes #73) by @mrpmorris in #85
  • A server-wide response budget, enforced within slots, plus get_symbol_body paging (Fixes #71) by @mrpmorris in #87
  • get_callers: report compiler-inserted calls, drop the Dispose false positive, resolve operators (Fixes #62) by @mrpmorris in #89
  • Resolve generator-declared symbols by name in every tool; refuse editing generator-only symbols (Fixes #81) by @mrpmorris in #90
  • search_symbols finds source-generated declarations (Fixes #82) by @mrpmorris in #91
  • Echo names from the best-bound copy of a merged declaration (Fixes #83) by @mrpmorris in #92
  • multi_sync improved paging (Fixes #96) by @mrpmorris in #98
  • Skills update (Fixes #99) (Fixes #100) by @mrpmorris in #102

Full Changelog: 2.1.0...2.2.0

2.1.0

Choose a tag to compare

@mrpmorris mrpmorris released this 09 Oct 10:07
f97a571

What's Changed

  • Better handling of renaming a symbol that is used in a .razor file (Fixes #59)
  • New get_callees tool (Fixes #58)
  • Add Antigravity setup instructions to README by @jburman
  • Improve razor speed (Fixes #64)

New Contributors

Full Changelog: 2.0.0...2.1.0

2.0.0

Choose a tag to compare

@mrpmorris mrpmorris released this 25 Sep 21:57
d0ca940

Important

Tell your agent

Reimport SKILL.md and tools.md for Roslynk from https://github.com/mrpmorris/Roslynk/tree/07b64a6eaaf1b3af946ba1b3b8d92c1978168b96/skills/roslynk

Changes

  • Breaking: apply_code_fix now requires line and column (1-based, as get_diagnostics prints them) and fixes the diagnostic at that position, instead of the first occurrence of the id in the file. No diagnostic with that id at the position → error=NotFound. In .razor/.cshtml the position is in the Razor file; CS8019/IDE0005 remove the unnecessary @using on that line (Fixes #53)
  • rename_symbol no longer overwrites edits made while it was computing: only the documents it changed are replayed onto the latest model, edits to other files are kept, and a changed file it touches, or a file changed on disk, returns error=Stale with a stale= path instead of error=Faulted. The tool can now be cancelled (Fixes #54)
  • apply_code_fix no longer picks one fix arbitrarily when a diagnostic has several (e.g. CS0535 implement vs implement explicitly, CS0246 add using vs generate type): it writes nothing and returns error=Conflict with a candidate=<actionId>,Fix,<diagnosticId> <title> header per distinct fix, to be applied with apply_code_action (Fixes #53)
  • get_code_actions lists the individual fixes and refactorings inside a grouped action (such as the choices under a "Generate type" group) instead of the group itself, which produced no changes when applied
  • New find_reads and find_writes tools: semantic reads/writes of a field, property or parameter (addressed as Namespace.Type.Member:parameter), each location tagged read, assign, compound, increment, ref, out or init. Dual read/write accesses (compound, increment, ref) appear in both tools. Output follows find_references with one location per leaf. Available in multi_query (Fixes #27)
  • New get_expression_info tool: position-based compiler facts about an expression in a .cs, .razor or .cshtml file — its type and converted type, the symbol it binds to (with the overload selected, generic/extension instantiation, and candidates when unresolved), nullable annotation and flow state, constant value, implicit conversion kind, source/metadata origin and XML-doc summary. Unavailable facts are reported as none; a position on a declared name (local, parameter, field, member, type) reports the declared symbol and its type like an editor hover; a keyword, punctuation, comment or whitespace is error=NotFound. Available in multi_query (Fixes #26)
  • New rename_parameter tool: rename one parameter of a method, constructor or indexer overload via Roslyn rename, updating named arguments and <paramref> docs and cascading across override/interface groups; reports related declarations left unchanged, and refuses on name conflicts (Fixes #44)
  • Fully-qualified names now resolve explicitly declared constructors, written Namespace.Type.Type(...)
  • rename_symbol reports overlapping edits as error=Conflict instead of faulting
  • New extract_method tool: extract a selection of statements or an expression into a method or local function via Roslyn's Extract Method refactoring, with optional naming and preview; refuses without writing when Roslyn cannot extract the selection, flags a behavior change, or the result would add compile errors (Fixes #46)
  • change_signature supports methods declared in .razor/.cshtml @code blocks and call sites in Razor markup: edits are mapped back through #line directives and written to the Razor source. Previously they were reported as applied but never written to disk. Unmappable edits are refused without writing, and stale files return error=Stale
  • get_code_actions, apply_code_action, apply_code_fix, extract_method and remove_unused_usings work on .razor and .cshtml files: positions are given in the Razor file, Roslyn runs on the generated C#, and the result is written back to the Razor source in the file's own indentation. Edits to generated scaffolding with no Razor source are refused (error=NotSupported) with nothing written
  • remove_unused_usings (and apply_code_fix with CS8019/IDE0005) removes unnecessary @using lines from .razor/.cshtml files, including in a whole-solution run; _Imports.razor/_ViewImports.cshtml are never edited because other files share them
  • extract_method in a .cshtml view where Roslyn cannot add a new method suggests asLocalFunction=true
  • apply_code_action, apply_code_fix and remove_unused_usings report a file edited on disk since load as error=Stale instead of faulting
  • Local functions can be named: Namespace.Type.Method.local, or Namespace.Type.Method.outer.inner for one declared inside another, through any nesting of classes. Any segment may carry a parameter list to pick an overload (Namespace.Type.Method(int).local). Supported by every name-based tool (get_symbol, get_symbol_body, find_references, get_callers, rename_symbol, rename_parameter, change_signature, and the same operations in multi_query). Tools emit the fully signed form, and Ambiguous candidates for overloaded containers round-trip
  • rename_parameter and change_signature accept local functions
  • search_symbols finds local functions; outlines report them as kind localfunction, nested under their containing member, in search_symbols, get_callers and find_references, and find_definition returns their full name
  • extract_method reports the extracted method's full name in a new symbolName header
  • get_members lists each member's local functions nested beneath it, including local functions declared inside other local functions
  • Write pipeline can guard a precomputed update against an intervening edit to the same documents, without reverting unrelated intervening edits

1.2.0

Choose a tag to compare

@mrpmorris mrpmorris released this 25 Sep 11:33
0d5abcb

What's Changed

New Contributors

Full Changelog: 1.1.0...1.2.0

1.1.0

Choose a tag to compare

@mrpmorris mrpmorris released this 05 Aug 09:07
4f64c7c
  • Allow apply_patch to work on any solution file (#1)

Full Changelog: 1.0.0...1.1.0

1.0.0

Choose a tag to compare

@mrpmorris mrpmorris released this 20 Jul 11:44

What's Changed

  • Cross-platform hosting: stdio bridge with daemon auto-start, dnx/NuGet tool publishing by @StevenTCramer in #1
  • ci: publish NuGet package to GitHub Packages by @StevenTCramer in #2
  • ci: publish to nuget.org with SemVer tags (no v prefix) by @StevenTCramer in #3
  • fix: unblock CI publish (diagnostics + Razor tests) by @StevenTCramer in #4
  • ci: hardcode nuget.org username mrpmorris for Trusted Publishing by @StevenTCramer in #5
  • docs: add roslynk skill teaching AI agents effective use of the MCP tools by @StevenTCramer in #6

New Contributors

Full Changelog: https://github.com/mrpmorris/Roslynk/commits/1.0.0