Commit Graph
2908 Commits
Author SHA1 Message Date
Michael Panchenko d0dbed3779 Shorten command in installation instructions
--prerelease=allow is no longer necessary (pythonnet was bumped) and @latest is not needed either (same effect as without it)
2026-05-26 17:10:14 +02:00
Michael Panchenko 209ea95881 Set version to v1.5.3.dev0 2026-05-26 17:05:07 +02:00
Michael Panchenko 2ee8f100b2 Release v1.5.2 2026-05-26 17:05:07 +02:00
Joe Black f5c707aca4 feat(hooks): expand _CODE_FILE_EXTENSIONS to include config/schema formats
Add structured non-source file types (.yaml, .json, .toml, .graphql,
.proto, .sql, .tf, .hcl, etc.) to the read-file nudge set.

These extensions are common in real-world projects and repeated raw
reads of them are equally well served by `search_for_pattern` or
other Serena tools — the same rationale that applies to .py/.ts already
applies to config, schema, and query files.

Note added to the docstring: `search_for_pattern` works regardless of
extension and is always a valid alternative to repeated raw reads.
2026-05-26 16:43:47 +02:00
Michael Panchenko 6956948180 Merge pull request #1518 from oraios/improve_packaging
Improve packaging
2026-05-26 16:39:36 +02:00
Michael Panchenko 75738f4838 Add identifier as comment to readme
Needed for Serena to be listed in GitHub's mcp registry
2026-05-26 15:34:38 +02:00
Michael Panchenko 1122166b7c Remove pyright and fortls from serena-agent package, instead install with uvx on the fly
Added a dedicated LSDependencyProvider for that
2026-05-26 15:34:37 +02:00
Michael Panchenko 6941af6aab Bumped pythonnet, added serena-agent cli alias command
The latter enables running uvx serena-agent as entrypoint, otherwise one needs uvx --from serena-agent serena
2026-05-26 14:58:54 +02:00
Michael Panchenko 016ccbe1c0 Dashboard: validate host and port on each request 2026-05-26 13:44:57 +02:00
weiconghe 9c19d5f7f8 fix: allow non-existent paths in ignore check
The _is_ignored_relative_path method used to raise FileNotFoundError
when checking a path that does not exist on disk. This prevented
editing tools (replace_content, insert_after_symbol, etc.) from
operating on newly created files.

Since a non-existent file cannot be matched by ignore patterns,
returning False (not ignored) is semantically correct and safe.

Changes:
- _is_ignored_relative_path: return False instead of raising for
  non-existent paths, with a debug log message
- validate_relative_path docstring: updated to reflect new behavior
- Added 3 test cases covering non-existent path scenarios
2026-05-26 11:44:06 +02:00
Dominik Jain 981f560fa3 Consolidate handling of resources paths
* constants.py should remain the central place where a root path
   is determined based on source file location
 * SerenaPaths should consistently use strings
2026-05-21 15:27:49 +02:00
Dominik Jain 1b1522d46d Improve change log
* v1.5.1: Add hotfix cbfe68a4cd
 * v1.5.0: Mention changes to onboarding invasiveness
