From 3702d6d8edd374e805bac061723924f56ca00ebe Mon Sep 17 00:00:00 2001 From: Michael Panchenko Date: Sun, 11 Jan 2026 20:21:32 +0700 Subject: [PATCH] Readme, changelog --- CHANGELOG.md | 4 ++++ docs/01-about/035_tools.md | 31 ++++++++++++++++--------------- 2 files changed, 20 insertions(+), 15 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index ef7afa61..7a2fe6dc 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -14,6 +14,7 @@ Status of the `main` branch. Changes prior to the next official version change w solving several issues related to retrieval problems in Java projects * Major extensions to the dashboard, which now serves as a central web interface for Serena * View current configuration + * View news which can be marked as read * View the executions, with the possibility to cancel running/scheduled executions * View tool usage statistics * View and create memories and edit the serena configuration file @@ -29,6 +30,8 @@ Status of the `main` branch. Changes prior to the next official version change w * New mode `oaicompat-agent` and extensions enhancing OpenAI tool compatibility, permitting Serena to work with llama.cpp * Tools: + * *New tool*: `jet_brains_type_hierarchy` + * Symbol information (hover, docstring, quick-info) is now provided as part of `find_symbol` and related tool responses. * Added `RenameSymbolTool` for renaming symbols across the codebase (if LS supports this operation). * Replaced `ReplaceRegexTool` with `ReplaceContentTool`, which supports both plain text and regex-based replacements (and which requires no escaping in the replacement text, making it more robust) @@ -57,6 +60,7 @@ Status of the `main` branch. Changes prior to the next official version change w * **Ruby dual language server support**: Added ruby-lsp as the modern primary Ruby language server. Solargraph remains available as an experimental legacy option. ruby-lsp supports both .rb and .erb files, while Solargraph supports .rb files only. * **Add support for PowerShell** via PowerShell Editor Services (PSES). Requires `pwsh` (PowerShell Core) to be installed and available in PATH. Supports symbol navigation, go-to-definition, and within-file references for .ps1 files. * **Add support for MATLAB** via the official MathWorks MATLAB Language Server. Requires MATLAB R2021b or later and Node.js. Set `MATLAB_PATH` environment variable or configure `matlab_path` in `ls_specific_settings`. Supports .m, .mlx, and .mlapp files with code completion, diagnostics, go-to-definition, find references, document symbols, formatting, and rename. + * **Add support for Pascal** via the official Pascal Language Server. # 0.1.4 diff --git a/docs/01-about/035_tools.md b/docs/01-about/035_tools.md index 23662750..293651e6 100644 --- a/docs/01-about/035_tools.md +++ b/docs/01-about/035_tools.md @@ -3,41 +3,42 @@ Find the full list of Serena's tools below (output of ` tools list --all`). Note that in most configurations, only a subset of these tools will be enabled simultaneously (see the section on [configuration](../02-usage/050_configuration) for details). - * `activate_project`: Activates a project based on the project name or path. * `check_onboarding_performed`: Checks whether project onboarding was already performed. * `create_text_file`: Creates/overwrites a file in the project directory. * `delete_lines`: Deletes a range of lines within a file. * `delete_memory`: Deletes a memory from Serena's project-specific memory store. +* `edit_memory`: * `execute_shell_command`: Executes a shell command. * `find_file`: Finds files in the given relative paths -* `find_referencing_symbols`: Finds symbols that reference the symbol at the given location (optionally filtered by type). -* `find_symbol`: Performs a global (or local) search for symbols with/containing a given name/substring (optionally filter - ed by type). -* `get_current_config`: Prints the current configuration of the agent, including the active and available projects, tools, - contexts, and modes. +* `find_referencing_symbols`: Finds symbols that reference the given symbol using the language server backend +* `find_symbol`: Performs a global (or local) search using the language server backend. +* `get_current_config`: Prints the current configuration of the agent, including the active and available projects, tools, contexts, and modes. * `get_symbols_overview`: Gets an overview of the top-level symbols defined in a given file. * `initial_instructions`: Provides instructions on how to use the Serena toolbox. + Should only be used in settings where the system prompt is not read automatically by the client. + + NOTE: Some MCP clients (including Claude Desktop) do not read the system prompt automatically! * `insert_after_symbol`: Inserts content after the end of the definition of a given symbol. * `insert_at_line`: Inserts content at a given line in a file. * `insert_before_symbol`: Inserts content before the beginning of the definition of a given symbol. -* `jet_brains_find_referencing_symbols`: Finds symbols that reference the given symbol -* `jet_brains_find_symbol`: Performs a global (or local) search for symbols with/containing a given name/substring (option - ally filtered by type). -* `jet_brains_get_symbols_overview`: Retrieves an overview of the top-level symbols within a specified file +* `jet_brains_find_referencing_symbols`: Finds symbols that reference the given symbol using the JetBrains backend +* `jet_brains_find_symbol`: Performs a global (or local) search for symbols using the JetBrains backend +* `jet_brains_get_symbols_overview`: Retrieves an overview of the top-level symbols within a specified file using the JetBrains backend +* `jet_brains_type_hierarchy`: Retrieves the type hierarchy (supertypes and/or subtypes) of a symbol using the JetBrains backend * `list_dir`: Lists files and directories in the given directory (optionally with recursion). * `list_memories`: Lists memories in Serena's project-specific memory store. * `onboarding`: Performs onboarding (identifying the project structure and essential tasks, e.g. for testing or building). * `open_dashboard`: Opens the Serena web dashboard in the default web browser. -* `prepare_for_new_conversation`: Provides instructions for preparing for a new conversation (in order to continue with th - e necessary context). + The dashboard provides logs, session information, and tool usage statistics. +* `prepare_for_new_conversation`: Provides instructions for preparing for a new conversation (in order to continue with the necessary context). * `read_file`: Reads a file within the project directory. * `read_memory`: Reads the memory with the given name from Serena's project-specific memory store. * `remove_project`: Removes a project from the Serena configuration. * `rename_symbol`: Renames a symbol throughout the codebase using language server refactoring capabilities. -* `replace_lines`: Replaces a range of lines within a file with new content. * `replace_content`: Replaces content in a file (optionally using regular expressions). -* `replace_symbol_body`: Replaces the full definition of a symbol. +* `replace_lines`: Replaces a range of lines within a file with new content. +* `replace_symbol_body`: Replaces the full definition of a symbol using the language server backend. * `restart_language_server`: Restarts the language server, may be necessary when edits not through Serena happen. * `search_for_pattern`: Performs a search for a pattern in the project. * `summarize_changes`: Provides instructions for summarizing the changes made to the codebase. @@ -45,4 +46,4 @@ Note that in most configurations, only a subset of these tools will be enabled s * `think_about_collected_information`: Thinking tool for pondering the completeness of collected information. * `think_about_task_adherence`: Thinking tool for determining whether the agent is still on track with the current task. * `think_about_whether_you_are_done`: Thinking tool for determining whether the task is truly completed. -* `write_memory`: Writes a named memory (for future reference) to Serena's project-specific memory store. +* `write_memory`: Writes a named memory (for future reference) to Serena's project-specific memory store. \ No newline at end of file