
OpenCode v1.14.21 released. TL;DR:
• LSP pull diagnostics for C#/Kotlin
• Refactored session compaction for token efficiency
• Mistral Small reasoning support
• BOM preservation in text tools
LSP & Language Servers
• Added comprehensive support for LSP pull diagnostics (`textDocument/diagnostic` and `workspace/diagnostic`).
▸ Solves missing diagnostics for languages that rely on client pulls (like C# and Kotlin) by seamlessly merging push and pull diagnostics natively.
• Replaced `csharp-ls` with `roslyn-language-server` as the default C# provider, delivering vastly improved, Roslyn-powered language intelligence.
Session Compaction
• Re-engineered context compaction to use a strict, structured Markdown template that preserves file paths, errors, and task states accurately.
• Compaction now seamlessly anchors off previous summaries, intelligently hiding prior compaction turns from the prompt to maximize token budgets.
• Turn splitting is now calculated at the message boundary, preventing token overflow when a single large turn exceeds the preservation budget.
• Truncates tool output at 2000 characters during summarization passes to prevent context window explosion.
Models & Tools
• Added reasoning variant support (`reasoningEffort`) for Mistral Small (`mistral-small-latest`, `mistral-small-2603`).
• Text tools (`edit`, `write`, `apply_patch`) now strictly preserve Byte Order Marks (BOM) during file read/write round-trips.
• The TUI now fails fast with clear errors when attaching to a corrupted or invalid session, preventing hangs.
• Fixed project caching for bare Git repositories by correctly resolving the Git common directory.
Compare: github.com/anomalyco/open…
English