You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: CHANGELOG.md
+2Lines changed: 2 additions & 0 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -19,6 +19,8 @@ All notable changes to Sofos are documented in this file.
19
19
-**A pathologically large token count from the Anthropic API now saturates at the 32-bit ceiling instead of wrapping to a small number.** The 32-bit ceiling sits well above any realistic single-turn count, so this only matters as a defence against a misreported wire value, but if such a value ever arrives the reported count stays believable.
20
20
-**The `anthropic-beta` header now agrees with the request body about which models support server-side compaction.** Earlier, the header check used its own model-prefix list while the body's `context_management` field used the per-model `ModelInfo` flag. A model that one source listed and the other did not (for example `claude-opus-4-5`) used to ship the compaction beta token while the body never carried the matching field, which can 400 on stricter validation. Both sources now read from the same `ModelInfo::supports_server_compaction` flag.
21
21
-**Ctrl+Enter now inserts a newline in the TUI input box, matching Shift+Enter and Alt+Enter.** Earlier the keystroke was silently swallowed by the textarea router, even though the placeholder text and the dispatch comments already documented it as a fallback newline binding for terminals that do not deliver Shift+Enter distinctly.
22
+
-**MCP server "initialized" lines no longer get scrolled off-screen by the TUI viewport at startup.** They used to print straight to stdout while sofos was still connecting servers, before the inline viewport anchored — on tight windows the viewport then scrolled the lines out of view as it made room for itself. The lines now ride the same deferred-banner replay path as the workspace/model header, so they always land above the viewport.
23
+
-**MCP server stderr no longer floods the default log with WARN-level chatter, and the lines read as plain text instead of escaped ANSI.** Many MCP servers reserve stdout for JSON-RPC and emit their own INFO/DEBUG lines (often pre-coloured) to stderr; sofos used to relay every line through `tracing::warn!`, so a clean startup printed a wall of WARN messages with `\x1b[…]` escape sequences baked in. The relay now uses `tracing::debug!` and strips CSI runs first — real connect or list-tools failures still surface as WARN from `manager.rs`, and the raw lines are still available via `RUST_LOG=debug`.
22
24
-**Setting `compaction_preserve_recent` to `0` no longer crashes the next compaction.** The split-point lookup used to index one past the end of the message list and panic. It now clamps to the last valid index, so a zero-preserve configuration just compacts everything older than the very last message.
23
25
-**The summary call's token usage is now counted toward the session total.** When auto-compaction got a usable response from the model but the summary was too short to apply (fell back to plain trimming), sofos used to discard the response without billing it; the spend now lands on the session counters in every Ok path.
24
26
-**The auto-compaction summary call no longer fights the prompt cache.** The one-shot summary used to share the OpenAI prompt-cache shard with the regular session, so the two distinct prefixes evicted each other on every compaction. The summary call now uses a `"<session>-summary"` shard of its own.
0 commit comments