Skip to content

This release adds 3 notable features for engineering teams evaluating rollout.

✓ No known CVEs patched
Read the diff → Tool health → What is this tool? →

✓ No known CVEs patched in this version

Topics

agentskills ai-agents ai-tooling claude claude-code code-intelligence
+13 more
code-quality coding-agent developer-tools go language-server-protocol lsp mcp mcp-server model-context-protocol python rust static-analysis typescript

Affected surfaces

breaking_upgrade

Summary

AI summary

Fixed a deadlock that blocked multi‑file get_change_impact requests indefinitely.

Full changelog

v0.7.0

Skills as MCP Prompts

All 21 skills are now discoverable via prompts/list and retrievable via prompts/get. Any MCP client (Cursor, Windsurf, Zed, etc.) can discover and invoke agent-lsp's workflow skills without manual installation. prompts/list returns short descriptions (minimal context cost); full workflow instructions load on demand. Skills continue to work as AgentSkills slash commands in parallel. Skill definitions are embedded in the binary at build time.

Critical Fix: progressMu Deadlock

WaitForWorkspaceReadyTimeout locked progressMu at entry but did not unlock on timeout or normal exit paths. When get_change_impact processed multiple files, gopls emitted $/progress notifications that required progressMu in readLoop. The held lock deadlocked the entire read pipeline, blocking all pending requests indefinitely. Root cause of every multi-file get_change_impact hang. Fixed with defer progressMu.Unlock().

Reliability

  • Process lifecycle cleanup. Fixed orphaned gopls/pyright processes accumulating across sessions. Shutdown() now waits up to 3 seconds then force-kills. resolver.Shutdown() runs on every exit path (stdin EOF, context cancelled, signal, panic). StartForLanguage shuts down the previous client before starting a new one.
  • Stdin pipe deadlock fix. writeRaw now uses a dedicated write mutex instead of the shared state mutex. Prevents deadlock when concurrent reference queries fill the OS pipe buffer.
  • Daemon broker context propagation. Forwarded requests use the broker's lifecycle context instead of context.Background().
  • Windows build fix. Extracted Setsid into platform-specific files. Daemon mode is not yet supported on Windows; builds no longer fail.

Performance

  • Per-symbol timeout in get_change_impact. Each reference query capped at 15 seconds. Timed-out symbols are skipped with a warning.
  • Overall get_change_impact timeout. 90-second cap on the entire operation.
  • Concurrency bump. Worker pool increased from 8 to 16 parallel reference queries.

Observability

  • Per-tool latency logging. Every tool call logs duration via addToolWithPhaseCheck. Calls exceeding 5 seconds log at WARNING. Process start/exit events include PID and uptime.

Tests

224 new tests across 12 packages. Two packages at 100% coverage (internal/uri, internal/extensions). internal/logging at 95%.

Also

  • New branding and social preview
  • Documentation consistency audit across all docs

Weekly OSS security release digest.

The CVE patches and breaking changes that affected production tools this week. One email, every Sunday.

No spam, unsubscribe anytime.

Share this release

Track blackwell-systems/agent-lsp

Get notified when new releases ship.

Sign up free

About blackwell-systems/agent-lsp

Stateful MCP server over real language servers. 50 tools, 30 CI-verified languages, 20 agent workflows. Persistent sessions keep the index warm across files and projects. Speculative execution simulates edits in memory before writing to disk.

All releases →

Related context

Earlier breaking changes

  • v0.11.0 `get_change_impact` renamed to `blast_radius`. Same handler, same parameters, new name.

Beta — feedback welcome: [email protected]