Commit Graph
2388 Commits
Author SHA1 Message Date
Michael Panchenko 368486299d Merge pull request #1245 from lyang/configurable-jdtls-jvm-heap
Make JDTLS and IntelliCode JVM heap sizes configurable
2026-03-30 09:45:58 +02:00
Lin Yang e8d9c1335f Make JDTLS and IntelliCode JVM heap sizes configurable
Add four new ls_specific_settings for Java: jdtls_xmx, jdtls_xms,
intellicode_xmx, and intellicode_xms, allowing users to tune heap
sizes for the JDTLS server process and the IntelliCode embedded JVM
independently via serena_config.yml.
2026-03-29 19:35:13 -07:00
Dr. Dominik Jain f221c74b0f Merge pull request #1243 from oraios/ls-name-normalisation
Improve LS symbol name normalisation handling
2026-03-29 18:50:58 +02:00
Dominik Jain a26d3337a7 Improve symbol typing
* Clearly differentiate between raw and high-level symbol types
* Remove the catch-all type GenericDocumentSymbol
* Introduce RawDocumentSymbol alias for the raw LS types
2026-03-29 17:54:05 +02:00
Dominik Jain 97a6845c78 SolidLanguageServer: Support name normalisation in request_document_symbols via new method
* Introduce method _normalize_symbol_name to support name transformation
* Apply in CSharpLanguageServer, fixing old override of request_document_symbols
  not accounting for overload handling (invalidating high-level cache accordingly)
* Apply in ALLanguageServer
2026-03-29 17:37:57 +02:00
Dominik Jain c184462938 Improve docstrings on cache versioning [skip ci] 2026-03-29 15:10:21 +02:00
Dominik Jain a7af5c1f8a Improve security documentation 2026-03-29 14:13:08 +02:00
Dominik Jain b00ae292ac Change default listen address of MCP server in HTTP mode to localhost
The previous default 0.0.0.0 was a potential security hazard
2026-03-29 12:11:40 +02:00
Dr. Dominik Jain 926640f463 Merge pull request #1228 from oraios/prepare_find_implementation_tool
Prepare find implementation tool
2026-03-28 14:27:12 +01:00
AndreyPolovodov 4d0c80496b Merge pull request #1237 from AndreyPolovodov/fix/time-based-cache-save-during-indexing
Problem
Saving cache every 10 files causes extremely slow indexing on large projects because save_all_caches() is an expensive operation. On a large project it gets triggered thousands of times during indexing, making the whole process take hours instead of minutes.

Fix
Switch from a file-count-based trigger (every 10 files) to a time-based trigger (every 30 seconds). This keeps cache saves infrequent enough to not hurt performance, while still preserving progress regularly in case indexing is interrupted.
2026-03-28 14:18:55 +01:00
Dominik Jain d2d8e5d2a3 VueTypeScriptServer: Fix incorrect ignore behaviour
.vue files were incorrectly ignored because the source filename matcher of the
language (TS) was used
2026-03-28 01:14:05 +01:00
Dominik Jain 28bf726f53 Fix coordinates in TestDartLanguageServer.test_request_defining_symbol_variable 2026-03-28 01:14:05 +01:00
Dominik Jain 971941d5c6 Fix TestRubyLanguageServerSymbols.test_request_defining_symbol_method_call: Incorrect line/col 2026-03-28 00:31:01 +01:00
Dominik Jain a6884e0bef SymbolLocationRequest: Restore ignore behaviour 2026-03-28 00:31:00 +01:00
Michael PanchenkoandDominik Jain 08fb88a742 LS: support definition and implementation endpoints
Factorized out commonalities between references, definition and implementation endpoints

