Commit Graph
1938 Commits
Author SHA1 Message Date
Dominik Jain 5c3cd478f6 Improve news wording 2026-01-11 15:00:31 +01:00
Michael Panchenko aee0c4c896 Most merge-conflict fix 2026-01-11 20:27:21 +07:00
Michael Panchenko 3702d6d8ed Readme, changelog 2026-01-11 20:21:32 +07:00
Michael Panchenko 68d91593ef Merge branch 'main' into add_news_display
Conflicts:
	src/serena/tools/jetbrains_plugin_client.py
2026-01-11 20:14:47 +07:00
Michael Panchenko 8f6c1c7e17 Added actual news item, removed placeholder 2026-01-11 20:05:42 +07:00
Michael Panchenko f35e10da8c Dashboard: use standard button for marking news as read 2026-01-11 20:05:19 +07:00
Michael Panchenko fac3393e0d Added include_info parameter to JBFindReferencingSymbolsTool 2026-01-11 20:01:24 +07:00
Dominik Jain f24073c0c0 Merge pull request #919 from ketema/fix/shutdown-params-void-pr
fix(lsp): Omit params field for shutdown/exit methods (#870)
2026-01-11 13:46:42 +01:00
Michael Panchenko 156171e8f1 Minor 2026-01-11 19:30:59 +07:00
Michael Panchenko f3a508b7f2 Merge branch 'feature/docstring_and_signature' into add_news_display
# Conflicts:
#	src/serena/code_editor.py
2026-01-11 19:28:49 +07:00
Ketema Harris 502d3f3e60 fix(lsp): Omit params field for shutdown/exit methods (#870)
WHY:
- HLS (Haskell) and rust-analyzer use Void/unit types for shutdown/exit
- These strict-typed servers reject ANY params field (even empty {})
- PR #851 changed to send params:{} for Delphi/FPC compatibility
- This broke HLS/rust-analyzer with "Cannot parse Void" errors

EXPECTED:
- shutdown/exit methods: omit params field entirely (HLS/rust-analyzer compat)
- Other methods with None: send params:{} (Delphi/FPC compat)
- Other methods with params: include them unchanged (standard behavior)
- Three-way compatibility preserved per JSON-RPC 2.0 spec

Refs: oraios/serena#870
2026-01-10 23:31:23 -05:00
Dominik Jain 86cbcf0cda Merge pull request #913 from CervEdin/main
fix(java): add missing linux-arm64 configuration for Eclipse JDTLS
2026-01-10 13:56:43 +01:00
Egor a8cc4711b6 fix: add WSL path normalization for JetBrains plugin matching (#916)
* fix: add WSL path normalization for JetBrains plugin matching

When running Serena MCP server inside WSL2 with JetBrains IDE on Windows,
the plugin returns paths like `//wsl.localhost/Ubuntu-24.04/home/user/...`
while Serena expects `/home/user/...`. This causes `ServerNotFoundError`
because the paths don't match despite pointing to the same location.

This commit adds `_normalize_wsl_path()` method that converts WSL UNC
paths to standard Linux paths before comparison, enabling seamless
integration between WSL-based Claude Code and Windows-based JetBrains IDEs.

Fixes #912
2026-01-10 13:42:44 +01:00
Dominik Jain b805ae99a7 Merge pull request #909 from cx-alberto-simoes/PR/FixIssueWithModeAndContextYamlFiles
Support --mode and --context with yaml files
2026-01-10 12:40:03 +01:00
Dominik Jain ab599b7c8f Merge pull request #882 from ximot/feature/open-dashboard-tool
feat: Add open_dashboard MCP tool for on-demand dashboard opening
2026-01-10 12:27:47 +01:00
Michael Panchenko 3f87de1582 Merge pull request #874 from zen010101/feat/pascal-delphi-support
feat: Add Pascal and Delphi language server support
2026-01-10 09:14:22 +07:00
Dominik Jain b10f36f1c8 Introduce dedicated exception classes
* for expected API errors (that shall simply be passed on)
  * for unexpected server errors (that may need to be reported)
2026-01-09 23:28:05 +01:00
Michael Panchenko 8f89bc32b1 Adding news support in dashboard, WIP 2026-01-10 00:52:31 +07:00
zen010101 fa012910cb feat(pascal): add Pascal language server support
Add support for Free Pascal/Lazarus projects using pasls.

Features:
- Auto-download pasls binary for Linux, macOS, and Windows
- Platform detection for x64 and arm64 architectures
- Support for FPC environment variables (PP, FPCDIR)

CI: Add FPC compiler installation (fpc-ootb for Windows)

Includes test repository and unit tests.
2026-01-10 01:30:55 +08:00
Dominik Jain 021572f572 JetBrainsTypeHierarchyTool: Remove error handling (now auto-handled via exception) 2026-01-09 18:22:59 +01:00
Dominik Jain d58cc58195 JetBrainsTypeHierarchyTool: Change default type to 'both' 2026-01-09 18:22:14 +01:00
Dominik Jain 32a97eb306 Do not overwrite input variable for flexibility 2026-01-09 18:21:34 +01:00
Dominik Jain a5f586fda2 Add version check for new features, telling the caller to update 2026-01-09 13:34:57 +01:00
Erik Cervin-EdinandClaude Opus 4.5 77af789fc3 fix(java): add missing linux-arm64 configuration for Eclipse JDTLS
The linux-arm64 platform entry was missing required fields (jre_home_path,
jre_path, lombok_jar_path, jdtls_launcher_jar_path, jdtls_readonly_config_path)
causing a KeyError when activating Java projects on ARM64 Linux systems.

Fixes #486

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-09 11:22:16 +01:00
Alberto Simoes ff68b53397 Fix context and mode file detection logic
- Replace .yml extension check with proper file existence check
- Check if path exists as a file first before treating as name
- Raise FileNotFoundError for paths that look like files but don't exist
  (contains path separators or ends with .yml/.yaml)
- Improves error messages when file paths are invalid
2026-01-09 09:35:01 +00:00
Alberto Simões 4cdc2a7405 Merge pull request #1 from cx-alberto-simoes/Test
Validate if files exist, instead of just lookint to yml extension
2026-01-09 09:20:56 +00:00
Dominik Jain 337472a33a Postprocess HTML documentation in symbol overviews within the client, not the tool 2026-01-08 18:10:30 +01:00
Dominik Jain 01d0f26164 Post-process symbol collections in the client (implementing it centrally for all affected API calls) 2026-01-08 17:52:32 +01:00
Dominik Jain 76834ddf32 JetBrainsFindReferencingSymbolsTool: set include_quick_info to False by default
Signature info is not generally helpful when looking for references
2026-01-08 17:29:46 +01:00
Alberto Simoes c25fb66262 Instead of checking for extension, check if file exists 2026-01-08 15:02:22 +00:00
Dominik Jain 18a9a13f69 Add type jb.GetSymbolsOverviewResponse 2026-01-08 16:02:16 +01:00
Alberto Simoes 201db5afcb Instead of checking for extension, check if file exists 2026-01-08 15:00:00 +00:00
Dominik Jain e1e7c233ed JetBrainsPluginClient.get_symbols_overview: Add parameter include_file_documentation 2026-01-08 15:48:46 +01:00
Dominik Jain 25db8275a0 JetBrainsPluginClient.find_symbol: Change new flag defaults to False 2026-01-08 15:33:55 +01:00
Dominik Jain 04d9abd854 Fix incorrect default in docstring 2026-01-08 15:15:02 +01:00
Dominik Jain 360e8d31c6 JetBrainsPluginClient: Consistently use private members 2026-01-08 15:05:41 +01:00
Dominik Jain 0da7abd324 Log JetBrains plugin version for matching client 2026-01-08 15:05:41 +01:00
Dominik Jain e3915371b4 Check for (non-)recoverable error only for 2023.2.6+, where status code is differentiated 2026-01-08 15:05:41 +01:00
Dominik Jain 559250cfdd Get plugin status upon client construction, storing version 2026-01-08 15:05:41 +01:00
Dominik Jain e996e914cf Add version util 2026-01-08 15:05:41 +01:00
Dominik Jain a45500be5f Add plugin error preamble only for non-recoverable errors 2026-01-08 14:07:39 +01:00
Dominik Jain 7bd70e9631 Remove TODO 2026-01-08 13:39:05 +01:00
Dominik Jain eb54e834b6 Do not use placeholder in example command 2026-01-06 18:04:39 +01:00
Dominik Jain 5104c7008e Fix exception message 2026-01-06 18:04:39 +01:00
Alberto Simoes 870aa2cc3a Support --mode and --context with yaml files 2026-01-06 15:21:42 +00:00
Michael Panchenko 72ce32a65a Fix jetbrains plugin setup instructions
Typo in config file path for windows and missing instructions on how to verify that the setup works
2026-01-06 09:56:05 +07:00
Michael Panchenko 1b862ee687 Enhanced error message for plugin API errors 2026-01-05 11:33:37 +07:00
Michael Panchenko a69832dae5 Always show at least quick_info (but not docstring) in jb_find_symbol 2026-01-04 23:01:27 +07:00
Jordan Munch O'HareandJordan Munch O'Hare 962fb486b6 fix(elm): resolve ELM_HOME path and wait for workspace initialization (#885)
- Convert relative ELM_HOME to absolute path based on repository root,
  fixing package discovery when devbox uses relative paths like '.elm'
- Wait for textDocument/publishDiagnostics before marking server ready,
  ensuring workspace is fully scanned before accepting LSP requests
- Use shutil.which() for elm tool paths in initialization options

Fixes 'No Elm workspace contains' errors when elm-language-server
starts before workspace indexing completes.

Co-authored-by: Jordan Munch O'Hare <git@jordan.munchohare.com>
2026-01-04 12:24:04 +01:00
Michael Panchenko 5b0705c373 New field in JB type 2026-01-04 18:16:58 +07:00