Commit Graph
2303 Commits
Author SHA1 Message Date
Dominik Jain 3f047f9a66 Fix: Prevent _default_language_server from becoming stale #1151 2026-03-10 12:22:51 +01:00
Dr. Dominik Jain 6ccea87be1 Merge pull request #1140 from cek/feature/configurable-line-ending
feat: Add configurable line_ending setting for file writes
2026-03-09 23:34:45 +01:00
Dominik Jain f51ba805f0 Add comment explaining that JavaScript is supported via the TypeScript LS
Resolves #1141
2026-03-09 23:29:19 +01:00
Dominik Jain 65f5145ab0 Refactoring: Improve dependency structure of LanguageServerSymbolRetriever & CodeEditors
Simplify dependency injections by depending on Project instead of low-level instances
* LanguageServerSymbolRetriever(Project) - contains the instance
* LanguageServerCodeEditor(LanguageServerSymbolRetriever)
* CodeEditor(Project)

Move retrieval methods for LS manager from SerenaAgent to Project, including
the exception-based problem report
2026-03-09 23:20:45 +01:00
Dominik Jain 6bf71ef10b Improve line ending configuration
* Keep unset in project.yml by default (only explicit override)
* Fix member docstrings and member grouping in SerenaConfig
* Fix missing migration in SerenaConfig (ensure setting is saved)
2026-03-09 23:20:45 +01:00
Dr. Dominik Jain 682452dadd Merge pull request #1144 from tamaro-skaljic/fix-path-to-project-yml
Fix path_to_project_yml method to use config instead of removed constant
2026-03-09 17:19:37 +01:00
Tamaro Skaljic aab9ff6556 Fix path_to_project_yml method to use config instead of removed constant 2026-03-09 17:10:36 +01:00
Craig Kolb d6a832b5d9 feat: Add configurable line_ending setting for file writes
Resolves #1139
2026-03-07 22:36:12 -08:00
Dr. Dominik Jain 66cbe31045 Merge pull request #1135 from oraios/read_only_memories
Feature: configure read-only memories through regex patterns
2026-03-07 00:41:41 +01:00
Dominik Jain eee2f12a74 Add migration of 'edit_global_memories' setting 2026-03-06 23:52:27 +01:00
Dominik Jain 4dc617ae6b Improve read-only memory handling, introducing MemoriesList 2026-03-06 23:47:10 +01:00
Michael Panchenko 57fc582606 Merge branch 'refs/heads/main' into read_only_memories
# Conflicts:
#	src/serena/config/serena_config.py
#	src/serena/project.py
2026-03-06 23:23:11 +01:00
Dominik Jain 751f4ef906 TestProjectSerenaDataFolder: Wait for project to be fully ready before returning it 2026-03-06 20:46:15 +01:00
Dominik Jain b89522f363 Fix: Deduplication of ignore patterns shuffled patterns, breaking intended semantics
Fixes #1138
2026-03-06 19:34:04 +01:00
Dr. Dominik Jain 9755ba596f Merge pull request #1134 from oraios/project-local-yml
Add support for project.local.yml
2026-03-05 22:39:43 +01:00
Michael Panchenko 60d4cba822 Feature: configure read-only memories through regex patterns 2026-03-05 22:19:42 +01:00
Dominik Jain 45f1dcc3ae Mark TestFSharpLanguageServer.test_go_to_definition with xfail 2026-03-05 21:55:22 +01:00
Dominik Jain f2ded67464 Improve structure of change log 2026-03-05 21:55:22 +01:00
Dominik Jain 5b8c84f883 Update change log to mention new features pertaining to project handling [skip ci] 2026-03-05 21:55:22 +01:00
Dominik Jain d63a2e801e Add template for project.local.yml and copy it when creating a project 2026-03-05 21:55:21 +01:00
Dominik Jain 75cf842180 Add support for project.local.yml 2026-03-05 21:55:21 +01:00
Alberto SimõesandDominik Jain 58efe413e3 Merge pull request #1131 from cx-alberto-simoes/feature/configurable-serena-folder-location
feat: add configurable project_serena_folder_location setting

Add a new `project_serena_folder_location` setting to `serena_config.yml` that allows configuring where the per-project `.serena` data folder (memories, caches) is stored, with `$projectDir` and `$projectFolderName` placeholder support (default: `$projectDir/.serena`, preserving current behavior).

Resolves #1123

Co-authored-by: Dominik Jain <dominik.jain@oraios-ai.de>
2026-03-05 21:09:13 +01:00
Dominik Jain 4353fd34dd Merge pull request #1104 from oraios/query-project-tool
Add QueryProjectTool and ListQueryableProjectsTool
2026-03-05 19:52:24 +01:00
Dominik Jain 8f3a31768e Merge remote-tracking branch 'origin/main' into query-project-tool
Conflicts:
	src/serena/agent.py
	src/serena/project.py
