Commit Graph
2892 Commits
Author SHA1 Message Date
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
Dr. Dominik Jain 4c56f6495b Merge pull request #1475 from thoraxe/feature/godot-gdscript-lsp
feat: add GDScript (Godot Engine) language server support
2026-05-14 12:11:50 +02:00
Michael Panchenko bc9d4e050c Feature: added memory maintenance memory as part of onboarding
Rephrased onboarding prompt to adjust to the recommended memory management
2026-05-13 23:31:31 +02:00
Michael Panchenko 18874913da Feature: added memory referential integrity check 2026-05-13 23:31:31 +02:00
Michael Panchenko 437bddd7a4 Feature: handle renaming of references to memories 2026-05-13 23:31:31 +02:00
Erik M JacobsandClaude Sonnet 4.6 ef22522ee2 fix(gdscript): address review feedback — configurable port/timeout, safer version detection
- Rename LSP_PORT → DEFAULT_GODOT_LS_PORT and add DEFAULT_GODOT_REQUEST_TIMEOUT
- Make port and request_timeout overridable via ls_specific_settings["gdscript"]
  by reading self._custom_settings in _create_language_server_interface
- Move self._conn_info setup into _create_language_server_interface so it can
  consume ls_specific_settings (which requires super().__init__ to have run)
- Fix _detect_godot_version to return int | None instead of always defaulting to 4:
  use an explicit config_version→major dict; return None for unrecognized versions
  and detection failures; caller logs warning on None
- Update setup guide and configuration reference docs with new settings

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-05-13 10:03:46 -04:00
Davis 4120359154 Fix UNC path parsing and drive letter case sensitivity on Windows 2026-05-13 14:25:53 +02:00
Erik M JacobsandClaude Sonnet 4.6 a1c281dc02 docs: add GDScript to README language list and CHANGELOG
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-05-12 16:21:16 -04:00
Erik M JacobsandClaude Sonnet 4.6 1ab1c460cb feat: add GDScript (Godot Engine) language server support
Closes #1446. Adds Language.GDSCRIPT backed by a new TCPLanguageServer
that extends LanguageServerInterface directly — no intermediate transport
abstraction layer.

Changes:
- ls_process.py: adds TCPConnectionInfo dataclass and TCPLanguageServer,
  a LanguageServerInterface subclass that manages a TCP socket directly
  (mirroring how StdioLanguageServer manages a subprocess). Stop order
  closes the socket before the BufferedReader wrapper to avoid a deadlock
  where BufferedReader.close() blocks on its internal read lock while
  readline() holds it waiting for data.
- ls_config.py: adds Language.GDSCRIPT with .gd/.gdscript file matcher.
- language_servers/godot_language_server.py: GodotLanguageServer connects
  to the Godot editor's TCP LSP (port 6008, same for Godot 3 and 4),
  registers Godot-specific notification handlers, and performs the
  initialize/initialized handshake. Godot version is auto-detected from
  config_version in project.godot.
- docs: adds GDScript to the language support list and a dedicated setup
  guide covering prerequisites, setup steps, performance characteristics
  (no workspace/symbol support → first full scan is slow, disk cache
  persists across sessions), and known limitations.

Tested against Godot 4.6.1 on Linux (Fedora 41): TCP connection,
initialize handshake, textDocument/documentSymbol returning full symbol
tree, and clean shutdown in <1s.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-05-12 16:20:54 -04:00
dependabot[bot] 70d939739a Bump urllib3 from 2.6.3 to 2.7.0 in the uv group across 1 directory
Bumps the uv group with 1 update in the / directory: [urllib3](https://github.com/urllib3/urllib3).


Updates `urllib3` from 2.6.3 to 2.7.0
- [Release notes](https://github.com/urllib3/urllib3/releases)
- [Changelog](https://github.com/urllib3/urllib3/blob/main/CHANGES.rst)
- [Commits](https://github.com/urllib3/urllib3/compare/2.6.3...2.7.0)

---
updated-dependencies:
- dependency-name: urllib3
  dependency-version: 2.7.0
  dependency-type: direct:production
  dependency-group: uv
...

Signed-off-by: dependabot[bot] <support@github.com>
2026-05-12 17:38:44 +02:00
Dr. Dominik Jain d69b2646a8 Merge pull request #1472 from oraios/fix-solidlsp_tmp
No longer use ~/solidlsp_tmp for storing temporary files
2026-05-12 17:11:16 +02:00
Dominik Jain 139ef54d27 Merge remote-tracking branch 'origin/main' into fix-solidlsp_tmp
Conflicts:
	CHANGELOG.md
2026-05-12 17:10:18 +02:00
d3454bc39e Dashboard: UI polish (typography, palette, modal cleanup)
- Switch UI font to Inter, keep monospace only for code/logs/paths/
  identifiers (loaded via Google Fonts; system fallbacks)
- Refine the light/dark palette with softer borders, clearer text
  hierarchy, and a more nuanced shadow/elevation system; introduce
  --bg-elevated, --border-strong, --shadow-elevated tokens; retain the
  orange accent
- Introduce a consistent spacing scale (--space-1..6) and apply it across
  sections, modals, and controls
- Extract shared modal CSS classes (.modal-info, .modal-hint,
  .modal-prompt, .modal-field, .modal-input, .modal-select,
  .modal-textarea, .modal-actions, .btn-secondary) and strip duplicated
  inline styles from all seven modals; add an accent-colored focus ring
  for inputs/textareas and a subtle backdrop blur
- Replace the native <select> in Add Language with a filterable combobox:
  type to filter, keyboard navigation (Up/Down/Enter/Esc), substring
  highlight, click-outside to close; the typed value is validated against
  the available languages list before submission
- Update CHANGELOG accordingly

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
Co-Authored-By: Dominik Jain <dominik.jain@oraios-ai.de>
2026-05-12 16:52:13 +02:00
Dominik Jain 2e05602895 Add news item for v1.3.0 release 2026-05-12 15:34:45 +02:00
Dominik Jain 81a036de50 Fix Serena's own project.yml (remove clojure) 2026-05-12 01:37:20 +02:00
Dominik Jain 10869c695e No longer use ~/solidlsp_tmp for storing temporary files
Use tempfile-based files instead.

Resolves #1468
2026-05-12 01:29:18 +02:00
Dominik Jain ccc80e7253 Improve release mechanism (two stages: draft release + publish to PyPi upon conversion) 2026-05-11 22:18:47 +02:00