This release fixes issues for SREs watching stability and regressions.
✓ No known CVEs patched in this version
Topics
+13 more
Summary
AI summaryFixed Windows daemon mode for Python/TypeScript language servers by resolving 12 platform‑specific bugs.
Changes in this release
| Type | Severity | Summary | CVE |
|---|---|---|---|
| Feature | Low |
Adds configurable broker timeout via `AGENT_LSP_BROKER_TIMEOUT_MS` (default 30 s). Adds configurable broker timeout via `AGENT_LSP_BROKER_TIMEOUT_MS` (default 30 s). Source: llm_adapter@2026-06-04 Confidence: high |
— |
| Feature | Low |
Adds spawn‑diagnostics logging to `~/.cache/agent-lsp/spawn-logs/<language>.log`. Adds spawn‑diagnostics logging to `~/.cache/agent-lsp/spawn-logs/<language>.log`. Source: llm_adapter@2026-06-04 Confidence: high |
— |
| Feature | Low |
Adds 785 new unit tests across five core packages, raising coverage significantly. Adds 785 new unit tests across five core packages, raising coverage significantly. Source: llm_adapter@2026-06-04 Confidence: low |
— |
| Bugfix | Medium |
Fixes 12 Windows‑specific bugs causing daemon mode failures. Fixes 12 Windows‑specific bugs causing daemon mode failures. Source: llm_adapter@2026-06-04 Confidence: low |
— |
Full changelog
v0.12.0
Windows daemon mode fixed
Daemon mode (Python/TypeScript language servers) is now fully functional on Windows. This release fixes 12 platform-specific bugs that caused start_lsp to fail with "broker did not start within 10 seconds" on every Windows session.
Fixes include:
- Process detachment using
CREATE_NEW_PROCESS_GROUP+CREATE_NO_WINDOW - PID liveness checks via
OpenProcess+GetExitCodeProcess(replacing rejectedSignal(0)) - Daemon registry race condition:
daemon.jsonnow written after socket bind - URI handling: RFC 8089 canonical form
file:///X:/path - Case-insensitive path comparison for NTFS in cross-repo reference partitioning
StopDaemonusingTerminateProcess(replacing rejectedSIGTERM)- Configurable broker timeout via
AGENT_LSP_BROKER_TIMEOUT_MS(default 30s) - Spawn diagnostics captured to
~/.cache/agent-lsp/spawn-logs/<language>.log
Thank you to @TheodorKleynhans for this comprehensive contribution. 🙏
Test coverage
785 new unit tests across 5 core packages:
| Package | Before | After | Change |
|---------|--------|-------|--------|
| internal/config | 70.0% | 96.2% | +26.2pp |
| internal/resources | 39.3% | 73.2% | +33.9pp |
| internal/session | 64.6% | 76.9% | +12.3pp |
| internal/lsp | 39.2% | 50.1% | +10.9pp |
| internal/tools | 39.3% | 40.7% | +1.4pp |
README positioning
Restructured the README to clarify that agent-lsp is an MCP server that orchestrates existing LSP servers (gopls, rust-analyzer, jdtls, etc.), not an LSP server itself. Added "What is it?" and "Why agent-lsp?" sections.
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]