Commit Graph
2413 Commits
Author SHA1 Message Date
Dominik Jain 0cf16d1eef Circumvent mypy unreachable code error 2026-03-31 15:36:18 +02:00
Dominik Jain 0bab0125d7 _start_dashboard_viewer: Do nothing if no display detected, improve logging 2026-03-31 15:36:18 +02:00
Dominik Jain 92301c058b Import pystray locally, because import crashes if there is no display 2026-03-31 15:36:18 +02:00
Michael Panchenko af6628ea04 Merge branch 'main' into pywebview 2026-03-31 14:29:50 +02:00
Michael Panchenko 568f9a06af Nix flake: added setuptools as build input for pywebview 2026-03-31 14:29:08 +02:00
Michael Panchenko e53e487cae Pinned pystray exactly 2026-03-31 11:27:11 +02:00
Michael Panchenko 01e9582cac Nix flake: add proxy-tools (needed to build pywebview) 2026-03-31 11:26:01 +02:00
Michael Panchenko 6bf7955ada Merge pull request #1239 from oraios/dependabot/uv/uv-6ba9ca5f64
Bump cryptography from 46.0.5 to 46.0.6 in the uv group across 1 directory
2026-03-31 09:05:46 +02:00
Andrew Barnes ceb87cb7cd fix: swapped error message args, dead code after check=True, missing dotnet v9 (#1250)
1. ls_process.py: swapped values in error message — was reporting
   "read {expected} of {actual}" instead of "read {actual} of {expected}"

2. common.py: check=True made the returncode != 0 branch unreachable
   (CalledProcessError raised before it). Removed check=True so the
   warning logs execute before raising the exception explicitly.

3. ls_utils.py: dotnet version error message listed "4, 6, 7, 8" but
   the code also checks for version 9. Added 9 to the message.
2026-03-31 01:31:21 +02:00
Dominik Jain 01f475ffc3 Fix type of news id (must use int, not string) 2026-03-30 19:47:46 +02:00
Dominik Jain d96cda3ee1 Merge remote-tracking branch 'origin/main' into pywebview
Conflicts:
	src/serena/resources/serena_config.template.yml
2026-03-30 19:44:58 +02:00
Dominik Jain da2f4d2fdb Add news on project querying 2026-03-30 18:45:00 +02:00
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
Dominik Jain af1de59d2b Adapt Dashboard documention in light of pywebview changes 2026-03-29 20:35:50 +02: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
dependabot[bot] b5cf58372d Bump cryptography in the uv group across 1 directory
Bumps the uv group with 1 update in the / directory: [cryptography](https://github.com/pyca/cryptography).


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

---
updated-dependencies:
- dependency-name: cryptography
  dependency-version: 46.0.6
  dependency-type: direct:production
  dependency-group: uv
...

Signed-off-by: dependabot[bot] <support@github.com>
2026-03-29 02:00:19 +00:00
Dominik Jain 07dbf5ed22 Implement proper fallback behaviour for dashboard viewer
Open browser if the viewer was supposed to be shown directly
2026-03-28 15:27:26 +01:00
Dominik Jain fa8cef0fe8 SerenaDashboardViewer: Fix typing issues 2026-03-28 15:27:26 +01:00
Dominik Jain 341b00577b SerenaDashboardViewer: macOS: Try to hide the main window icon from the dock when minimised to tray 2026-03-28 15:27:26 +01: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 3856595080 SerenaDashboardViewer: Use 64px png icon on non-Windows platforms 2026-03-28 11:43:37 +01:00
Dominik Jain 1a4e57eec7 SerenaDashboardViewer: Attempt to fix tray on macOS (cannot run in background thread) 2026-03-28 11:37:54 +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
Dominik Jain 971e2a5d28 Merge remote-tracking branch 'origin/main' into pywebview
Conflicts:
	pyproject.toml
	src/serena/agent.py
	src/serena/cli.py
	src/serena/dashboard.py
	uv.lock
2026-03-26 13:39:41 +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