@@ -7,6 +7,132 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
77
88## [ Unreleased]
99
10+ ## [ 0.8.35] - 2026-05-13
11+
12+ A post-0.8.34 cleanup release focused on prompt hygiene, context-pressure
13+ guidance, and keeping the next release branch clearly separated from the
14+ already-published v0.8.34 tag.
15+
16+ > ** Note on v0.8.34 contributor credits:** Horace Liu ([ @liuhq ] ( https://github.com/liuhq ) )
17+ > contributed Nix package support and install documentation in the v0.8.34
18+ > cycle but was inadvertently omitted from that release's changelog. The
19+ > README contributor list and this note correct the record.
20+
21+ ### Changed
22+
23+ - ** First-turn prompt context is leaner and easier to audit.** The
24+ generated project context pack now ignores hidden tool/cache state,
25+ balances top-level directories before descending, and ` /context `
26+ shows named prompt layers instead of a single opaque system blob.
27+ - ** Model-visible prompt policy de-conflicted.** The base and mode
28+ prompts no longer forbid useful ` deepseek ` CLI diagnostics, no
29+ longer require checklists for simple one-step work, and align
30+ long-session compaction guidance around the 60% suggestion threshold.
31+ - ** Context-pressure guidance now has one split rule.** Manual
32+ ` /compact ` suggestions start around 60% during sustained work, while
33+ automatic replacement compaction remains an opt-in hard guardrail near
34+ 80% so DeepSeek V4 prefix-cache economics stay intact.
35+ - ** The Tasks sidebar now ages out stale live-tool noise.** Completed
36+ active tool rows linger briefly and then leave the right rail; very old
37+ running shell rows collapse to a single row instead of occupying the
38+ whole Tasks panel.
39+
40+ ### Fixed
41+
42+ - ** ` auto_compact ` settings help now reports the real default** , which
43+ has been off since v0.8.11 to avoid unnecessary cache-prefix rewrites.
44+
45+ ## [ 0.8.34] - 2026-05-13
46+
47+ A polish, terminal-protocol, and internal-cleanup release. The model-facing
48+ surface is stable; this cycle focused on prefix-cache stability metrics,
49+ broader terminal protocol coverage, bundled skills, and shrinking the
50+ mega-files that had grown around the agent loop and TUI.
51+
52+ ### Added
53+
54+ - ** Prefix-cache stability tracking.** A footer chip surfaces how stable
55+ the cached prefix has been across recent turns (inspired by Reasonix),
56+ so users can spot cache-busting edits before cost climbs.
57+ - ** Bundled DeepSeek-native workflow skills.** A starter set of skills
58+ ships in-binary so a fresh install has a usable ` /skills ` catalog
59+ without external assets.
60+ - ** Native Kitty + Ghostty notification protocols.** ` OSC 99 ` (Kitty)
61+ and ` OSC 777 ` (Ghostty) are now first-class alongside the existing
62+ desktop notification fallback.
63+ - ** Theme picker with more presets.** Catppuccin, Tokyo Night, Dracula,
64+ and Gruvbox join the built-in palette set; ` /theme ` now shows a
65+ live picker.
66+ - ** Chunked parallel-safe tool execution.** The engine batches
67+ side-effect-free tool calls into a chunked dispatch so independent
68+ reads/searches finish in one turn instead of serialising round-trip
69+ by round-trip.
70+ - ** Cancel-all shell jobs.** A single action stops every running
71+ background shell command instead of cancelling them one-by-one.
72+ - ** ` edit_file ` tolerates typographic punctuation drift.** When the
73+ exact-match and leading-whitespace-fuzzy passes both fail and
74+ ` fuzz: true ` is set, the tool retries with smart quotes (` " ` /` " ` →
75+ ` " ` , ` ' ` /` ' ` → ` ' ` ), en/em-dashes (` – ` /` — ` → ` - ` ), and non-breaking
76+ spaces (U+00A0 → space) normalized to ASCII. Catches the copy-paste
77+ failure mode where a browser or chat client substituted Unicode
78+ punctuation for the ASCII the file actually contains.
79+
80+ ### Changed
81+
82+ - ** ` crates/tui/src/tui/ui.rs ` split into focused modules.** The
83+ former 10k-line single-file TUI dispatcher is decomposed into smaller
84+ modules with clearer responsibilities so reviewing a UI change does
85+ not require holding the entire surface in head.
86+ - ** ` crates/tui/src/core/engine.rs ` reduced.** Helper clusters moved
87+ into the existing ` core/engine/ ` submodule directory next to the
88+ turn loop and tool execution code, making the agent-loop core
89+ easier to read end-to-end.
90+ - ** Structured tracing on tool dispatch.** Tool entry, exit, duration,
91+ and result/error are emitted through ` tracing ` events so
92+ ` RUST_LOG=engine.tool_execution=debug ` produces a coherent timeline
93+ instead of scattered ad-hoc prints.
94+ - ** ` /init ` updates ` AGENTS.md ` in place** instead of refusing when
95+ the file already exists, so adding new project guidance does not
96+ require manual stitching.
97+ - ** Reasoning tokens included in cost calculations** , and the cost
98+ display auto-switches to CNY when the session locale is ` zh-Hans ` .
99+ - ** Stale repo-root development docs removed.** ` TAKEOVER_PROMPT.md `
100+ (v0.8.6 era), ` PROMPT_ANALYSIS.md ` , and the redundant
101+ ` DEPENDENCY_GRAPH.md ` no longer ship in releases; ` docs/ARCHITECTURE.md `
102+ remains the canonical crate-layout reference.
103+
104+ ### Fixed
105+
106+ - ** Auth keys checked against the saved provider on startup** , so a
107+ stored DeepSeek key is no longer rejected after switching providers
108+ mid-session.
109+ - ** Auto router skipped for decisive local routes** , removing an
110+ extra model round-trip on prompts the dispatcher can route directly.
111+ - ** Reasoning content stripped for generic providers** that do not
112+ understand the ` reasoning_content ` field, preventing HTTP 400s when
113+ pointing at an OpenAI-compatible gateway that lacks DeepSeek
114+ thinking semantics.
115+ - ** ` FocusGained ` debounced** so terminals (Tabby) that emit rapid
116+ focus events no longer trigger a repaint flicker loop.
117+ - ** MCP HTTP transport defaults `Accept: application/json,
118+ text/event-stream` ** and persists ` Mcp-Session-Id` across requests,
119+ matching the spec for resumable streams.
120+ - ** Shell output tail preserved when truncating** , so the last lines
121+ of a long command output (usually the error trailer) survive the
122+ in-transcript summary.
123+ - ** Prefix cache preserved while pruning tool results.** Old
124+ side-effect tool payloads no longer invalidate the prefix that
125+ the next turn would otherwise reuse.
126+ - ** Review sub-agents prevented from spawning further sub-agents**
127+ (#1489 ), keeping recursive depth bounded.
128+ - ** Help overlay closes cleanly** and repaints without a stale frame.
129+ - ** Pinyin ` /skills ` alias dispatched correctly** so Chinese-locale
130+ users reach the same surface.
131+ - ** VTE flicker terminals get reduced motion** by default to avoid
132+ thrashing on terminals that mishandle frequent partial redraws.
133+ - ** Composer border no longer shows the derived session title** , keeping
134+ the composer chrome reserved for editor and mode state.
135+
10136## [ 0.8.33] - 2026-05-12
11137
12138A sub-agent and RLM renovation release. The model-facing delegation
@@ -3979,7 +4105,9 @@ Welcome — and thank you.
39794105- Hooks system and config profiles
39804106- Example skills and launch assets
39814107
3982- [ Unreleased ] : https://github.com/Hmbown/DeepSeek-TUI/compare/v0.8.33...HEAD
4108+ [ Unreleased ] : https://github.com/Hmbown/DeepSeek-TUI/compare/v0.8.35...HEAD
4109+ [ 0.8.35 ] : https://github.com/Hmbown/DeepSeek-TUI/compare/v0.8.34...v0.8.35
4110+ [ 0.8.34 ] : https://github.com/Hmbown/DeepSeek-TUI/compare/v0.8.33...v0.8.34
39834111[ 0.8.33 ] : https://github.com/Hmbown/DeepSeek-TUI/compare/v0.8.32...v0.8.33
39844112[ 0.8.32 ] : https://github.com/Hmbown/DeepSeek-TUI/compare/v0.8.31...v0.8.32
39854113[ 0.8.31 ] : https://github.com/Hmbown/DeepSeek-TUI/compare/v0.8.30...v0.8.31
0 commit comments