Commit Graph
2987 Commits
Author SHA1 Message Date
Michael Panchenko 52bbeefa6a Changelog - 2 new entries, shortened overly verbose existing entries 2026-06-28 13:33:19 +02:00
Michael Panchenko 595cf19b87 Remove niche languages with heavy toolchains from execution in GH actions 2026-06-28 13:33:19 +02:00
Michael Panchenko 644eb763eb Skip BSL tests, fix outdated comment 2026-06-28 13:18:53 +02:00
Michael Panchenko c7be814402 Merge pull request #1595 from oraios/dependabot/uv/uv-536976e7af
Bump the uv group across 1 directory with 2 updates
2026-06-28 13:10:04 +02:00
Michael Panchenko 88fe650f35 Merge pull request #1576 from zerone0x/fix/jdtls-workspace-hash-config-1541
fix: invalidate JDTLS workspace cache when Java import settings change
2026-06-28 13:09:37 +02:00
Devin 68a4af4ac1 Add CodeBuddy agent integration (#1581) 2026-06-28 13:00:41 +02:00
PETRO YAKOVYSHYN b7e7b86dd1 Unreal Engine: reorder the setup guide, fail on an empty compile_commands.json (#1610) 2026-06-28 12:59:29 +02:00
Michael Panchenko 42294fdf32 Merge pull request #1617 from Lauritz-Timm/fix/windows-csharp-startup-install
Fix Windows C# startup and Roslyn install
2026-06-28 12:48:07 +02:00
Lauritz-Configo 8e7c8feb84 Fix Windows C# startup and Roslyn install 2026-06-27 19:29:43 +02:00
Dr. Dominik Jain 901bd2155a Merge pull request #1612 from oraios/trusted-projects
Add notion of trusted projects
2026-06-26 13:45:02 +02:00
Dr. Dominik Jain 348df3a172 Merge pull request #1605 from oraios/structured-output
Allow to configure structured tool output on a per-context basis

Resolves #1042
2026-06-26 13:40:43 +02:00
Dominik Jain 011edec445 Allow to configure structured tool output on a per-context basis
* Default is None (behaviour unchanged)
* Override is applied for Claude Code, which does not unpack structured
  output, causing the LLM to see unnecessary escapings in returned tool
  results #1042
2026-06-26 13:09:36 +02:00
Dominik Jain 5a867ff3fe Consider ls_specific_settings in project configurations only for trusted projects 2026-06-26 13:05:54 +02:00
Dominik Jain d7a2026656 Add notion of trusted projects #1608 2026-06-26 13:05:54 +02:00
Dominik Jain 4329cdd981 Refactoring of language backend initialisation 2026-06-26 13:05:23 +02:00
Dr. Dominik Jain 15efcb7b65 Merge pull request #1599 from oraios/improve-contextmanagers
SolidLanguageServer: Account for exceptions in context managers
2026-06-25 18:48:16 +02:00
Michael Panchenko a4aa72e198 Hooks: handle tool_input passed as string gracefully instead of failing
Copilot CLI sends strings
2026-06-25 13:43:33 +02:00
Dominik Jain ff3c77d452 Project.validate_relative_path: Report project root in error message 2026-06-25 13:24:24 +02:00
PETRO YAKOVYSHYN 3975a91bfe Add Unreal Engine 5 specific ignores, raises, docs and tests for C/C++ (#1564) 2026-06-25 11:23:25 +02:00
BBPandKoscheiiB 5d44d017c8 feat(solidlsp): add LaTeX language server via texlab (#1600)
Register the LATEX language (.tex/.bib/.sty/.cls) backed by texlab,
downloaded as a sha256-verified single-binary from GitHub Releases
(v5.25.1) across macOS/Linux/Windows. Document symbols expose the
sectioning hierarchy; definitions/references cover labels and citations.

Includes a smoke-test fixture repo and basic document-symbol tests.

Co-authored-by: KoscheiiB <KoscheiiB@users.noreply.github.com>
2026-06-25 11:21:39 +02:00
Dominik Jain 59df80cb82 SolidLanguageServer: Account for exceptions in context managers
* open_file
* start_server_context
2026-06-24 14:03:44 +02:00
Dr. Dominik Jain a0435467b6 Merge pull request #1590 from oraios/serena-config-headless-mode
Add SerenaConfig.with_headless_mode_overrides and apply it
2026-06-24 12:14:01 +02:00
Andrew NewellandClaude Opus 4.8 4160732c7d Fix dangling registered project poisoning project lookup/activation
A registered project whose root directory was deleted (e.g. a removed git
worktree) would raise FileNotFoundError from RegisteredProject.matches_root_path
(via Path.samefile). Because get_registered_project iterates matches_root_path
over every registered project, one dangling entry aborted activation of all
other, valid projects until an MCP server restart.

matches_root_path now treats a non-existent directory as a non-match instead of
letting the filesystem error propagate.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-06-24 01:50:13 +02:00
dependabot[bot] 9a4f61af60 Bump the uv group across 1 directory with 2 updates
Bumps the uv group with 2 updates in the / directory: [msgpack](https://github.com/msgpack/msgpack-python) and [pydantic-settings](https://github.com/pydantic/pydantic-settings).


Updates `msgpack` from 1.1.2 to 1.2.1
- [Release notes](https://github.com/msgpack/msgpack-python/releases)
- [Changelog](https://github.com/msgpack/msgpack-python/blob/main/CHANGELOG.md)
- [Commits](https://github.com/msgpack/msgpack-python/compare/v1.1.2...v1.2.1)

Updates `pydantic-settings` from 2.13.1 to 2.14.2
- [Release notes](https://github.com/pydantic/pydantic-settings/releases)
- [Commits](https://github.com/pydantic/pydantic-settings/compare/v2.13.1...v2.14.2)

---
updated-dependencies:
- dependency-name: msgpack
  dependency-version: 1.2.1
  dependency-type: indirect
  dependency-group: uv
- dependency-name: pydantic-settings
  dependency-version: 2.14.2
  dependency-type: indirect
  dependency-group: uv
...

Signed-off-by: dependabot[bot] <support@github.com>
2026-06-23 08:36:39 +00:00
dependabot[bot] bd322fcb5e Bump the uv group across 1 directory with 4 updates (#1584)
Bumps the uv group with 4 updates in the / directory: [starlette](https://github.com/Kludex/starlette), [python-multipart](https://github.com/Kludex/python-multipart), [cryptography](https://github.com/pyca/cryptography) and [tornado](https://github.com/tornadoweb/tornado).


Updates `starlette` from 1.0.1 to 1.3.1
- [Release notes](https://github.com/Kludex/starlette/releases)
- [Changelog](https://github.com/Kludex/starlette/blob/main/docs/release-notes.md)
- [Commits](https://github.com/Kludex/starlette/compare/1.0.1...1.3.1)

Updates `python-multipart` from 0.0.27 to 0.0.31
- [Release notes](https://github.com/Kludex/python-multipart/releases)
- [Changelog](https://github.com/Kludex/python-multipart/blob/main/CHANGELOG.md)
- [Commits](https://github.com/Kludex/python-multipart/compare/0.0.27...0.0.31)

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

Updates `tornado` from 6.5.6 to 6.5.7
- [Changelog](https://github.com/tornadoweb/tornado/blob/master/docs/releases.rst)
- [Commits](https://github.com/tornadoweb/tornado/compare/v6.5.6...v6.5.7)

---
updated-dependencies:
- dependency-name: starlette
  dependency-version: 1.3.1
  dependency-type: direct:production
  dependency-group: uv
- dependency-name: python-multipart
  dependency-version: 0.0.31
  dependency-type: direct:production
  dependency-group: uv
- dependency-name: cryptography
  dependency-version: 48.0.1
  dependency-type: direct:production
  dependency-group: uv
- dependency-name: tornado
  dependency-version: 6.5.7
  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-06-23 10:33:34 +02:00
Dominik Jain e1f015344f Add SerenaConfig.with_headless_mode_overrides and apply it
in relevant CLI commands and tests, fixing the newly introduced
issue where some CLI commands may open a JetBrains IDE if
the respective config setting was set.

Fixes #1578
2026-06-19 11:41:27 +02:00
Feng Lin dd7eb6d72a Prevent Julia LS setup from clobbering Serena's stdio MCP pipe (#1580)
* Prevent Julia LS probe from clobbering Serena's stdio MCP pipe

When Serena runs over the stdio MCP transport, stdin/stdout *are* the JSON-RPC channel.
The Julia language-server setup spawns probe/install subprocesses with `capture_output=True`,
which redirects the child's stdout/stderr but not its stdin, so the Julia child inherits
Serena's stdin (the MCP pipe) and clobbers it. The stdio server then exits within
milliseconds of `initialize`, and the client reports "tools fetch failed".

- Pass `stdin=subprocess.DEVNULL` to both `subprocess.run` calls in `julia_server.py`
  (`_setup_runtime_dependency` probe and `_install_language_server` install).
- Add a comment explaining the stdio-transport hazard.

Fixes #1577

* Add changelog entry for the Julia stdio MCP fix

Document the fix under the Unreleased "Language Servers" section.
2026-06-16 16:56:21 +02:00
Michael Panchenko f84452cdd3 CI: removed ubuntu from os matrix (covered by parallel tests)
Removed feature/parallel-ci-workflows as trigger for action
2026-06-16 15:36:59 +02:00
Dr. Dominik Jain f3f7783a48 Merge pull request #1582 from oraios/raise-mcp-errors
Make tool call errors surface explicitly as errors at the MCP level
2026-06-16 13:09:59 +02:00
Dominik Jain d6844aabe5 MemoryManager.load_memory: Raise exception on error 2026-06-16 12:52:33 +02:00
Dominik Jain b25c21952a Make tool call errors surface explicitly as errors at the MCP level
* Refactor Tool.apply_ex to either return a success response or
  raise ToolCallError (if catch_exceptions=False)
* Adapt SerenaFastMCPTool to catch ToolCallError and reraise as
  fastmcp.exceptions.ToolError, triggering an error response
  in the SDK
2026-06-16 12:52:33 +02:00
Tirth Patel 652a739826 Merge pull request #1421 from tirthpatel90/feature/parallel-ci-workflows
ci: implement parallel matrix architecture for segmented testing, including a separate docker image for CI that contains all dependencies
2026-06-15 12:09:36 +02:00
zerone0xandClaude 5006ef7996 fix: invalidate JDTLS workspace cache for Java import setting changes
Fixes #1541

Co-Authored-By: Claude <noreply@anthropic.com>
2026-06-13 04:44:11 +02:00
Michael Panchenko 22c135a881 Merge pull request #1574 from oraios/dependabot/uv/uv-cfedfbfab6
Bump tornado from 6.5.5 to 6.5.6 in the uv group across 1 directory
2026-06-13 00:40:02 +02:00
dependabot[bot] 6e0fbe39ca Bump tornado from 6.5.5 to 6.5.6 in the uv group across 1 directory
Bumps the uv group with 1 update in the / directory: [tornado](https://github.com/tornadoweb/tornado).


Updates `tornado` from 6.5.5 to 6.5.6
- [Changelog](https://github.com/tornadoweb/tornado/blob/master/docs/releases.rst)
- [Commits](https://github.com/tornadoweb/tornado/compare/v6.5.5...v6.5.6)

---
updated-dependencies:
- dependency-name: tornado
  dependency-version: 6.5.6
  dependency-type: direct:production
  dependency-group: uv
...

Signed-off-by: dependabot[bot] <support@github.com>
2026-06-12 21:06:46 +00:00
Dr. Dominik Jain a1602e519c Merge pull request #1572 from oraios/tool-names-in-prompts
Add a tool name replacement mapping for the generation of prompts
2026-06-12 23:04:34 +02:00
Dominik Jain 9abfc3d1be Add a tool name replacement mapping for the generation of prompts 2026-06-12 20:15:00 +02:00
Dr. Dominik Jain e776e7988a Merge pull request #1570 from oraios/mcp-tool-arg-rename
Support aliases of tool parameters, adding class SerenaFastMCPTool
2026-06-12 19:18:00 +02:00
Dominik Jain ac44ed815e Support aliases of tool parameters, adding class SerenaFastMCPTool 2026-06-12 19:17:40 +02:00
Michael Panchenko f71dc0be66 Merge pull request #1542 from oraios/dependabot/uv/uv-f07ca4ca9c
Bump starlette from 1.0.0 to 1.0.1 in the uv group across 1 directory
2026-06-12 19:06:25 +02:00
Dr. Dominik Jain acee002dc4 Merge pull request #1568 from oraios/oslex
Use oslex to quote/escape command/arg lists in `convert_shell_cmd`
2026-06-11 18:49:10 +02:00
Dominik Jain ba221e72b3 Use oslex to quote/escape command/arg lists in convert_shell_cmd
Even though lists are explicitly supported on Windows,
the subprocess implementation does not guarantee that shell
metacharacters are appropriately escaped, i.e. the individual
list elements are not necessarily treated as atomic arguments.

oslex provides an abstraction layer which works across platforms.
2026-06-11 16:17:21 +02:00
Dr. Dominik Jain bb4da5786a Merge pull request #1562 from oraios/jetbrains-in-active-modes
Fix: JetBrains mode prompt was not provided to agents
2026-06-11 11:35:51 +02:00
Dominik Jain dc9ea7a1c8 Fix: JetBrains mode prompt was not provided to agents
The mode is now treated as a (background) base mode
in `ActiveModes` which reduces the surface for issues
pertaining to custom handling of modes.
2026-06-10 15:57:13 +02:00
Dr. Dominik Jain 1d020b9606 Merge pull request #1537 from bor/fix/query-project-drop-is-active-assertion
Allow query_project tool to apply read-only tools excluded by the current context
2026-06-09 12:17:52 +02:00
Sergiy Borodych 572e00e6d4 Allow query_project to use read-only tools even if they are excluded by the current context 2026-06-09 12:16:58 +02:00
Dominik Jain e4af86be05 Fix: Incorrect file access when loading context/mode
Context or mode argument referencing a known name (e.g. `--context anitgravity`) could result in
incorrect file access if a corresponding local file existed (e.g. `./antigravity` binary);
file access is now guarded with path detection (file ending or path separator must be present)

Fixes #1558
2026-06-09 12:06:26 +02:00
Michael Panchenko 4385741e8c Merge pull request #1555 from oraios/bug/svelte_ts_document_symbols
Fix Svelte (svelte-only) symbol discovery in .ts/.js files (#1552)
2026-06-08 16:16:41 +02:00
Michael PanchenkoandClaude Opus 4.8 79bc9d91cc Fix Svelte (svelte-only) symbol discovery in .ts/.js files (#1552)
Bug: with `languages: [svelte]` (the documented setup), find_symbol/get_symbols_overview returned
empty for .ts/.js files, and find_referencing_symbols failed with "No symbol matching '<name>'
found". Symbols living in plain .ts/.js modules (services, stores, types, utils) were undiscoverable
through Serena's symbolic tools.

Cause: SvelteLanguageServer delegated references/definition/rename/diagnostics for .ts/.js files to
the companion (svelte-plugin-aware) TS server, but had no override for document-symbol requests. So
documentSymbol on a .ts/.js file was answered by the base svelte LS, which only serves .svelte
files, and returned nothing. Since find_symbol/get_symbols_overview are backed by documentSymbol --
and find_referencing_symbols must first locate the target symbol the same way -- the discovery step
never reached the companion.

Fix: override request_document_symbols to route .ts/.js files to the companion TS server, mirroring
the existing delegations. This is the single method that all symbol-tree/overview/containing-symbol
paths flow through, so it restores discovery for find_symbol, get_symbols_overview,
find_referencing_symbols and symbol-based editing in one place.

Tests: add .ts document-symbol and overview coverage plus agent-level symbol-retriever tests;
strengthen the existing symbol-tree test to assert GAME_VERSION, a symbol defined only in a .ts file
(the prior assertions also matched .svelte definitions, which is why the regression went unnoticed).

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-06-08 16:15:53 +03:00
Dr. Dominik Jain b912152131 Merge pull request #1553 from oraios/bug/cli_args_persisted_in_config_on_disk
Fix: never persist runtime config overrides during project registration
2026-06-08 13:15:23 +02:00