osfeed.dev
Release / / with v2.0.0

Serena v2.1.0

Combine code navigation and editing operations in a Python REPL call.

Before you upgrade to v2.1.0

3 to fix

New configurations use `agent_interface: REPL`; existing configurations without this setting retain `tools`. REPL operations use `included_apis`/`excluded_apis`, rather than tool inclusion/exclusion settings.

Behavior changedChoose contexts, modes and enabled tools for a coding workflow.Affects: New installations and users selecting the REPL interface.Inferred
Read the evidence

Custom tool clients must obtain the Serena session from `initial_instructions` and pass `session` to session-dependent tools such as `activate_project` and `serena_repl`; v2.0.0 called this parameter `session_id`.

Action requiredConnect an LLM client to project navigation, editing and optional shell tools through MCP.Affects: Custom clients calling session-dependent MCP tools.
Read the evidence

For v2 distributions, follow GPL-3.0-or-later for the Serena application and combined package. SolidLSP remains MIT; earlier releases and commits retain MIT licensing.

Action requiredAffects: Users redistributing Serena or incorporating its application code.
Read the evidence

Untrusted projects no longer follow symlinks during traversal; explicit paths outside the root are rejected. Configure `trusted_project_path_patterns` with an intended project root to enable trusted-project link handling.

Action requiredSearch project files with regular expressions and read or replace file content.Affects: Projects relying on symlinks, especially links outside the project root.
Read the evidence

Untrusted projects use Serena's managed TypeScript installation instead of project-local TypeScript. Explicit symbol/diagnostic requests reject outside-root symlink targets; discovery skips symlinks in untrusted projects.

Behavior changedFind named symbols, file outlines and references across a codebase.Affects: TypeScript projects and projects with symlinked sources.
Read the evidence

Select `julia_fatou` to use the automatically installed Fatou server as an alternative to LanguageServer.jl; `uv`/`uvx` must be on PATH.

Behavior changedNavigate symbols in Julia code.
Read the evidence

Codex supports plan-mode enforcement hooks; add `serena-hooks reset` to `PostToolUse` for Serena tools to clear reminders. Shell-based reads/searches now count for Claude Code, CodeBuddy and ZCode reminders.

Behavior changedUse client hooks to activate projects and integrate Serena into coding sessions.
Read the evidence

An unset `web_dashboard_open_on_launch` shows a welcome pane for choosing startup behavior; automatic opening continues until configured. Untrusted projects are marked beside the active project name.

Behavior changedInspect session logs and tool usage through a local web dashboard.Affects: Users without a dashboard startup preference; users opening untrusted projects.
Read the evidence

Missing or empty `auth_secret` is replaced with a generated, persisted UUID for communication between Serena components; existing secrets are preserved.

Behavior changedChoose contexts, modes and enabled tools for a coding workflow.Affects: Users loading global configuration.
Read the evidence

Set `terminate_bloop_on_stop: true` to stop Bloop daemons after Metals shuts down; it defaults to false because another Metals client may share the daemon.

Behavior changedNavigate symbols in Scala code.Affects: Scala users who want Bloop cleanup after a Serena session.
Read the evidence

Java settings can control Maven/Gradle import and autobuild; `java.custom_jre_path` selects an external Java executable. TypeScript disables automatic type acquisition; VTS preserves explicit settings.

Behavior changedFind named symbols, file outlines and references across a codebase.Affects: Users configuring Java, TypeScript or VTS language servers.
Read the evidence

Installed Python adapters can register external language servers through `serena.language_servers`; install the adapter and explicitly select its ID in `project.yml`.

Behavior changedNavigate and edit code in a project containing multiple programming languages.Affects: Users adding language-server adapters supplied by Python packages.
Read the evidence

What changed in v2.1.0

The new REPL interface executes Python through `serena_repl`, with separate API inclusion settings. v2 also changes licensing and project trust behavior; session-dependent tools now require an explicit `session` parameter.