2026-05-20 15:10:12 +02:00
dependabot[bot] c3144a7144 Bump idna from 3.11 to 3.15 in the uv group across 1 directory
Bumps the uv group with 1 update in the / directory: [idna](https://github.com/kjd/idna).


Updates `idna` from 3.11 to 3.15
- [Release notes](https://github.com/kjd/idna/releases)
- [Changelog](https://github.com/kjd/idna/blob/master/HISTORY.md)
- [Commits](https://github.com/kjd/idna/compare/v3.11...v3.15)

---
updated-dependencies:
- dependency-name: idna
  dependency-version: '3.15'
  dependency-type: indirect
  dependency-group: uv
...

Signed-off-by: dependabot[bot] <support@github.com>
2026-05-20 14:08:32 +02:00
Sergiy Borodych 860c5841df Include .t files in Perl::LanguageServer fileFilter
Serena's file-to-language router already maps `.t` to the Perl LS
(`Language.PERL` in `solidlsp/ls_config.py`), but the
Perl::LanguageServer-side `fileFilter` was hardcoded to
`[".pm", ".pl"]`. As a result Perl::LanguageServer skipped `.t`
files entirely: symbol queries on a `.t` returned empty, and
references to `.pm`/`.pl` subs missed any callers defined in
`.t` files.

Add `.t` to the filter, deduplicate the two `fileFilter` literals
into a `_FILE_FILTER` class constant, and note the sync requirement
with `Language.PERL.get_source_fn_matcher()` in a comment. Cover
the behavior with a new cross-file references test plus a `helper.t`
fixture; the test fails on unpatched `main` and passes on this
branch.
2026-05-20 14:07:57 +02:00
Michael Panchenko 0909ae05f7 Set version to v1.5.2.dev0 2026-05-18 23:15:02 +03:00
Michael Panchenko c3a8d5a9c5 Release v1.5.1 2026-05-18 23:15:01 +03:00
Edward Muller ffd5dfd3e7 Add CUE language support via cue lsp (#1474) 2026-05-18 22:12:40 +02:00
Michael Panchenko cbfe68a4cd Hotfix: fix path to memory_maintenance.md 2026-05-18 23:07:46 +03:00
Dominik Jain 1c5cf3486e Improve release workflow description (single tag required) 2026-05-18 14:33:30 +02:00
Dominik Jain e2e8b3c231 Set version to v1.5.1.dev0 2026-05-18 14:33:30 +02:00
Dominik Jain 6fbbbadc88 Release v1.5.0 2026-05-18 14:33:30 +02:00
Dr. Dominik Jain 9eef1cba36 Merge pull request #1477 from oraios/feature/rename-memory-references
Revamp Memory System
2026-05-18 14:04:29 +02:00
Dominik Jain 1943549ad5 Fix duplicate constant 2026-05-18 14:02:51 +02:00
Dr. Dominik Jain d1fb182302 Merge pull request #1492 from mturac/fix/issue-1407-empty-projects-config
fix: handle empty projects config key
2026-05-18 13:22:16 +02:00
Erik JacobsandClaude Sonnet 4.6 87eaa40553 fix(gdscript): detect broken TCP connection and fail fast on send error (#1493)
fix(gdscript): detect broken TCP connection and fail fast on reconnect

When the Godot editor restarts or the LSP connection drops, the
TCPLanguageServer read loop exits but previously left self._sock set,
causing is_running() to return True. Subsequent LSP requests would
then send to a dead socket, log a broken-pipe error silently, and
block for the full tool timeout (235 s by default) before raising.

Two fixes in TCPLanguageServer:
- _send_payload: on OSError, clear self._sock/self._file and
  immediately cancel all pending requests so callers fail fast
  instead of waiting out the timeout.
- _read_loop: after unexpected exit, clear self._sock/self._file so
  is_running() returns False and _ensure_functional_ls can trigger
  an automatic reconnect on the next tool call.

Also fixes GodotLanguageServer so that ls_specific_settings.request_timeout
is respected as a cap on the per-request timeout. Previously the value
was read in _create_language_server_interface but then overridden by
the tool-timeout-derived value passed to set_request_timeout(). Now
set_request_timeout() applies min(incoming, configured) so users can
set a low request_timeout in their project.yml to fail fast without
lowering the global tool_timeout.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-05-18 13:08:27 +02:00
Dr. Dominik Jain 7c7d5eef56 Merge pull request #1495 from oraios/language-instance
SolidLanguageServer: Fix language enum instance being derived from the language_id
2026-05-16 15:40:49 +02:00
Dominik Jain a59e12adaa Merge remote-tracking branch 'origin/main' into feature/rename-memory-references
Conflicts:
  src/serena/tools/file_tools.py
2026-05-16 15:28:32 +02:00
Dominik Jain eb43c5be1a Rename MemoriesManager -> MemoryManager 2026-05-16 15:16:14 +02:00
Dominik Jain 14e939ee1c Add memories package, moving MemoriesManager to its own module 2026-05-16 15:02:54 +02:00
Dominik Jain da26e5c63a Split history src/serena/project.py to src/serena/memories/memory_manager.py - restore name of source-file 2026-05-16 14:58:32 +02:00
Dominik Jain 63c28ce688 Split history src/serena/project.py to src/serena/memories/memory_manager.py - resolve conflict and keep both files 2026-05-16 14:58:31 +02:00
Dominik Jain a5464fec66 Split history src/serena/project.py to src/serena/memories/memory_manager.py - rename source-file to git-split-temp 2026-05-16 14:58:31 +02:00
Dominik Jain a27e6fd87b Split history src/serena/project.py to src/serena/memories/memory_manager.py - rename file to target-name 2026-05-16 14:58:30 +02:00
Dominik Jain 993d401847 SolidLanguageServer: Fix language being derived from the language_id instead of the class 2026-05-16 14:39:36 +02:00
mehmet turac 3ec5485da7 fix: handle empty projects config key 2026-05-16 01:51:22 +03:00
Dominik Jain 2b52dd7636 Improve memory management documentation and memory terminology
* Improve memory_maintenance memory
* Drop "routing" terminology, use "references" instead
2026-05-14 23:54:17 +02:00
Dominik Jain b8a5eef5bc Change regex multi-line handling
* Combine DOTALL and MULTILINE into a single flag for "multi-line mode",
  replacing the dotall parameter with multiline/regex_multiline
* Apply the parameter in SearchForPatternTool
* Remove the dotall flag from editing tools (ReplaceContentTool, EditMemoryTool)
  because edits should always use multi-line mode, but keep the multiline parameter
  as an option in ContentReplacer
2026-05-14 23:12:44 +02:00
Michael Panchenko eaa6a744c1 Docstring 2026-05-14 22:49:06 +02:00
Michael Panchenko e3b2553d5b Refactoring: move memory reference analysis to separate module 2026-05-14 22:49:06 +02:00
Michael Panchenko 833f518c3d Changelog, minor fixes 2026-05-14 22:49:06 +02:00
Michael Panchenko 27b3622c38 Improve fuzzy memory name matching logic and UX in CLI 2026-05-14 22:49:06 +02:00
Michael Panchenko 342b9b0382 Improved memories, consolidation existing with those from new onboarding 2026-05-14 22:49:06 +02:00
Michael Panchenko 04198c2a5e Removed check_onboarding_performed, instead add a hint to activation message 2026-05-14 22:49:06 +02:00
Michael Panchenko d4c460583b Improve onboarding and memory maintenance wording 2026-05-14 22:49:06 +02:00
Michael Panchenko 461b7ebd4b Memory management:
* Add renaming with auto-updated references
  * More specific identifier naming (use term unmarked_memories)

Improve memory documentation:
  * Explain reference concept
  * Explain rationale

Add memory CLI commands
  * CRUD operations
2026-05-14 22:48:51 +02:00
Michael Panchenko be5b60bddb Make dotall optional in affected tools 2026-05-14 22:43:00 +02:00
Dominik Jain 1767a259ce Improve docstring of ReplaceSymbolBodyTool, clarifying what constitutes the body #1484 2026-05-14 22:03:46 +02:00
Dominik Jain 5b9600bcaf Make tool descriptions more amenable to tool search mechanisms
Avoid referencing other tools' names, general improvements
2026-05-14 18:19:29 +02:00
Eduardo Magalhães 04630c1abb Add Svelte support (#1457)
Uses svelte LS and typescript LS as companion server
2026-05-14 12:52:34 +02:00
Berkay Çelik c3d9aeafae Docs, minor 2026-05-14 12:36:24 +02:00