This release adds 3 notable features for engineering teams evaluating rollout.
✓ No known CVEs patched in this version
Topics
+13 more
Affected surfaces
Summary
AI summaryFixed 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).StartForLanguageshuts down the previous client before starting a new one. - Stdin pipe deadlock fix.
writeRawnow 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
Setsidinto 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_impacttimeout. 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
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.
Related context
Related tools
Earlier breaking changes
- v0.11.0 `get_change_impact` renamed to `blast_radius`. Same handler, same parameters, new name.
Beta — feedback welcome: [email protected]