Commit Graph
2701 Commits
Author SHA1 Message Date
Michael Panchenko f786dee0b4 Merge pull request #1393 from oraios/dependabot/uv/uv-82fdfb001f
Bump nbconvert from 7.17.0 to 7.17.1 in the uv group across 1 directory
2026-04-22 00:09:28 +02:00
dependabot[bot] 8ebe6322f2 Bump nbconvert from 7.17.0 to 7.17.1 in the uv group across 1 directory
Bumps the uv group with 1 update in the / directory: [nbconvert](https://github.com/jupyter/nbconvert).


Updates `nbconvert` from 7.17.0 to 7.17.1
- [Release notes](https://github.com/jupyter/nbconvert/releases)
- [Changelog](https://github.com/jupyter/nbconvert/blob/main/CHANGELOG.md)
- [Commits](https://github.com/jupyter/nbconvert/compare/v7.17.0...v7.17.1)

---
updated-dependencies:
- dependency-name: nbconvert
  dependency-version: 7.17.1
  dependency-type: direct:production
  dependency-group: uv
...

Signed-off-by: dependabot[bot] <support@github.com>
2026-04-21 18:12:38 +00:00
Dominik Jain a6877c4419 Project server:
- query_project: Support use of project root instead of project name
  - list_queryable_projects: Return both project names and project roots

Resolves #1388
2026-04-21 17:48:12 +02:00
Dominik Jain 4e0e7cd668 Always return prompts of newly activated modes in project activation message
(even if already returned within current session, because clients like
Claude Desktop use a single session for everything)

Relates to #1370
2026-04-21 15:47:29 +02:00
Dominik Jain f0a3a279b7 Always provide full activation message upon calling activate_project
This is necessary, because some clients (e.g. Claude Desktop) will
reuse a single session across chats.

Resolves #1384
2026-04-21 14:34:10 +02:00
Dominik Jain 364c08c6e2 Improve loading of project.yml files: Gracefully handle user errors involving incorrect use of None/empty instead of list
Resolves #1390
2026-04-21 13:51:17 +02:00
Dominik Jain 57462a5d45 Further improve error reporting/handling pertaining to ignore spec/pattern computation
Relates to #1390
2026-04-21 13:29:45 +02:00
Dominik Jain 24c71841ee Fix: Failure to collect project ignore spec now logs the stack trace
and subsequent tasks fail fast
2026-04-21 12:49:46 +02:00
Michael Panchenko b2cce67206 Merge pull request #1383 from oraios/bugfix/insert_after_constant
Forbid using insert_after_symbol on symbols with no proper body
2026-04-21 12:43:57 +02:00
Michael Panchenko 2c65578536 Demo script: remove toon encoding 2026-04-21 12:41:20 +02:00
Michael Panchenko 89440bf055 Forbid using insert_after_symbol on symbols with no proper body 2026-04-21 12:40:29 +02:00
Michael Panchenko 14cd3ef559 Merge pull request #1385 from mdorman/flake
flake.nix: include `serena-hooks` in package
2026-04-20 19:58:39 +02:00
Michael Alan Dorman 6016c3b4e2 flake.nix: include serena-hooks in package 2026-04-20 13:42:21 -04:00
Dominik Jain 84891b592e Usage reporting: Include context name 2026-04-20 14:51:37 +02:00
Dominik Jain 2d767e2fa9 Remove obsolete docs file 040_comparison-to-other-agents 2026-04-20 14:17:04 +02:00
Dominik Jain f64a7ca678 Fix formatting issue 2026-04-20 14:14:57 +02:00
Dominik Jain 9386012aed Improve README -> docs translation (once again) 2026-04-20 14:13:49 +02:00
Dr. Dominik Jain 51163eda81 Merge pull request #1371 from oraios/mode-activation-prompts
Improve project-specific prompt provision
2026-04-20 13:33:15 +02:00
Dominik Jain 3fea7b562e Add TestPromptProvision 2026-04-20 13:31:30 +02:00
Dominik Jain c3414c3be6 Merge remote-tracking branch 'origin/main' into mode-activation-prompts
Conflicts:
	CHANGELOG.md
2026-04-20 12:21:13 +02:00
Dominik Jain 3d31512107 Manage project-specific prompt provision per session (MCP client session ID)
This allows the stateful handling introduced for #1370 #1372
to correctly apply to HTTP mode as well, by adjusting tools to be session-aware:
 * InitialInstructionsTool
 * ActivateProjectTool
2026-04-20 12:18:07 +02:00
Michael Panchenko 229fac0662 Restrict querying of external projects to read-only tools 2026-04-20 11:13:04 +02:00
Michael Panchenko 7663d06f83 Forbid ".." in memory names 2026-04-20 10:58:10 +02:00
Michael Panchenko 1fd97a8ae2 Merge pull request #1376 from oraios/new_evals
New evals
2026-04-20 09:33:04 +02:00
Michael Panchenko e0cf89ff6a Merge branch 'main' into new_evals 2026-04-20 09:32:50 +02:00
Dominik Jain b3c92d32d8 Support session-aware tools: Tools can now use a session_id: str parameter in apply
* Not included in client-relevant interface
* Injected via apply_ex if apply defines the parameter
  (apply should never document the parameter, notably)
2026-04-19 22:52:37 +02:00
Dr. Dominik Jain 6fae7374bd Merge pull request #1366 from oraios/readme-video-update
Update README & Docs (videos, JetBrains usage)
2026-04-19 15:14:40 +02:00
Dominik Jain 7636a1cf37 Improve JetBrains plugin usage description 2026-04-19 15:14:09 +02:00
Dominik Jain 269fe26d08 Prevent project activation message from being provided more than once
Fixes #1372
2026-04-19 14:20:01 +02:00
Dominik Jain 9bc815b3e1 Ensure that prompts for dynamically activated modes are appropriately transmitted
Fixes #1370
2026-04-19 14:20:01 +02:00
Michael Panchenko 97699fa59f Evaluation: added results for Junie and GLM 5.1 2026-04-19 12:52:22 +02:00
Michael Panchenko 11dfdbf8c5 Merge pull request #1375 from Koushik-Salammagari/fix/document-symbol-children-field
fix: add missing children field to DocumentSymbol TypedDict
2026-04-18 20:48:54 +02:00
KoushikReddy ed63068045 fix: add missing children field to DocumentSymbol TypedDict
The LSP v3.17 spec defines DocumentSymbol.children as an optional list
of nested DocumentSymbol entries. The field was absent from the TypedDict,
causing type checkers to flag access to 'children' on DocumentSymbol
objects and requiring # type: ignore workarounds in ls.py.
2026-04-18 09:27:06 -07:00
Dominik Jain 64ef986d75 Refactor ActiveModes, improving the caching 2026-04-18 12:33:15 +02:00
Dominik Jain 37d40d6659 Merge remote-tracking branch 'origin/webview-util' 2026-04-17 16:11:13 +02:00
Dr. Dominik Jain 49524ab155 Update README
* Add "Quick Demo" section with new videos
* Remove old section "Serena in Action"
* Update section "How Serena Works", removing redundant part explaining backends (this is what the next section handles)
2026-04-17 15:55:36 +02:00
Michael Panchenko 8c4fa120fe Fix in request_overview: explicitly passed file path bypassed ignore check (#1365) 2026-04-17 13:06:54 +02:00
Michael Panchenko 3be62e3c27 Fix in request_overview: explicitly passed file path bypassed ignore check 2026-04-17 11:05:59 +02:00
Michael Panchenko 7e1a94ea4c Context: removed more tools from junie default context 2026-04-17 10:56:58 +02:00
Michael Panchenko 7392d65b00 Tests: removed unnecessary and failing test for empty symbol not being cached 2026-04-17 09:32:03 +02:00
Michael Panchenko b47ee4c2f1 Merge branch 'main' of github.com:oraios/serena 2026-04-17 09:30:42 +02:00
Dominik Jain 4147ad8254 Refactoring: Extract utility class WebViewWithTray 2026-04-16 22:17:46 +02:00
d32c053c55 Fix Lean4 stale cache: skip caching empty document symbol responses (#1356)
* Fix Lean4 stale cache: skip caching empty document symbol responses

When the Lean language server is queried before `lake build` completes,
it returns empty symbol lists. Previously these were written to the
persistent cache, permanently hiding symbols even after the build
finished. Now only non-empty responses are cached.

Adds a unit test that verifies empty responses from the LSP layer are
never written to _raw_document_symbols_cache.

Fixes #1217

* fix: run poe format and add changelog entry for #1356

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>

---------

Co-authored-by: Claude Sonnet 4.6 <noreply@anthropic.com>
Co-authored-by: Michael Panchenko <35432522+MischaPanch@users.noreply.github.com>
2026-04-16 19:19:23 +02:00
Michael Panchenko 3345153cce Clean up CodeQL workflow by removing languages
Removed unused languages from CodeQL workflow matrix.
2026-04-16 17:53:54 +02:00
Michael Panchenko 1f95613b11 JB tools: transform some incorrectly sent empty strings in params to None
In Move and SafeDelete, the client might send an empty string instead of None
2026-04-16 13:44:04 +02:00
mesa3 d650f30c7e Fix clangd cache invalidation and capability checks (#1359)
Summary
relax clangd initialize capability checks to tolerate valid response shape differences
add a clangd-specific document-symbol cache fingerprint so stale C++ symbol caches are invalidated when backend/config state changes
add a regression test covering C++ document-symbol cache invalidation
Problem
For C++ projects, Serena's symbol tools could keep returning malformed cached document symbols even after clangd / compile commands / backend state had been repaired. The cache key was effectively stable as long as file contents did not change, so previously bad symbol trees could survive later LS recovery.

In addition, clangd capability checks were too strict and assumed a single exact initialize-response shape.

What this changes
accepts both integer and object-style textDocumentSync responses
validates completionProvider more conservatively by checking required trigger characters instead of exact equality
fingerprints clangd document-symbol caches using:
clangd_version
ls_path
compile_commands_dir
compile_commands.json content hash
adds a C++ regression test similar to the existing Go cache invalidation coverage
2026-04-16 12:19:29 +02:00
ek-133 9d64931fd9 Issue #1348 Vue rename_symbol fix (#1355)
Edits in vue files need to be propagated to the TS LS, e.g. for cross-language renames
2026-04-16 11:11:53 +02:00
Michael Panchenko 7a0d142185 Merge pull request #1354 from oraios/dependabot/uv/uv-d832887a00
Bump python-multipart from 0.0.22 to 0.0.26 in the uv group across 1 directory
2026-04-16 10:27:19 +02:00
Michael Panchenko f0d92bfca8 Merge pull request #1353 from oraios/implement_security_recommendations
Implement security recommendations
2026-04-16 10:13:36 +02:00
dependabot[bot] 8691ae3046 Bump python-multipart in the uv group across 1 directory
Bumps the uv group with 1 update in the / directory: [python-multipart](https://github.com/Kludex/python-multipart).


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

---
updated-dependencies:
- dependency-name: python-multipart
  dependency-version: 0.0.26
  dependency-type: direct:production
  dependency-group: uv
...

Signed-off-by: dependabot[bot] <support@github.com>
2026-04-15 21:21:13 +00:00