Skip to content

v0.6.1

Choose a tag to compare

@plombeer31 plombeer31 released this 13 Sep 21:53
· 522 commits to main since this release

11 PRs (#411–#421) on top of v0.6.0 — a reliability release for hosted reasoning models and long-running personal agents.

Hosted models no longer fail turns because of memory sub-calls

  • "Turn failed" on models whose endpoint refuses structured output is fixed. The query rewriter shared the turn's fallback state, so one refused rewrite moved the next step onto the local link — with no local model running, the turn died with fetch failed. It now runs on its own partition (#411), and a sub-call whose endpoint refuses response_format is retried once without it (#417).
  • Memory timeouts sized for hosted reasoning models. Reflection and link generation default to 60 s (was 10 s / 8 s); the query rewriter to 10 s and it runs once per turn instead of before every step (#415, #416). Existing configs that still carry the old defaults migrate automatically (config v65); values you set yourself are kept.
  • A timed-out memory sub-call now cancels its request instead of leaving it running and billing (#412).
  • OpenAI strict mode and Qwen no longer reject memory sub-calls (#414).
  • You are told when memory keeps failing: one notice per session names the setting to change (#419).

Clearer failures and routing

  • When every provider in the fallback chain fails, the error names the primary's real refusal, not just the last link's fetch failed (#418).
  • providerPreferences on an OpenRouter provider is now actually sent as OpenRouter's routing (order, allow_fallbacks, …) (#413).

Channels and memory

  • Telegram reconnects by itself after a non-fatal polling stop, on the same backoff as Discord; an invalid token or another process polling the same bot still stops it, now with the reason logged (#420, refs #409).
  • Pinned profile facts are never silently dropped from the prompt. Pinned facts render first, the section is packed whole lines at a time, a clip raises a visible warning, and a new memory.profile.maxEntries (default 500) caps unpinned facts without ever evicting pinned ones (#421, fixes #407).