Skip to content

blackwell-systems/agent-lsp

v0.15.0 Feature

This release adds 4 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

Summary

AI summary

Updates Other changes, https://github.com/blackwell-systems/gcf/blob/main/SPEC.md, and https://github.com/blackwell-systems/gcf-go/releases/tag/v1.1.0 across a mixed release.

Changes in this release

Performance Medium

Upgraded to gcf-go v1.1.0, implementing GCF spec v3 for more efficient nested data encoding.

Upgraded to gcf-go v1.1.0, implementing GCF spec v3 for more efficient nested data encoding.

Source: llm_adapter@2026-06-13

Confidence: high

Bugfix Medium

Workspace ready check added to all LSP query methods, preventing -32001 errors on cold start.

Workspace ready check added to all LSP query methods, preventing -32001 errors on cold start.

Source: llm_adapter@2026-06-13

Confidence: high

Bugfix Medium

QualifiedName space sanitization fixes GCF graph decoding for symbol names with spaces (e.g., TypeScript).

QualifiedName space sanitization fixes GCF graph decoding for symbol names with spaces (e.g., TypeScript).

Source: llm_adapter@2026-06-13

Confidence: high

Full changelog

v0.15.0: 25% fewer tokens on nested tool responses (GCF spec v3)

Upgraded to gcf-go v1.1.0, which implements GCF spec v3. This improves the generic/tabular profile used by all 66 tool handlers.

What changed

Tools that return nested data (diagnostics with metadata, symbols with caller lists, references with context) now encode 25.5% more efficiently. Two improvements:

Inline schema encoding. Nested objects with 3+ fields are encoded positionally on the parent row instead of as separate attachment blocks. Fewer lines, fewer tokens.

Shared array schemas. When multiple records contain arrays with the same structure (e.g., every symbol has a .refs array with {file, line, kind}), the field header is declared once and omitted on subsequent records.

Before (v1.0.0):

@0 AuthMiddleware|fn|src/auth.go|42|^
.refs [3]{file,line,kind}
    src/server.go|15|calls
    src/router.go|88|calls
@1 ValidateToken|fn|src/auth.go|67|^
.refs [3]{file,line,kind}
    src/auth.go|45|calls
    src/middleware.go|23|calls

After (v1.1.0):

@0 AuthMiddleware|fn|src/auth.go|42|^
.refs [3]{file,line,kind}
    src/server.go|15|calls
    src/router.go|88|calls
@1 ValidateToken|fn|src/auth.go|67|^
.refs [3]
    src/auth.go|45|calls
    src/middleware.go|23|calls

Second record's .refs omits {file,line,kind} (shared schema). Multiplied across a blast_radius response with 50 symbols, each with callers, the savings add up.

Token savings summary

| Profile | Savings vs JSON |
|---------|----------------|
| Tabular (all tools, v0.15.0) | 40-60% (was 30-51%) |
| Graph (symbol-returning tools) | 79-84% |
| Graph + session dedup | 92.7% (5th call) |

Other changes

  • Workspace ready check on all LSP query methods: 15 methods now wait for indexing before sending requests, preventing -32001 errors on cold start.
  • QualifiedName space sanitization: Symbol names with spaces (TypeScript) no longer break GCF graph decoding.

GCF

GCF (Graph Compact Format) is a token-optimized wire format for LLM tool responses.

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.16.0 `rename_symbol` now applies edits itself and returns a summary, removing caller-side application.
  • v0.11.0 `get_change_impact` renamed to `blast_radius`. Same handler, same parameters, new name.

Beta — feedback welcome: [email protected]