From 5f1bf58cfc181187237fb78264d3a709b0542c7b Mon Sep 17 00:00:00 2001 From: Hunter Bown Date: Wed, 13 May 2026 02:07:43 -0500 Subject: [PATCH] chore(changelog): mirror [0.8.34] entry into crates/tui/CHANGELOG.md MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit The workspace ships two CHANGELOG files — the repo-root one and the crate-local `crates/tui/CHANGELOG.md`. The `prompts::tests:: changelog_entry_exists_for_current_package_version` gate scans the nearest CHANGELOG to the manifest, so the crate-local copy needs the same `## []` section before tagging. Copy the [0.8.34] section over from the root CHANGELOG, including the edit_file fuzzy-punctuation bullet added later in the session. No new content; the two files now agree. --- crates/tui/CHANGELOG.md | 92 +++++++++++++++++++++++++++++++++++++++++ 1 file changed, 92 insertions(+) diff --git a/crates/tui/CHANGELOG.md b/crates/tui/CHANGELOG.md index 1faf2f4d..1f53b693 100644 --- a/crates/tui/CHANGELOG.md +++ b/crates/tui/CHANGELOG.md @@ -7,6 +7,98 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 ## [Unreleased] +## [0.8.34] - 2026-05-13 + +A polish, terminal-protocol, and internal-cleanup release. The model-facing +surface is stable; this cycle focused on prefix-cache stability metrics, +broader terminal protocol coverage, bundled skills, and shrinking the +mega-files that had grown around the agent loop and TUI. + +### Added + +- **Prefix-cache stability tracking.** A footer chip surfaces how stable + the cached prefix has been across recent turns (inspired by Reasonix), + so users can spot cache-busting edits before cost climbs. +- **Bundled DeepSeek-native workflow skills.** A starter set of skills + ships in-binary so a fresh install has a usable `/skills` catalog + without external assets. +- **Native Kitty + Ghostty notification protocols.** `OSC 99` (Kitty) + and `OSC 777` (Ghostty) are now first-class alongside the existing + desktop notification fallback. +- **Theme picker with more presets.** Catppuccin, Tokyo Night, Dracula, + and Gruvbox join the built-in palette set; `/theme` now shows a + live picker. +- **Chunked parallel-safe tool execution.** The engine batches + side-effect-free tool calls into a chunked dispatch so independent + reads/searches finish in one turn instead of serialising round-trip + by round-trip. +- **Cancel-all shell jobs.** A single action stops every running + background shell command instead of cancelling them one-by-one. +- **Session title in composer border.** The top-right of the composer + shows the derived session title so the active thread is visible + without opening the sessions panel. +- **`edit_file` tolerates typographic punctuation drift.** When the + exact-match and leading-whitespace-fuzzy passes both fail and + `fuzz: true` is set, the tool retries with smart quotes (`"`/`"` → + `"`, `'`/`'` → `'`), en/em-dashes (`–`/`—` → `-`), and non-breaking + spaces (U+00A0 → space) normalized to ASCII. Catches the copy-paste + failure mode where a browser or chat client substituted Unicode + punctuation for the ASCII the file actually contains. + +### Changed + +- **`crates/tui/src/tui/ui.rs` split into focused modules.** The + former 10k-line single-file TUI dispatcher is decomposed into smaller + modules with clearer responsibilities so reviewing a UI change does + not require holding the entire surface in head. +- **`crates/tui/src/core/engine.rs` reduced.** Helper clusters moved + into the existing `core/engine/` submodule directory next to the + turn loop and tool execution code, making the agent-loop core + easier to read end-to-end. +- **Structured tracing on tool dispatch.** Tool entry, exit, duration, + and result/error are emitted through `tracing` spans so + `RUST_LOG=deepseek_cli::tools=debug` produces a coherent timeline + instead of scattered ad-hoc prints. +- **`/init` updates `AGENTS.md` in place** instead of refusing when + the file already exists, so adding new project guidance does not + require manual stitching. +- **Reasoning tokens included in cost calculations**, and the cost + display auto-switches to CNY when the session locale is `zh-Hans`. +- **Stale repo-root development docs removed.** `TAKEOVER_PROMPT.md` + (v0.8.6 era), `PROMPT_ANALYSIS.md`, and the redundant + `DEPENDENCY_GRAPH.md` no longer ship in releases; `docs/ARCHITECTURE.md` + remains the canonical crate-layout reference. + +### Fixed + +- **Auth keys checked against the saved provider on startup**, so a + stored DeepSeek key is no longer rejected after switching providers + mid-session. +- **Auto router skipped for decisive local routes**, removing an + extra model round-trip on prompts the dispatcher can route directly. +- **Reasoning content stripped for generic providers** that do not + understand the `reasoning_content` field, preventing HTTP 400s when + pointing at an OpenAI-compatible gateway that lacks DeepSeek + thinking semantics. +- **`FocusGained` debounced** so terminals (Tabby) that emit rapid + focus events no longer trigger a repaint flicker loop. +- **MCP HTTP transport defaults `Accept: application/json, + text/event-stream`** and persists `Mcp-Session-Id` across requests, + matching the spec for resumable streams. +- **Shell output tail preserved when truncating**, so the last lines + of a long command output (usually the error trailer) survive the + in-transcript summary. +- **Prefix cache preserved while pruning tool results.** Old + side-effect tool payloads no longer invalidate the prefix that + the next turn would otherwise reuse. +- **Review sub-agents prevented from spawning further sub-agents** + (#1489), keeping recursive depth bounded. +- **Help overlay closes cleanly** and repaints without a stale frame. +- **Pinyin `/skills` alias dispatched correctly** so Chinese-locale + users reach the same surface. +- **VTE flicker terminals get reduced motion** by default to avoid + thrashing on terminals that mishandle frequent partial redraws. + ## [0.8.33] - 2026-05-12 A sub-agent and RLM renovation release. The model-facing delegation