Releases: oraios/serena
v0.1.4
This likely is the last release before the stable version 1.0.0 which will come together with the JetBrains IDE extension.
We release it for users who install Serena from a tag, since the last tag cannot be installed due to a breaking change in the mcp dependency (see #381).
Since the last release, several new languages were supported, and the Serena CLI and configurability were significantly extended.
We thank all external contributors who made a lot of the improvements possible!
Summary:
-
General:
- Initial instructions no longer need to be loaded by the user
- Significantly extended CLI
- Removed
replace_regextool fromide-assistantandcodexcontexts.
The current string replacement tool in Claude Code seems to be sufficiently efficient and is better
integrated with the IDE. Users who want to enablereplace_regexcan do so by customizing the context.
-
Configuration:
- Simplify customization of modes and contexts, including CLI support.
- Possibility to customize the system prompt and outputs of simple tools, including CLI support.
- Possibility to override tool descriptions through the context YAML.
- Prompt templates are now automatically adapted to the enabled tools.
- Several tools are now excluded by default, need to be included explicitly.
- New contexts for ChatGPT and Codex CLI - Serena now works in Codex!
-
Language servers:
- Reliably detect language server termination and propagate the respective error all the way
back to the tool application, where an unexpected termination is handled by restarting the language server
and subsequently retrying the tool application. - Add support for Swift
- Add support for Bash
- Enhance Solargraph (Ruby) integration
- Automatic Rails project detection via config/application.rb, Rakefile, and Gemfile analysis
- Ruby/Rails-specific exclude patterns for improved indexing performance (vendor/, .bundle/, tmp/, log/, coverage/)
- Enhanced error handling with detailed diagnostics and Ruby manager-specific installation instructions (rbenv, RVM, asdf)
- Improved LSP capability negotiation and analysis completion detection
- Better Bundler and Solargraph installation error messages with clear resolution steps
- Reliably detect language server termination and propagate the respective error all the way
Fixes:
- Ignore
.gitin check for ignored paths and improve performance offind_all_non_ignored_files - Fix language server startup issues on Windows when using Claude Code (which was due to
default shell reconfiguration imposed by Claude Code) - Additional wait for initialization in C# language server before requesting references, allowing cross-file references to be found.
v0.1.3
Summary
This is the first release of Serena to pypi. Since the last release, we have greatly improved
stability and performance, as well as extended functionality, improved editing tools and included support for several new languages.
- Reduce the use of asyncio to a minimum, improving stability and reducing the need for workarounds
- Switch to newly developed fully synchronous LSP library
solidlsp(derived frommultilspy),
removing our fork ofmultilspy(src/multilspy) - Switch from fastapi (which uses asyncio) to Flask in the Serena dashboard
- The MCP server is the only asyncio-based component now, which resolves cross-component loop contamination,
such that process isolation is no longer required.
Neither are non-graceful shutdowns on Windows.
- Switch to newly developed fully synchronous LSP library
- Improved editing tools: The editing logic was simplified and improved, making it more robust.
- The "minimal indentation" logic was removed, because LLMs did not understand it.
- The logic for the insertion of empty lines was improved (mostly controlled by the LLM now)
- Add a task queue for the agent, which is executed in a separate and thread and
- allows the language server to be initialized in the background, making the MCP server respond to requests
immediately upon startup, - ensures that all tool executions are fully synchronized (executed linearly).
- allows the language server to be initialized in the background, making the MCP server respond to requests
SearchForPatternTool: Better default, extended parameters and description for restricting the search- Language support:
- Better support for C# by switching from
omnisharpto Microsoft's official C# language server. - Add support for Clojure, Elixir and Terraform. New language servers for C# and typescript.
- Experimental language server implementations can now be accessed by users through configuring the
languagefield
- Better support for C# by switching from
- Configuration:
- Add option
web_dashboard_open_on_launch(allowing the dashboard to be enabled without opening a browser window) - Add options
record_tool_usage_statsandtoken_count_estimator - Serena config, modes and contexts can now be adjusted from the user's home directory.
- Extended CLI to help with configuration
- Add option
- Dashboard:
- Displaying tool usage statistics if enabled in the config
Fixes:
- Fix
ExecuteShellCommandToolandGetCurrentConfigToolhanging on Windows - Fix project activation by name via
--projectnot working (was broken in previous release) - Improve handling of indentation and newlines in symbolic editing tools
- Fix
InsertAfterSymbolToolfailing for insertions at the end of a file that did not end with a newline - Fix
InsertBeforeSymbolToolinserting in the wrong place in the absence of empty lines above the reference symbol - Fix
ReplaceSymbolBodyToolchanging whitespace before/after the symbol - Fix repository indexing not following links and catch exceptions during indexing, allowing indexing
to continue even if unexpected errors occur for individual files. - Fix
ImportErrorin Ruby language server. - Fix some issues with gitignore matching and interpreting of regexes in
search_for_patterntool.
2025-05-19
PHP support, fixed various small issues
Java LS doesn't seem to run on macos in this version