Also: Add Astro and VB.NET analysis, native TypeScript 7, ZCode and DSH integrations; restore Claude Desktop chat and HTTP logs.

Serena v2.0.0–v2.1.0 via uv; Python 3.11–3.14. REPL tool is marked beta; language-specific runtimes apply. Application and combined package are GPL-3.0-or-later.

New things you can do

Fixed and improved

Claude Desktop chat mode works again after the session-parameter rename; MCP-registry installs generate the correct launch command and can auto-activate projects.

Now worksConnect an LLM client to project navigation, editing and optional shell tools through MCP.
Read the evidence

Parallel project registrations no longer overwrite one another. `project health-check` now fails when reference lookup raises; `project index` writes UTF-8 logs for non-ASCII paths.

Now worksConnect an LLM client to project navigation, editing and optional shell tools through MCP.
Read the evidence

Dashboard and file logs keep updating with SSE or streamable HTTP.

Now worksInspect session logs and tool usage through a local web dashboard.
Read the evidence

The macOS tray manager no longer crashes when refreshing its menu.

Now worksInspect session logs and tool usage through a local web dashboard.
Read the evidence

File edits use atomic saves; `replace_lines` applies one edit rather than deleting first. Invalid search regexes now raise errors, and single-project `read_only` applies to the base tool set.

Now worksSearch project files with regular expressions and read or replace file content.
Read the evidence

Stale preview occurrence IDs are rejected. Unmatched optional `$!N` groups expand to empty text; undefined groups raise an error. Literal replacements preserve `$!N` verbatim; newline-ending previews show the correct range.

Now worksPreview and apply literal or regex replacements across multiple files.
Read the evidence

Memory saves are atomic. Moves check both source and destination permissions; renames propagate references only into writable memories in tool contexts.

Now worksSave project knowledge in memory files and read it in later conversations.
Read the evidence

TypeScript cross-file queries wait for newly opened projects and report tsserver crashes instead of empty references. Clojure queries refresh after external edits; same-named callers are no longer dropped as imports.

Now worksFind named symbols, file outlines and references across a codebase.
Read the evidence

Startup triggers Angular project loading before waiting. Extra workspace folders are supported; references combine Angular template usages and TypeScript callers, and TypeScript diagnostics use the companion server.

Now worksNavigate between Angular templates and component classes.
Read the evidence

Angular, Vue and Svelte JSX/TSX symbol ranges no longer truncate multiline expressions; Svelte JSX/TSX edits stay synchronized.

Now worksNavigate symbols in Svelte components and their TypeScript or JavaScript code.
Read the evidence

sbt 2 projects can start their build server; cross-file queries wait for Metals work using configurable indexing timeouts instead of a fixed five seconds.

Now worksNavigate symbols in Scala code.
Read the evidence

Kotlin servers retain executable archive permissions and isolate concurrent indexes. C# discovers new files in loaded projects, respects ignored projects, and finds tuple-typed fields/properties by their real names.

Now worksFind named symbols, file outlines and references across a codebase.
Read the evidence

Intelephense `maxMemory` now limits the Node heap and `maxFileSize` sets `intelephense.files.maxSize`.

Now worksFind named symbols, file outlines and references across a codebase.
Read the evidence

Dart waits for initial indexing; macOS Solidity diagnostics use an isolated state directory. AL activation supports both extension executable layouts; GDScript body replacement preserves the separating blank line.

Now worksFind named symbols, file outlines and references across a codebase.
Read the evidence

Concurrent sessions serialize configured IDE launches and wait for the plugin server before proceeding.

Now worksNavigate and refactor code using a JetBrains IDE's analysis.
Read the evidence

Failed workspace-scan probes no longer permanently suppress scanning and retries for the rest of the session.

Now worksNavigate symbols in Nextflow projects.
Read the evidence

Seeded by @iluxav with Codex, from the release's public sources. Each change links to its evidence.

Share

LinkedIn takes the link and its card only; write your text there.

X LinkedIn Reddit Hacker News Bluesky