Skip to content

v0.3.11

Choose a tag to compare

@Abdul-Omira Abdul-Omira released this 21 Sep 08:53
· 51 commits to main since this release
4658827f351ffeb1ee8f004cd71b69ee68a341388b78f28e0e0fead1ebb95887

Koder v0.3.11

A large harness release: more accurate usage and cost, a bigger and smarter /review, first-class Office/PDF attachments, a built-in local model engine, and a long list of reliability fixes across the turn loop, the TUI, and imports.

Highlights

  • Accurate usage & cost. The authoritative context budget now shows on both CLI and desktop, multi-step turns count their full token usage (not just the last step), and cost is consistently marked as an estimate everywhere. (#804, #803, #802, #809)
  • Bigger /review. Added dedicated security, performance, and concurrency review specialists on top of the existing reviewers. (#806)
  • Office & PDF attachments. Read and attach Excel, Word, and PowerPoint on CLI and desktop; PDFs on a text-only model are pointed at pdftotext instead of dead-ending. (#781, #782, #814, #816)
  • Built-in local engine. Run on-disk GGUF models with no separate daemon. (#783)
  • Live OpenRouter catalog. The full OpenRouter model list is now surfaced. (#811)
  • New tools. multiedit (batched atomic single-file edits), repo_map (fast structural codebase map), and LSP navigation on by default. (#791, #794, #792)
  • Queued messages & steering. Surface and control mid-turn queued messages, with a steer-now option. (#787)

Added

  • Authoritative context budget on CLI and desktop (#804)
  • /review security, performance, and concurrency specialists (#806)
  • Built-in local engine over on-disk GGUF models, no daemon (#783)
  • Full live OpenRouter catalog (#811)
  • Read & attach Excel / Word / PowerPoint on CLI and desktop (#781); attach plain-text/source files on paste (#782)
  • multiedit tool — batched atomic edits to a single file (#791)
  • repo_map tool — fast structural codebase map for orientation (#794)
  • LSP navigation tool enabled by default, opt-out (#792)
  • Mid-turn queued-message controls and steer-now (#787)
  • PDF guidance: point the agent at pdftotext when a model can't read PDFs natively (#816)
  • Background-shell completion notification (#815)
  • Audit trail: bracket a session with session.start/session.end (#774) and record tool.start/tool.end per call behind config.audit.record_activity (#775)
  • Opt-in insecure TLS for self-hosted providers reached by bare IP / internal CA (#814)
  • Autonomy: dropped the forced objective and the default round wall (#797)

Fixed

  • Turn loop: recover from context overflow with a bounded retry (#796); fail a stalled model stream instead of hanging forever (#808); escalate SIGTERM→SIGKILL so killed children can't linger (#800); keep the internal invalid repair tool for restrictive agents (#801); close four race/robustness findings from the audit (#795)
  • Usage/stats: count a multi-step turn's full tokens (#803); mark cost as an estimate consistently (#802); distinguish "usage not reported" from a free/empty turn (#809)
  • Attachments/documents: Office-doc extraction fidelity — PPTX speaker notes, real XLSX sheet names, DOCX whitespace (#814); place r-less XLSX cells positionally and reject non-OOXML archives (#784); degrade unprocessable pasted images instead of failing the turn (#780)
  • Contracts: make the frozen prompt-snapshot and conformance suites OS-independent (#813), backed by a read/control conformance suite (#812)
  • TUI: eliminate multi-session memory leaks (#778); resolve session root by full chain and separate states by hue (#786); keep Unicode filename spaces and cap pasted image/PDF size, parse desktop file:// drops (#785); actionable errors for /loop and /workflow when disabled (#790); make silently-inert commands act or guide (#789)
  • Permissions: match tool enable/disable to ask domains and gate package_exec (#798)
  • MCP: bound MCP tool calls by default (5 min) so a hung server can't stall a turn (#793)
  • Sessions: make session removal robust and diagnosable instead of all-or-nothing (#807)
  • Imports/skills: stop dropping content silently — warn on skipped skills and imported attachments (#810)
  • Observability: log the failures the turn-end and MCP paths previously swallowed (#799)
  • Performance: cap injected instruction sources at 100KB (#788)

Docs

  • Explain limit.context for local models (#805)

Full commit history: v0.3.10...v0.3.11