docs(release): add v0.8.12 CHANGELOG + update README What's New

This commit is contained in:
Hunter Bown
2026-05-05 01:02:27 -05:00
parent 239e5925a1
commit 2f499858dd
3 changed files with 125 additions and 23 deletions
+95
View File
@@ -72,6 +72,101 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
on the title. *Thanks to [@Agent-Skill-007](https://github.com/Agent-Skill-007)
for this PR.*
## [0.8.12] - 2026-05-05
A feature release built on the v0.8.11 cache-maxing foundation: 20 community
PRs merged, covering reasoning-effort automation, V4 FIM edits, bash-arity
execpolicy, skill-registry sync, vim composer mode, large-tool-output routing,
pluggable sandbox backends, layered permission rulesets, and cache-aware
resident sub-agents. No breaking changes.
### Added
- **Reasoning-effort auto mode** (#669) — `reasoning_effort = "auto"` inspects
the last user message for keywords (debug/error → Max, search/lookup → Low,
default → High) and resolves the tier before each API request. Sub-agents
always get Low.
- **FIM edit tool for V4 /beta** (#668) — `fim_edit` tool sends
fill-in-the-middle requests to DeepSeek's `/beta` endpoint for surgical code
edits.
- **Bash arity dictionary** (#655) — `auto_allow = ["git status"]` now matches
`git status -s` but NOT `git push`. The arity dictionary knows command
structure for git, cargo, npm, yarn, pnpm, docker, kubectl, aws, make, and
others. Legacy flat prefix matching still works for unlisted commands.
- **Unified slash-command namespace** (#661) — user-defined commands in
`~/.deepseek/commands/` support `$1`, `$2`, `$ARGUMENTS` template
substitution. User commands override built-in commands.
- **Skill registry sync** (#654) — `/skills sync` fetches the community skill
registry and installs/updates all listed skills. Network-gated by the
existing `[network]` policy.
- **Vim modal editing in composer** (#659) — `vim.insert_mode` / `vim.normal_mode`
settings enable modal editing in the message composer with standard Vim
keybindings.
- **Separate tui.toml** (#657) — theme colors and keybind overrides can live in
`~/.deepseek/tui.toml` alongside the main `config.toml`. *Note: file format
is defined but not yet loaded at startup — wiring deferred to v0.8.13.*
- **Large-tool-output routing** (#658) — tool results exceeding a configurable
token threshold are routed through a workshop with truncated previews,
protecting the parent context window. Synthesis is currently truncation-only;
V4-Flash sub-agent synthesis deferred to follow-up.
- **Pluggable sandbox backends** (#645) — a `SandboxBackend` trait and
Alibaba OpenSandbox HTTP adapter let `exec_shell` route commands to a remote
sandbox instead of spawning locally. Config keys: `sandbox_backend`,
`sandbox_url`, `sandbox_api_key`.
- **Layered permission rulesets** (#653) — `ExecPolicyEngine` supports
builtin, agent, and user-priority layers for allow/deny prefix rules.
Deny-always-wins semantics.
- **Cache-aware resident sub-agents** (#660) — sub-agents spawned with
`resident_file` prepend the file contents to their system prefix for V4
prefix-cache locality. A global lease table prevents two agents from holding
a resident lease on the same file simultaneously. Leases are released on
agent completion.
- **Context-limit handoff** (#667) — engine-level support for replacing
routine compaction with a `.deepseek/handoff.md` file write when context
pressure triggers. *Note: config knob removed pending implementation.*
- **LSP auto-attach diagnostics** (#656) — edit results now include post-edit
diagnostics via the engine-level LSP hooks path.
### Docs
- **SECURITY.md** (#648) — vulnerability reporting policy and supported
versions.
- **CODE_OF_CONDUCT.md** (#686) — Contributor Covenant v2.1. *Thanks to
[@zichen0116](https://github.com/zichen0116) for this PR.*
- **zh-Hans locale activation docs** (#652) — README.zh-CN.md and
config.example.toml now document `locale = "zh-Hans"`.
### Fixed
- **Color::Reset across all UI widgets** (#651, #671) — replaced hardcoded
`Color::Black` and `Color::Rgb(18, 29, 39)` backgrounds with `Color::Reset`
so the TUI respects the terminal's actual background color on light-themed
and non-standard terminals.
- **Windows MessageBeep** (#646) — `notify_done_to` now calls `MessageBeep` on
Windows when BEL method is selected.
- **truncate_id optimization** (#649) — replaced manual string slicing with a
shared `truncate_id` helper across session, picker, and UI call sites.
### Maintenance
- Removed dead `prefer_handoff` field from `CompactionConfig` — config knob
existed but zero code paths consulted it (#667).
- Removed dead `use_terminal_colors` field from `TuiConfig` — no rendering
code read the value (#671).
- Fixed `expect()` panic risk in `OpenSandboxBackend::new()` — now returns
`Result` (#645).
- Fixed broken `section_bg` test assertion after Color::Reset migration (#651).
- Fixed `resolve_prefixes` docstring to accurately describe deny-always-wins
behavior (#653).
- Wired `create_backend()` into `Engine::build_tool_context` — sandbox backend
was defined but never activated (#645).
- Wired resident lease release on agent completion/cancellation/failure (#660).
### Contributors
First-time contributor to this release: **@zichen0116** (#686). Welcome — and
thank you.
Bulk community contributions by [@merchloubna70-dot](https://github.com/merchloubna70-dot)
(#645#681, 28 PRs spanning features, fixes, and VS Code extension scaffolding).
*Thank you for the remarkable volume and quality of work.*
## [0.8.10] - 2026-05-04
A patch release: hotfixes, small UX polish, and four whalescale-unblocking
Generated
+14 -14
View File
@@ -1080,7 +1080,7 @@ dependencies = [
[[package]]
name = "deepseek-agent"
version = "0.8.11"
version = "0.8.12"
dependencies = [
"deepseek-config",
"serde",
@@ -1088,7 +1088,7 @@ dependencies = [
[[package]]
name = "deepseek-app-server"
version = "0.8.11"
version = "0.8.12"
dependencies = [
"anyhow",
"axum",
@@ -1110,7 +1110,7 @@ dependencies = [
[[package]]
name = "deepseek-config"
version = "0.8.11"
version = "0.8.12"
dependencies = [
"anyhow",
"deepseek-secrets",
@@ -1122,7 +1122,7 @@ dependencies = [
[[package]]
name = "deepseek-core"
version = "0.8.11"
version = "0.8.12"
dependencies = [
"anyhow",
"chrono",
@@ -1140,7 +1140,7 @@ dependencies = [
[[package]]
name = "deepseek-execpolicy"
version = "0.8.11"
version = "0.8.12"
dependencies = [
"anyhow",
"deepseek-protocol",
@@ -1149,7 +1149,7 @@ dependencies = [
[[package]]
name = "deepseek-hooks"
version = "0.8.11"
version = "0.8.12"
dependencies = [
"anyhow",
"async-trait",
@@ -1163,7 +1163,7 @@ dependencies = [
[[package]]
name = "deepseek-mcp"
version = "0.8.11"
version = "0.8.12"
dependencies = [
"anyhow",
"serde",
@@ -1172,7 +1172,7 @@ dependencies = [
[[package]]
name = "deepseek-protocol"
version = "0.8.11"
version = "0.8.12"
dependencies = [
"serde",
"serde_json",
@@ -1180,7 +1180,7 @@ dependencies = [
[[package]]
name = "deepseek-secrets"
version = "0.8.11"
version = "0.8.12"
dependencies = [
"dirs",
"keyring",
@@ -1193,7 +1193,7 @@ dependencies = [
[[package]]
name = "deepseek-state"
version = "0.8.11"
version = "0.8.12"
dependencies = [
"anyhow",
"chrono",
@@ -1205,7 +1205,7 @@ dependencies = [
[[package]]
name = "deepseek-tools"
version = "0.8.11"
version = "0.8.12"
dependencies = [
"anyhow",
"async-trait",
@@ -1218,7 +1218,7 @@ dependencies = [
[[package]]
name = "deepseek-tui"
version = "0.8.11"
version = "0.8.12"
dependencies = [
"anyhow",
"arboard",
@@ -1277,7 +1277,7 @@ dependencies = [
[[package]]
name = "deepseek-tui-cli"
version = "0.8.11"
version = "0.8.12"
dependencies = [
"anyhow",
"chrono",
@@ -1301,7 +1301,7 @@ dependencies = [
[[package]]
name = "deepseek-tui-core"
version = "0.8.11"
version = "0.8.12"
[[package]]
name = "deranged"
+16 -9
View File
@@ -163,17 +163,24 @@ SGLANG_BASE_URL="http://localhost:30000/v1" deepseek --provider sglang --model d
---
## What's New In v0.8.11
## What's New In v0.8.12
A targeted patch for the V4 cache-maxing overhaul plus three runtime fixes discovered in YOLO long-session dogfooding. [Full changelog](CHANGELOG.md).
A feature release with 20 community PRs on top of the v0.8.11 cache-maxing foundation. [Full changelog](CHANGELOG.md).
- **Cache-maxing prompt path for DeepSeek V4** — the engine skips system-prompt reassembly when the stable prefix is unchanged, moves the working-set summary out of the system prompt into per-turn metadata, and anchors the tool array with `cache_control: ephemeral`. Net effect: fewer prefix rewrites, higher cache-hit rates, lower cost per turn.
- **500K token compaction floor** — automatic compaction refuses below 500K tokens; manual `/compact` still bypasses. The message-count trigger (a 128K-era heuristic) is removed — token budget is the sole auto-trigger.
- **`npm install` resilience** — retry with exponential backoff, per-attempt timeout + stall detector, `HTTPS_PROXY`/`HTTP_PROXY`/`NO_PROXY` support (pure Node, no new deps), and download progress to stderr. Driven by a community report from China where `npm install` took 18 minutes through a CN mirror.
- **YOLO sandbox dropped** — YOLO now uses DangerFullAccess (no sandbox), consistent with its auto-approval + trust mode posture. Previously, the WorkspaceWrite sandbox was intercepting legitimate outside-workspace writes.
- **Scroll lock preserved during live streaming** — scrolling up mid-stream no longer gets yanked back to the tail on the next chunk. The `user_scrolled_during_stream` lock now survives render-time clamping.
- **Capacity controller off by default** — the controller was silently clearing transcripts independent of token usage or `auto_compact` settings. Now defaults to disabled; opt-in via `capacity.enabled = true`.
- **README clarity pass** (#685) — title-cased headings, explicit prerequisites, China-friendly install variant. *Thanks to [@Agent-Skill-007](https://github.com/Agent-Skill-007) for this PR.*
- **Reasoning-effort auto mode**`reasoning_effort = "auto"` picks the right tier from the prompt: debug/error → Max, search/lookup → Low, default → High
- **Bash arity dictionary**`auto_allow = ["git status"]` matches `git status -s` but not `git push`. Knows git, cargo, npm, docker, kubectl, and more
- **Vim modal editing**normal/insert mode in the composer with standard Vim keybindings
- **Skill registry sync**`/skills sync` fetches and installs/updates the community registry
- **FIM edit tool** — surgical code edits via DeepSeek's `/beta` fill-in-the-middle endpoint
- **Large-tool-output routing** — outsized tool results get truncated previews with spillover, protecting parent context
- **Pluggable sandbox backends**`exec_shell` can route to Alibaba OpenSandbox or other remote backends
- **Layered permission rulesets** — builtin/agent/user priority layers for execpolicy deny/allow rules
- **Cache-aware resident sub-agents** — file content prepended for V4 prefix-cache locality; global lease table
- **Unified slash-command namespace** — user commands with `$1`/`$2`/`$ARGUMENTS` templates
- **Color::Reset migration** — all hardcoded backgrounds replaced with `Color::Reset` for light-terminal support
- **New docs**: SECURITY.md (#648), CODE_OF_CONDUCT.md (#686), zh-Hans locale activation (#652)
*28 community PRs by [@merchloubna70-dot](https://github.com/merchloubna70-dot). First-time contributor [@zichen0116](https://github.com/zichen0116) (#686).*
---