Skip to content

Releases: oraios/serena

v0.1.4

15 Aug 12:01

Choose a tag to compare

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_regex tool from ide-assistant and codex contexts.
      The current string replacement tool in Claude Code seems to be sufficiently efficient and is better
      integrated with the IDE. Users who want to enable replace_regex can 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

Fixes:

  • Ignore .git in check for ignored paths and improve performance of find_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

21 Jul 22:09

Choose a tag to compare

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 from multilspy),
      removing our fork of multilspy (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.
  • 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).
  • SearchForPatternTool: Better default, extended parameters and description for restricting the search
  • Language support:
    • Better support for C# by switching from omnisharp to 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 language field
  • Configuration:
    • Add option web_dashboard_open_on_launch (allowing the dashboard to be enabled without opening a browser window)
    • Add options record_tool_usage_stats and token_count_estimator
    • Serena config, modes and contexts can now be adjusted from the user's home directory.
    • Extended CLI to help with configuration
  • Dashboard:
    • Displaying tool usage statistics if enabled in the config

Fixes:

  • Fix ExecuteShellCommandTool and GetCurrentConfigTool hanging on Windows
  • Fix project activation by name via --project not working (was broken in previous release)
  • Improve handling of indentation and newlines in symbolic editing tools
  • Fix InsertAfterSymbolTool failing for insertions at the end of a file that did not end with a newline
  • Fix InsertBeforeSymbolTool inserting in the wrong place in the absence of empty lines above the reference symbol
  • Fix ReplaceSymbolBodyTool changing 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 ImportError in Ruby language server.
  • Fix some issues with gitignore matching and interpreting of regexes in search_for_pattern tool.

2025-05-19

19 May 15:00

Choose a tag to compare

2025-05-19 Pre-release
Pre-release

PHP support, fixed various small issues

Java LS doesn't seem to run on macos in this version