Commit Graph
1860 Commits
Author SHA1 Message Date
Seyed (Yahya) Shirazi f758a3d19c Add MATLAB language server support (#893)
Requires Matlab and node to be installed, using vscode Matlab extension as LS
2026-01-01 21:56:23 +07:00
Michael Panchenko 823e7c6325 Merge pull request #862 from triepod-ai/feat/add-tool-annotations
feat: Add tool annotations for improved LLM tool understanding
2026-01-01 19:07:26 +07:00
Michael Panchenko 6ae5757ed5 Pinned ruamel to 0.18.14
From 0.19 on ruamel requires C++ build tools on windows
2026-01-01 19:00:53 +07:00
Dominik Jain c6b2750061 Improve Claude Code connection instructions, adding a paragraph on max token efficiency 2025-12-28 16:03:56 +01:00
Dominik Jain c569212ec6 Merge pull request #883 from ximot/fix/test-tool-parameter-types-import
Fix broken import in test_tool_parameter_types.py
2025-12-27 21:04:40 +01:00
Tomasz Wyderka 1289b118ad Fix broken import in test_tool_parameter_types.py
The test was using SerenaMCPFactorySingleProcess and _instantiate_agent()
which were removed when process isolation was removed from the codebase.

Updated to use SerenaMCPFactory and _create_serena_agent() instead.

This fixes the CI pipeline which was failing on all test runs.
2025-12-27 20:44:43 +01:00
Dominik Jain f8dc10fea3 Merge pull request #881 from oraios/mux
Changes from mux
2025-12-27 17:19:50 +01:00
Dominik Jain b561af9ab5 Update MCP factory usage in CLI 2025-12-27 17:16:43 +01:00
Dominik Jain 6dcaa3894a Merge branch 'main' into mux 2025-12-27 17:14:27 +01:00
Dominik Jain 5b3b81e7e4 Revert "Do not use listen_address 0.0.0.0 for Docker (has no desirable effect)"
This reverts commit 7ad44edd18.

Listen address 0.0.0.0 is necessary for docker, because port forwarding for Docker
is just NAT, so port forwarding alone is not sufficient

Fixes #879
2025-12-27 11:58:12 +01:00
Dominik Jain ef1ed31010 Add paragraph on single-project contexts, improve generality 2025-12-25 19:08:41 +01:00
Dominik Jain 745e50d1ee Improve project activation instructions 2025-12-25 19:08:01 +01:00
Dominik Jain f593067c33 Increase default timeout to 300s (as in the plugin) 2025-12-24 15:08:04 +01:00
Michael Panchenkoandflex-hyeonseok eff50cf682 🚩 add custom jvm option for kotlin language server (#864)
Co-authored-by: flex-hyeonseok <hyeonseok@flex.team>
2025-12-24 16:10:19 +07:00
Dominik Jain 4b437fe738 Mention Rider IDE as unsupported [skip ci] 2025-12-23 13:23:41 +01:00
Dominik Jain e5e289d5ef Add pointer on default modes (and retaining them) 2025-12-23 03:06:00 +01:00
Dominik Jain 6b403f81f6 Fix: Avoid passing relative_path='.' to plugin (not canonicalised) 2025-12-22 19:31:05 +01:00
Dominik Jain ea3307498a Merge pull request #866 from oraios/fix-edited-file-context-use-editor
Fix: EditedFileContext (and therefore ReplaceContentTool) not using CodeEditor
2025-12-22 13:43:43 +01:00
Dominik Jain 65c2eaac13 Fix: EditedFileContext (and therefore ReplaceContentTool) not using CodeEditor
As a result, JetBrains IDE was not notified about changes (for reindexing)
Resolves #865
2025-12-22 11:33:12 +01:00
flex-hyeonseok 2074193129 🚩 add custom jvm option for kotlin language server 2025-12-22 15:47:07 +09:00
triepod-aiandClaude 61bb9b85ee feat: Add tool annotations for improved LLM tool understanding
Add readOnlyHint, destructiveHint, and title annotations to all tools
to help LLMs better understand tool behavior and make safer decisions.

Changes:
- Added destructiveHint: true to tools that modify data
- Added title annotations for human-readable display (e.g., "Find Symbol")
- Fixed memory tools (WriteMemoryTool, DeleteMemoryTool, EditMemoryTool)
  to correctly inherit ToolMarkerCanEdit, ensuring they get destructiveHint: true

This improves tool safety metadata for MCP clients by:
- Helping LLMs distinguish read-only from destructive operations
- Providing human-readable titles for tool display
- Correctly categorizing all memory-modifying tools as destructive

Co-Authored-By: Claude <noreply@anthropic.com>
2025-12-21 13:09:40 -06:00
Michael Panchenko 5b730baf07 Mark flaky test as xfail, install pytest-timeout 2025-12-20 15:15:42 +07:00
Dominik Jain 7908319e40 Merge branch 'prepare-v1' 2025-12-19 12:06:36 +01:00
Dominik Jain 8c2a99458d Modify VSCode sponsor logo to use rounded corners 2025-12-19 00:47:16 +01:00
Dominik Jain 15008542a3 Move tip to proper place, fix typos, add pointer to '--help' early on 2025-12-19 00:06:56 +01:00
Dominik Jain 42849576bd Add custom JetBrains marketplace button image (works in both light & dark modes) 2025-12-18 19:25:53 +01:00
Dominik Jain ff2423fde7 Improve instructions for Running Serena,
adding a pointer to the option --language-backend
and improving the description of --project-from-cwd
2025-12-18 19:15:37 +01:00
Dominik Jain 807226ddf8 Improve wording/presentation of language support 2025-12-18 19:15:37 +01:00
Dominik Jain f8da77bbd8 Updated README to reflect the release of the JetBrains plugin,
including enhancements to the programming language support section.
2025-12-18 16:42:20 +01:00
Dominik Jain 6cd4c21e28 Merge pull request #854 from oraios/fix-workspace-edits
Fix: RenameSymbolTool: WorkspaceEdit was not fully interpreted
2025-12-18 16:40:46 +01:00
Dominik Jain e2deaec3b0 Fix: RenameSymbolTool: WorkspaceEdit was not fully interpreted
In particular, EclipseJDTLS returns both members of WorkspaceEdit, but the processing
  * ignored the second member (documentChanges) if the first member was also present
  * processed contents of the second member only partially in general.
The handling is now fully reified in "Edit" classes.

Fixes #725
2025-12-18 15:21:39 +01:00
Dominik Jain 9c5013f682 ProjectConfig.autogenerate: Improve logging #807 2025-12-17 21:05:02 +01:00
Dominik Jain 9d7f5e5cd2 Merge pull request #851 from zen010101/fix/jsonrpc-params-null
Fix: Use {} instead of null in params field when None in JSON-RPC requests/notifications
2025-12-17 20:50:08 +01:00
Dominik Jain ac98f770a6 Adjust wording: sponsor -> banner 2025-12-17 18:02:17 +01:00
Dominik Jain 619131cb22 Merge branch 'main' into prepare-v1 2025-12-17 17:35:01 +01:00
Dominik Jain b8d7e725ec Remove obsolete public folder 2025-12-17 17:05:47 +01:00
Dominik Jain dd76b0f09d Add favicon to docs 2025-12-17 17:05:25 +01:00
Dominik Jain 13eacba432 Replace 32x32 icon with simple logo icon 2025-12-17 17:05:14 +01:00
Dominik Jain 4b430cbc4d Return to flat structure to improve usability (TOC display in jupyterbook) 2025-12-17 16:45:06 +01:00
Dominik Jain b24c9f7717 Update JetBrains usage information 2025-12-17 16:38:58 +01:00
Dominik Jain 4674a8cec8 Adapt section on "Language Support" to include the JetBrains backend 2025-12-17 16:38:58 +01:00
Dominik Jain d8d1cb113f Merge branch 'main' into prepare-v1
Conflicts:
	src/serena/resources/serena_config.template.yml
2025-12-17 15:40:14 +01:00
Dominik Jain 064bc56892 Merge pull request #832 from oraios/check-display-before-opening-browser
Check display before opening browser
2025-12-17 14:47:16 +01:00
Dominik Jain a7e1665752 Try to detect usable display before attempting to open dashboard in browser
Fixes #648
2025-12-17 14:46:03 +01:00
Dominik Jain 1e3edb6a3b Merge pull request #850 from oraios/backend-param
SerenaConfig: Use "language_backend" instead of "jetbrains", allowing override via CLI
2025-12-17 14:22:54 +01:00
zen010101 7eda0750a0 fix: omit params field when None in JSON-RPC requests/notifications
According to JSON-RPC 2.0 specification, the params field must be a
structured value (object or array) if present. Sending "params": null
violates the spec and causes strict implementations to reject the request.

This fix modifies make_request() and make_notification() to omit the
params field entirely when params is None, instead of including it as null.
2025-12-17 20:17:34 +08:00
Dominik Jain 9d34347acc Allow to override language backend via CLI parameter 2025-12-17 12:54:33 +01:00
Dominik Jain f76db506f9 Add help texts for server parameters: host, port 2025-12-17 12:54:33 +01:00
Dominik Jain d410aa9f90 SerenaConfig: Use configuration setting 'language_backend' instead of 'jetbrains'
introducing enum LanguageBackend
2025-12-17 12:54:33 +01:00
Dominik Jain 984e43d03e Merge branch 'main' into test-replace-literal 2025-12-16 21:28:43 +01:00