Co-authored-by: Dominik Jain <dominik.jain@oraios-ai.de>
2026-03-28 00:31:00 +01:00
Michael Panchenko fe6aca4de5 pinned regex to be python 3.14 compatible 2026-03-27 16:56:08 +01:00
Michael Panchenko 9f1b71a120 Merge pull request #1169 from oraios/update-all-yaml-comments
Force-update all comments in .yml files when resaving
2026-03-27 15:49:40 +01:00
Michael Panchenko 256041fa10 Merge pull request #1205 from zerone0x/fix/dashboard-show-experimental-langs-1177
fix: allow adding experimental languages from dashboard
2026-03-27 15:49:08 +01:00
Michael Panchenko 67576cd128 Merge pull request #1227 from oraios/security/pinning_and_checksum_verification
Security enhancement: pinned all runtime deps, verify checksums
2026-03-27 13:58:28 +01:00
Michael Panchenko f00a992e5d Security enhancement: pinned all runtime deps, verify checksums
Extended documentation of ls_specific_settings and of our security approach
2026-03-27 13:00:09 +01:00
Michael Panchenko f94e956339 Merge pull request #1226 from oraios/ty_support
Ty support
2026-03-27 12:14:07 +01:00
Michael Panchenko 43885f6d79 Exclude test resources from formating 2026-03-27 10:03:06 +01:00
Michael Panchenko 34ed5523c8 Add TY support for python, mark LS that support implementation request 2026-03-27 10:03:05 +01:00
Michael Panchenko b5545b82b9 Gitignore 2026-03-27 10:03:05 +01:00
dependabot[bot] 52a42232ca Bump requests from 2.32.5 to 2.33.0 in the uv group across 1 directory (#1225)
Bumps the uv group with 1 update in the / directory: [requests](https://github.com/psf/requests).


Updates `requests` from 2.32.5 to 2.33.0
- [Release notes](https://github.com/psf/requests/releases)
- [Changelog](https://github.com/psf/requests/blob/main/HISTORY.md)
- [Commits](https://github.com/psf/requests/compare/v2.32.5...v2.33.0)

---
updated-dependencies:
- dependency-name: requests
  dependency-version: 2.33.0
  dependency-type: direct:production
  dependency-group: uv
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2026-03-27 09:53:04 +01:00
Michael PanchenkoandDominik Jain c6250aeeab Improved retrieval tool responses (#1190)
* Improved symbol retrieval tool responses

1. FindSymbol (LS and JB) now has max_matches. Both tools now perform grouping like other symbol retrieval tools
2. When a result exceeds max_answer_chars, the caller may pass a shortened message. This is used in references and overview tools

* Progressive shortening for tool results that exceed max_answer_chars

Change _limit_length to accept an optional list of closures instead of
a single shortened_result string. Each closure produces a progressively
shorter version of the result, tried in order until one fits. The last
closure is assumed to always fit and is used unconditionally.

* Extended grouper

More flexible grouping logic was needed to achieve the above results. Grouper also no longer
mutates the input (using deepcopy)

---------

Co-authored-by: Dominik Jain <dominik.jain@oraios-ai.de>
2026-03-27 08:34:21 +01:00
Lin Yang 483538a293 Use deterministic workspace dir for EclipseJDTLS to enable cache reuse (#1214)
* Use deterministic workspace dir for EclipseJDTLS to enable cache reuse

Replace uuid.uuid4().hex with a hash of the project path for the JDTLS
workspace directory. This allows the workspace cache (project index,
shared index, configuration) to be reused across server restarts instead
of rebuilding from scratch each time.

The random UUID was inherited from microsoft/multilspy (a research/testing
library where ephemeral workspaces made sense), but for Serena's use case
— long-lived projects with repeated restarts — deterministic workspace
paths significantly reduce startup time, especially for large Java projects.

* Fix import sort order for ruff lint
2026-03-26 11:33:27 +01:00
Michael Panchenko 8c62b0d991 Merge pull request #1213 from oraios/dependabot/uv/uv-ad53704374
Bump the uv group across 1 directory with 2 updates
2026-03-24 10:46:37 +01:00
dependabot[bot] 6d72a594e3 Bump the uv group across 1 directory with 2 updates
Bumps the uv group with 2 updates in the / directory: [urllib3](https://github.com/urllib3/urllib3) and [cryptography](https://github.com/pyca/cryptography).


Updates `urllib3` from 2.5.0 to 2.6.3
- [Release notes](https://github.com/urllib3/urllib3/releases)
- [Changelog](https://github.com/urllib3/urllib3/blob/main/CHANGES.rst)
- [Commits](https://github.com/urllib3/urllib3/compare/2.5.0...2.6.3)

Updates `cryptography` from 46.0.3 to 46.0.5
- [Changelog](https://github.com/pyca/cryptography/blob/main/CHANGELOG.rst)
- [Commits](https://github.com/pyca/cryptography/compare/46.0.3...46.0.5)

---
updated-dependencies:
- dependency-name: urllib3
  dependency-version: 2.6.3
  dependency-type: direct:production
  dependency-group: uv
- dependency-name: cryptography
  dependency-version: 46.0.5
  dependency-type: direct:production
  dependency-group: uv
...

Signed-off-by: dependabot[bot] <support@github.com>
2026-03-24 09:42:28 +00:00
Michael Panchenko 1707bb43d1 Merge pull request #1212 from oraios/broken-uvx 2026-03-24 10:40:09 +01:00
Michael Panchenko 37d700e39c Skip ansible tests on Windows due to incompatibility of ansible ls there 2026-03-23 23:42:02 +01:00
Dominik Jain 24d646b50b Upgrade mcp to 1.26 2026-03-23 21:17:20 +01:00
Michael Panchenko d15887a145 Pin dependencies to versions that work across Python 3.11 to 3.14 2026-03-23 21:11:23 +01:00
Michael Panchenko 0bbd9e375e Reformat (minor, after replacing black with ruff)
Black dependency created a dependabot warning and couldn't be bumped since it collided with pathspec dependencies. Since ruff can also format, black is not needed. But we now have these small format changes, mostly in test files
2026-03-23 21:10:41 +01:00
Michael Panchenko 45cd8ca12e Pinned all dependencies, removed black, addressed dependabot warnings 2026-03-23 21:10:41 +01:00
Michael Panchenko 091b2245e3 Kotlin LS: remove unused _java_home field from DependencyProvider 2026-03-23 18:17:15 +01:00
b898677b1c feat: add ignored_memory_patterns config option for regex-based memory exclusion (#1145)
Co-authored-by: Bokai Yang <22804145+YouJianFengXue@users.noreply.github.com>
Co-authored-by: Michael Panchenko <35432522+MischaPanch@users.noreply.github.com>
2026-03-23 18:12:30 +01:00
code4lala bf92f3cb49 feat: Support project-level ls_specific_settings (#1192) 2026-03-23 18:03:57 +01:00
VoidChecksumandVoidChecksum d39d168523 fix: detect rust-analyzer from PATH without rustup (#1173)
* fix: check PATH for rust-analyzer before common locations, with functionality validation

Fixes #800 - rust-analyzer fails if rustup is not installed even when
rust-analyzer exists in PATH (e.g. NixOS, distro packages).

Changes:
- Move PATH check (shutil.which) before common location fallbacks
- Add _is_rust_analyzer_functional() to validate PATH-found binaries
  by running --version, catching broken rustup proxy symlinks
- Add tests for Nix PATH detection and broken proxy skip scenarios

* fix: make test_skip_broken_rustup_proxy_in_path work on Windows

The test used hardcoded Unix paths (/usr/bin/rust-analyzer) and
os.path.expanduser("~/.cargo/bin/rust-analyzer") which doesn't
include the .exe extension. On Windows, the production code builds
common paths using pathlib with "rust-analyzer.exe", so the mock
paths never matched, causing RuntimeError instead of finding the
cargo fallback.

Use platform-appropriate paths: on Windows, use .exe extension and
pathlib.Path.home() to match how the production code constructs paths.

---------

Co-authored-by: VoidChecksum <Admin@CyberNord>
2026-03-23 18:01:31 +01:00
Michael Panchenko 2ccd396d74 Merge pull request #1188 from habaneraa/main
Fix: Handle Non-Standard SymbolKind Values from Language Servers
2026-03-23 15:05:22 +01:00
Michael Panchenko 9509320083 Format 2026-03-23 14:36:34 +01:00
Michael Panchenko 6734e5d03c Merge branch 'main' into habaneraa/main 2026-03-23 14:34:49 +01:00
Michael Panchenko 958b4ffd95 Disabled F# tests in CI, mentioned bugs in readme 2026-03-23 14:33:48 +01:00
Michael Panchenko efb895e2b3 Minor typing issue 2026-03-23 11:09:16 +01:00
Michael Panchenko 01bbf7254e Removed duplicated SymbolKind definition
Adjusted comment in autogenerated code, which from now on will be maintained manually
2026-03-23 11:07:53 +01:00
Michael Panchenko f834571d41 Merge pull request #1195 from Asher-/fix/agent-shutdown-lifecycle
Fix agent shutdown lifecycle: no-op shutdown, orphaned LS processes, missing MCP cleanup
2026-03-23 10:23:26 +01:00
Michael Panchenko 793af0a470 Merge pull request #1197 from Asher-/fix/ls-copy-paste-bugs
Fix copy-paste bugs in language server init params
2026-03-23 10:20:42 +01:00
Michael Panchenko 7ed2862b08 Merge pull request #1198 from Asher-/fix/shell-command-safety
Use shlex.quote for shell argument escaping on POSIX
2026-03-23 10:18:28 +01:00
Michael Panchenko b1a8db35f1 Merge pull request #1202 from Asher-/fix/cosmetic-error-messages
Fix copy-paste error messages in log strings
2026-03-23 10:12:00 +01:00
Michael Panchenko b9ae3b9a12 Merge pull request #1204 from Asher-/fix/dashboard-root-redirect
Redirect root URL to /dashboard/
2026-03-23 10:04:55 +01:00