chore(release): bump version to 0.8.11
Final step in the v0.8.11 patch release. Bumps the workspace `Cargo.toml`, all 9 internal path-dep version pins, and `npm/deepseek-tui/package.json` to **0.8.11**. `Cargo.lock` regenerated alongside. The v0.8.11 CHANGELOG entry already landed on `main` via the cache-maxing overhaul PR (#684). This commit only stamps the version. Together they ship: * **Cache-maxing for V4 1M context** — engine no longer rebuilds the system prompt on every turn (#684's `Session::last_system_prompt_hash`), the volatile working-set summary moved out of the system prompt into per-turn `<turn_meta>` on the latest user message, the tool array is anchored with `cache_control: ephemeral`, and the `messages_with_turn_metadata` injection skips tool-result messages so the assistant→tool_result invariant stays intact. * **500K compaction floor** — automatic compaction refuses below 500K tokens via `MINIMUM_AUTO_COMPACTION_TOKENS`. Manual `/compact` bypasses (explicit user agency). * **Token-only compaction trigger** — dropped `CompactionConfig::message_threshold` and the message-count branch in `should_compact`; that 128K-era heuristic only fired on long sessions of small messages, exactly the case where rewriting the V4 prefix cache is most wasteful. * **Legacy 128K naming** — `DEFAULT_CONTEXT_WINDOW_TOKENS` → `LEGACY_DEEPSEEK_CONTEXT_WINDOW_TOKENS`. * **`npm install` resilience** — `install.js` now retries with exponential backoff, enforces per-attempt timeout + 30 s stall detector, honors `HTTPS_PROXY` / `HTTP_PROXY` / `NO_PROXY` (pure Node, no new dependencies), and prints download progress to stderr. Driven by a community report that `npm install` took 18 minutes through a CN npm mirror; the GitHub Releases binary fetch was the bottleneck and CN mirrors don't proxy GitHub. Verified locally: * cargo fmt --all -- --check ✓ * cargo clippy --workspace --all-targets --all-features --locked -- -D warnings ✓ * cargo test --workspace --all-features --locked ✓ * parity gates (snapshot, parity_protocol, parity_state) ✓ * bash scripts/release/check-versions.sh ✓ (workspace=0.8.11, npm=0.8.11, lockfile in sync) * node scripts/release/npm-wrapper-smoke.js ✓ Reminder for the maintainer at release time: the npm publish is manual and requires 2FA OTP on every publish. After this PR merges and the GitHub Release is fully drafted by `auto-tag.yml`, publish from a developer machine: cd npm/deepseek-tui npm publish --access public The `prepublishOnly` hook checks all eight binaries plus the SHA256 manifest are present on the GitHub Release before letting `npm publish` proceed, so this must happen *after* the GitHub Release is finalized. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
This commit is contained in:
@@ -41,6 +41,14 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
|
||||
whose install through a CN npm mirror took 18 minutes — the bottleneck
|
||||
was the GitHub fetch, which CN npm mirrors do not proxy.
|
||||
|
||||
### Docs
|
||||
- **README clarity pass** (#685) — title-cased section headings, an explicit
|
||||
Node + npm prerequisites block before the `npm install -g` snippet, a
|
||||
China-friendly `--registry=https://registry.npmmirror.com` install
|
||||
variant, a DeepWiki badge for AI-assisted repo browsing, and a 🐳 mark
|
||||
on the title. *Thanks to [@Agent-Skill-007](https://github.com/Agent-Skill-007)
|
||||
for this PR.*
|
||||
|
||||
## [0.8.10] - 2026-05-04
|
||||
|
||||
A patch release: hotfixes, small UX polish, and four whalescale-unblocking
|
||||
|
||||
Generated
+14
-14
@@ -1080,7 +1080,7 @@ dependencies = [
|
||||
|
||||
[[package]]
|
||||
name = "deepseek-agent"
|
||||
version = "0.8.10"
|
||||
version = "0.8.11"
|
||||
dependencies = [
|
||||
"deepseek-config",
|
||||
"serde",
|
||||
@@ -1088,7 +1088,7 @@ dependencies = [
|
||||
|
||||
[[package]]
|
||||
name = "deepseek-app-server"
|
||||
version = "0.8.10"
|
||||
version = "0.8.11"
|
||||
dependencies = [
|
||||
"anyhow",
|
||||
"axum",
|
||||
@@ -1110,7 +1110,7 @@ dependencies = [
|
||||
|
||||
[[package]]
|
||||
name = "deepseek-config"
|
||||
version = "0.8.10"
|
||||
version = "0.8.11"
|
||||
dependencies = [
|
||||
"anyhow",
|
||||
"deepseek-secrets",
|
||||
@@ -1122,7 +1122,7 @@ dependencies = [
|
||||
|
||||
[[package]]
|
||||
name = "deepseek-core"
|
||||
version = "0.8.10"
|
||||
version = "0.8.11"
|
||||
dependencies = [
|
||||
"anyhow",
|
||||
"chrono",
|
||||
@@ -1140,7 +1140,7 @@ dependencies = [
|
||||
|
||||
[[package]]
|
||||
name = "deepseek-execpolicy"
|
||||
version = "0.8.10"
|
||||
version = "0.8.11"
|
||||
dependencies = [
|
||||
"anyhow",
|
||||
"deepseek-protocol",
|
||||
@@ -1149,7 +1149,7 @@ dependencies = [
|
||||
|
||||
[[package]]
|
||||
name = "deepseek-hooks"
|
||||
version = "0.8.10"
|
||||
version = "0.8.11"
|
||||
dependencies = [
|
||||
"anyhow",
|
||||
"async-trait",
|
||||
@@ -1163,7 +1163,7 @@ dependencies = [
|
||||
|
||||
[[package]]
|
||||
name = "deepseek-mcp"
|
||||
version = "0.8.10"
|
||||
version = "0.8.11"
|
||||
dependencies = [
|
||||
"anyhow",
|
||||
"serde",
|
||||
@@ -1172,7 +1172,7 @@ dependencies = [
|
||||
|
||||
[[package]]
|
||||
name = "deepseek-protocol"
|
||||
version = "0.8.10"
|
||||
version = "0.8.11"
|
||||
dependencies = [
|
||||
"serde",
|
||||
"serde_json",
|
||||
@@ -1180,7 +1180,7 @@ dependencies = [
|
||||
|
||||
[[package]]
|
||||
name = "deepseek-secrets"
|
||||
version = "0.8.10"
|
||||
version = "0.8.11"
|
||||
dependencies = [
|
||||
"dirs",
|
||||
"keyring",
|
||||
@@ -1193,7 +1193,7 @@ dependencies = [
|
||||
|
||||
[[package]]
|
||||
name = "deepseek-state"
|
||||
version = "0.8.10"
|
||||
version = "0.8.11"
|
||||
dependencies = [
|
||||
"anyhow",
|
||||
"chrono",
|
||||
@@ -1205,7 +1205,7 @@ dependencies = [
|
||||
|
||||
[[package]]
|
||||
name = "deepseek-tools"
|
||||
version = "0.8.10"
|
||||
version = "0.8.11"
|
||||
dependencies = [
|
||||
"anyhow",
|
||||
"async-trait",
|
||||
@@ -1218,7 +1218,7 @@ dependencies = [
|
||||
|
||||
[[package]]
|
||||
name = "deepseek-tui"
|
||||
version = "0.8.10"
|
||||
version = "0.8.11"
|
||||
dependencies = [
|
||||
"anyhow",
|
||||
"arboard",
|
||||
@@ -1277,7 +1277,7 @@ dependencies = [
|
||||
|
||||
[[package]]
|
||||
name = "deepseek-tui-cli"
|
||||
version = "0.8.10"
|
||||
version = "0.8.11"
|
||||
dependencies = [
|
||||
"anyhow",
|
||||
"chrono",
|
||||
@@ -1301,7 +1301,7 @@ dependencies = [
|
||||
|
||||
[[package]]
|
||||
name = "deepseek-tui-core"
|
||||
version = "0.8.10"
|
||||
version = "0.8.11"
|
||||
|
||||
[[package]]
|
||||
name = "deranged"
|
||||
|
||||
+1
-1
@@ -19,7 +19,7 @@ default-members = ["crates/cli", "crates/app-server", "crates/tui"]
|
||||
resolver = "2"
|
||||
|
||||
[workspace.package]
|
||||
version = "0.8.10"
|
||||
version = "0.8.11"
|
||||
edition = "2024"
|
||||
license = "MIT"
|
||||
repository = "https://github.com/Hmbown/DeepSeek-TUI"
|
||||
|
||||
@@ -7,5 +7,5 @@ repository.workspace = true
|
||||
description = "Model/provider registry and fallback strategy for DeepSeek workspace architecture"
|
||||
|
||||
[dependencies]
|
||||
deepseek-config = { path = "../config", version = "0.8.10" }
|
||||
deepseek-config = { path = "../config", version = "0.8.11" }
|
||||
serde.workspace = true
|
||||
|
||||
@@ -10,15 +10,15 @@ description = "Codex-style app-server transport for DeepSeek workspace architect
|
||||
anyhow.workspace = true
|
||||
axum.workspace = true
|
||||
clap.workspace = true
|
||||
deepseek-agent = { path = "../agent", version = "0.8.10" }
|
||||
deepseek-config = { path = "../config", version = "0.8.10" }
|
||||
deepseek-core = { path = "../core", version = "0.8.10" }
|
||||
deepseek-execpolicy = { path = "../execpolicy", version = "0.8.10" }
|
||||
deepseek-hooks = { path = "../hooks", version = "0.8.10" }
|
||||
deepseek-mcp = { path = "../mcp", version = "0.8.10" }
|
||||
deepseek-protocol = { path = "../protocol", version = "0.8.10" }
|
||||
deepseek-state = { path = "../state", version = "0.8.10" }
|
||||
deepseek-tools = { path = "../tools", version = "0.8.10" }
|
||||
deepseek-agent = { path = "../agent", version = "0.8.11" }
|
||||
deepseek-config = { path = "../config", version = "0.8.11" }
|
||||
deepseek-core = { path = "../core", version = "0.8.11" }
|
||||
deepseek-execpolicy = { path = "../execpolicy", version = "0.8.11" }
|
||||
deepseek-hooks = { path = "../hooks", version = "0.8.11" }
|
||||
deepseek-mcp = { path = "../mcp", version = "0.8.11" }
|
||||
deepseek-protocol = { path = "../protocol", version = "0.8.11" }
|
||||
deepseek-state = { path = "../state", version = "0.8.11" }
|
||||
deepseek-tools = { path = "../tools", version = "0.8.11" }
|
||||
serde.workspace = true
|
||||
serde_json.workspace = true
|
||||
tokio.workspace = true
|
||||
|
||||
@@ -14,13 +14,13 @@ path = "src/main.rs"
|
||||
anyhow.workspace = true
|
||||
clap.workspace = true
|
||||
clap_complete.workspace = true
|
||||
deepseek-agent = { path = "../agent", version = "0.8.10" }
|
||||
deepseek-app-server = { path = "../app-server", version = "0.8.10" }
|
||||
deepseek-config = { path = "../config", version = "0.8.10" }
|
||||
deepseek-execpolicy = { path = "../execpolicy", version = "0.8.10" }
|
||||
deepseek-mcp = { path = "../mcp", version = "0.8.10" }
|
||||
deepseek-secrets = { path = "../secrets", version = "0.8.10" }
|
||||
deepseek-state = { path = "../state", version = "0.8.10" }
|
||||
deepseek-agent = { path = "../agent", version = "0.8.11" }
|
||||
deepseek-app-server = { path = "../app-server", version = "0.8.11" }
|
||||
deepseek-config = { path = "../config", version = "0.8.11" }
|
||||
deepseek-execpolicy = { path = "../execpolicy", version = "0.8.11" }
|
||||
deepseek-mcp = { path = "../mcp", version = "0.8.11" }
|
||||
deepseek-secrets = { path = "../secrets", version = "0.8.11" }
|
||||
deepseek-state = { path = "../state", version = "0.8.11" }
|
||||
chrono.workspace = true
|
||||
dirs.workspace = true
|
||||
serde.workspace = true
|
||||
|
||||
@@ -8,7 +8,7 @@ description = "Config schema and precedence model for DeepSeek workspace archite
|
||||
|
||||
[dependencies]
|
||||
anyhow.workspace = true
|
||||
deepseek-secrets = { path = "../secrets", version = "0.8.10" }
|
||||
deepseek-secrets = { path = "../secrets", version = "0.8.11" }
|
||||
dirs.workspace = true
|
||||
serde.workspace = true
|
||||
toml.workspace = true
|
||||
|
||||
@@ -9,13 +9,13 @@ description = "Core runtime boundaries for DeepSeek workspace architecture"
|
||||
[dependencies]
|
||||
anyhow.workspace = true
|
||||
chrono.workspace = true
|
||||
deepseek-agent = { path = "../agent", version = "0.8.10" }
|
||||
deepseek-config = { path = "../config", version = "0.8.10" }
|
||||
deepseek-execpolicy = { path = "../execpolicy", version = "0.8.10" }
|
||||
deepseek-hooks = { path = "../hooks", version = "0.8.10" }
|
||||
deepseek-mcp = { path = "../mcp", version = "0.8.10" }
|
||||
deepseek-protocol = { path = "../protocol", version = "0.8.10" }
|
||||
deepseek-state = { path = "../state", version = "0.8.10" }
|
||||
deepseek-tools = { path = "../tools", version = "0.8.10" }
|
||||
deepseek-agent = { path = "../agent", version = "0.8.11" }
|
||||
deepseek-config = { path = "../config", version = "0.8.11" }
|
||||
deepseek-execpolicy = { path = "../execpolicy", version = "0.8.11" }
|
||||
deepseek-hooks = { path = "../hooks", version = "0.8.11" }
|
||||
deepseek-mcp = { path = "../mcp", version = "0.8.11" }
|
||||
deepseek-protocol = { path = "../protocol", version = "0.8.11" }
|
||||
deepseek-state = { path = "../state", version = "0.8.11" }
|
||||
deepseek-tools = { path = "../tools", version = "0.8.11" }
|
||||
serde_json.workspace = true
|
||||
uuid.workspace = true
|
||||
|
||||
@@ -8,5 +8,5 @@ description = "Execution policy and approval model parity for DeepSeek workspace
|
||||
|
||||
[dependencies]
|
||||
anyhow.workspace = true
|
||||
deepseek-protocol = { path = "../protocol", version = "0.8.10" }
|
||||
deepseek-protocol = { path = "../protocol", version = "0.8.11" }
|
||||
serde.workspace = true
|
||||
|
||||
@@ -10,7 +10,7 @@ description = "Hook dispatch and notifications parity for DeepSeek workspace arc
|
||||
anyhow.workspace = true
|
||||
async-trait.workspace = true
|
||||
chrono.workspace = true
|
||||
deepseek-protocol = { path = "../protocol", version = "0.8.10" }
|
||||
deepseek-protocol = { path = "../protocol", version = "0.8.11" }
|
||||
reqwest.workspace = true
|
||||
serde.workspace = true
|
||||
serde_json.workspace = true
|
||||
|
||||
@@ -9,7 +9,7 @@ description = "Tool invocation lifecycle, schema validation, and scheduler paral
|
||||
[dependencies]
|
||||
anyhow.workspace = true
|
||||
async-trait.workspace = true
|
||||
deepseek-protocol = { path = "../protocol", version = "0.8.10" }
|
||||
deepseek-protocol = { path = "../protocol", version = "0.8.11" }
|
||||
serde.workspace = true
|
||||
serde_json.workspace = true
|
||||
tokio.workspace = true
|
||||
|
||||
@@ -21,8 +21,8 @@ path = "src/main.rs"
|
||||
[dependencies]
|
||||
anyhow = "1.0.100"
|
||||
arboard = "3.4"
|
||||
deepseek-secrets = { path = "../secrets", version = "0.8.10" }
|
||||
deepseek-tools = { path = "../tools", version = "0.8.10" }
|
||||
deepseek-secrets = { path = "../secrets", version = "0.8.11" }
|
||||
deepseek-tools = { path = "../tools", version = "0.8.11" }
|
||||
schemaui = { version = "0.12.0", default-features = false, optional = true }
|
||||
async-stream = "0.3.6"
|
||||
async-trait = "0.1"
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
{
|
||||
"name": "deepseek-tui",
|
||||
"version": "0.8.10",
|
||||
"deepseekBinaryVersion": "0.8.10",
|
||||
"version": "0.8.11",
|
||||
"deepseekBinaryVersion": "0.8.11",
|
||||
"description": "Install and run deepseek and deepseek-tui binaries from GitHub release artifacts.",
|
||||
"author": "Hmbown",
|
||||
"license": "MIT",
|
||||
|
||||
Reference in New Issue
Block a user