Commit Graph
2675 Commits
Author SHA1 Message Date
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
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
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 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
Michael Panchenko 6cd9c6b4d6 CI: minor cleanup in workflows. build job in publish workflow was not needed 2026-04-15 19:30:53 +02:00
Michael Panchenko e9e90f734d Dashboard: escape user input, address server-side scripting warning 2026-04-15 19:29:10 +02:00
Michael Panchenko 9ff2c765a9 Readme: minor changes in section on how Serena works 2026-04-15 16:08:10 +02:00
Dominik Jain a2061c1f4e Switch back to official pywebview (new release 6.2)
Resolves #1253
2026-04-15 13:35:01 +02:00
Dominik Jain e2463cec9e Fix Python 3.14 classifier 2026-04-15 13:32:51 +02:00
Dr. Dominik Jain e2e30a04c9 Merge pull request #1349 from oraios/fix-duplicated-yaml-comments
Fix duplicated YAML comments
2026-04-15 13:29:55 +02:00
Dominik Jain 5e82077b26 Fix duplicated comments when re-saving YAML files
This was due to nested comments associated with list items.
We now completely remove these.

Fixes #1285
2026-04-15 00:20:34 +02:00
Dominik Jain a6ec1b0621 Rename YAML comment transfer functions (no longer solely about transferring missing comments) 2026-04-15 00:20:10 +02:00
Dominik Jain a09840156f Fix in Project._is_ignored_relative_path
Check for ignored path ignored `.git` folder only at the top level,
not in every subdirectory

Fixes #1350
2026-04-15 00:18:04 +02:00
Michael Panchenko d8178fa2b4 CI: Removed persist-credentials: false from checkout action
For some reason, this causes the haxe LS download to fail.
We might want to investigate this in the future
2026-04-15 00:13:48 +02:00
Dominik Jain 7067963d6e Support serena --version CLI command
Resolves #1347
2026-04-15 00:01:24 +02:00
Michael Panchenko d6ea5bffde Wrong link in docs 2026-04-14 20:15:12 +02:00
Michael Panchenko 94bd2e52b6 CI, minor: remove junie workflow, use persist-credentials: false on checkout action 2026-04-14 18:30:43 +02:00
Dominik Jain 1e6345cae9 Release v1.1.2 2026-04-14 17:46:53 +02:00
Dr. Dominik Jain 48ce591de5 Merge pull request #1340 from oraios/dev-dj
Improvements for next patch release
2026-04-14 17:46:27 +02:00
Dominik Jain de2f75673b Add news item on evaluation and 1.1.2 release 2026-04-14 17:45:59 +02:00
Dominik Jain e1b29b8c28 Dashboard: Improve handling of read news (saving each id individually)
Fixes #1338
2026-04-14 16:32:19 +02:00
Michael Panchenko adad335d76 Removed concurrency handling for docs workflow 2026-04-14 16:06:22 +02:00
Michael Panchenko 9cb12248c4 Merge pull request #1341 from oraios/docs/new_evals
Docs/new evals
2026-04-14 15:46:58 +02:00
Michael Panchenko c00a54152e Improved documentation on connecting with Junie 2026-04-14 15:41:04 +02:00
Dominik Jain 505d520c80 SerenaAgent._create_base_toolset: Account for mode activation no longer being dynamic
Fully apply exclusions when in a single-project context

Fixes #1336
2026-04-14 15:11:28 +02:00
Michael Panchenko 510a4fe300 Added copilot cli eval, minor changes in eval wording 2026-04-14 15:10:05 +02:00
Dominik Jain b2729c2a3e SerenaAgentMode: Fix print_overview 2026-04-14 14:56:42 +02:00
Dominik Jain 00726f5fdc Add date to changelog headings, add 'v' prefix
Fixes #1337
2026-04-14 14:56:20 +02:00
Dominik Jain 82aacb1847 Fix translation from README to docs (once again) 2026-04-14 13:02:22 +02:00
Dominik Jain ac2b2ac131 GitignoreParser._iter_gitignore_files: Account for ValueError in relpath
Fixes #1317
2026-04-14 12:21:52 +02:00