2026-03-05 19:08:10 +01:00
Dominik Jain b9a1ce9c3e Adjust exception wording to improve generality [skip ci] 2026-03-05 19:04:29 +01:00
Dominik Jain b805b58fe3 Pin ruff 2026-03-05 17:05:44 +01:00
Dominik Jain e7ae10f7cd Update supported IDEs, move OCaml info to the proper place 2026-03-04 22:22:41 +01:00
John Haley 13e20c1cbd feat: Add comprehensive OCaml language support with ocaml-lsp-server integration (#573) 2026-03-04 21:56:49 +01:00
Michael Panchenko 2c901b0a0e Raise error if overview is requested without suitable LS support 2026-03-04 20:12:23 +01:00
Michael Panchenko 4e26785a85 Fix health-check command (was using old overview api) 2026-03-04 20:07:50 +01:00
DevonandClaude Opus 4.6 dbd7bf7596 Add HLSL and related languages support through shader-language-server (#1093)
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-04 19:28:50 +01:00
Dominik Jain dadf3f6a18 Merge pull request #1128 from ClementBourt/fix/concurrent-log-file-collision
fix: append PID to log filename to prevent concurrent server collision
2026-03-04 15:16:13 +01:00
Dominik Jain ec15edde22 Clearly communicate scope of PRs [skip ci] 2026-03-04 14:43:58 +01:00
YenandClaude Sonnet 4.6 4b86e7b5e5 Enable Rego tests on Windows now that Regal fixed upstream path handling (#1114)
- Bump Regal from v0.36.1 to v0.39.0 which includes Windows path fixes
  (upstream fix: https://github.com/StyraInc/regal/issues/1683)
- Remove sys.platform == "win32" skipif from TestRegoLanguageServer

Co-authored-by: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-03-04 14:12:32 +01:00
Bourtguize-Ramel Clément cb0afa3d04 fix: append PID to log filename to prevent concurrent server collision
When multiple MCP servers start within the same second, they derive the
  same log filename from datetime_tag() (second-level precision only).
  Both then open the file with mode='w', causing one server's logs to be
  truncated and all subsequent output to be interleaved.

  Appending os.getpid() to the filename guarantees uniqueness across
  concurrent processes regardless of timing.
2026-03-04 12:18:05 +01:00
Dominik Jain 736a6ed103 Update list of supported IDEs 2026-03-04 12:05:53 +01:00
Michael Panchenko 47bb6326cf Fix references in docs 2026-03-04 01:17:23 +01:00
ccbd15082b Feature/global memories (#1091)
Support for global (cross-project) memories, adds a news item

---------

Co-authored-by: Ariadne[bot] (butterflysky-ai) <good.town5863@butterflysky.dev>
Co-authored-by: Dominik Jain <dominik.jain@oraios-ai.de>
2026-03-03 15:18:41 +01:00
Dominik Jain 6e95e0e112 Merge pull request #1115 from oraios/improve-dotnet-handling
Improve .NET handling in C# and F# language servers
2026-03-02 21:14:04 +01:00
Dominik Jain 90967ad678 TestFSharpLanguageServer: Mark test_find_referencing_symbols with xfail 2026-03-02 21:13:18 +01:00
Dominik Jain eb78921c08 Split test_find_symbol_references and test_find_symbol into stable and unstable tests 2026-03-02 19:32:25 +01:00
Dominik Jain 9c336cc339 Update language requirements for C# and F#
[skip ci]
2026-03-02 19:29:00 +01:00
Dominik Jain c4844ec4a2 Raise .NET version in CI to 10 2026-03-02 17:47:38 +01:00
Dominik Jain 9800d4e98b Introduce DotNETUtil
* Apply in FSharpLanguageServer and CSharpLanguageServer
* CSharpLanguageServer: Disabled auto-install of .NET (does not work reliably)
  and remove corresponding test
* Remove TestFSharpLanguageServerSetup
2026-03-02 17:47:32 +01:00
Dominik Jain 9cd33aa503 Fully skip Phpactor tests on Windows (can cause hangs) 2026-03-02 00:23:46 +01:00
Dominik Jain 827512b4d1 Improve error reporting for LSP backend issues (LS initialisation)
* Include concrete information on failing language servers
* Explain how to access logs to get detailed information

Resolves #1112
2026-03-01 18:43:55 +01:00
Dominik Jain 6a798ef0c9 Merge pull request #1110 from oraios/fix/markdown-heading-symbol
Fix: Markdown heading symbols were low-level symbols
2026-03-01 14:55:21 +01:00
Dominik Jain 7ac79bae41 Marksman: Set document symbols cache fingerprint to account for override 2026-03-01 14:02:46 +01:00
Terrance Orletsky 003a9e2a6d Fix markdown heading symbol recognition in Marksman LSP
Marksman returns all headings (h1-h6) with SymbolKind.String (15), which
causes them to be treated as low-level symbols and filtered out of
get_symbols_overview results.

Override request_document_symbols in Marksman to remap SymbolKind.String
to SymbolKind.Namespace, which is semantically appropriate for headings
(named sections containing other content) and ensures they appear in
symbol overviews.
2026-03-01 13:57:47 +01:00
Dominik Jain 8375da7dc9 Rename _cache_context_fingerprint -> _document_symbols_cache_fingerprint
Also improve docstring to make clear what the purpose is
2026-03-01 13:05:49 +01:00