chore(release): prepare v0.8.42
This commit is contained in:
+42
-1
@@ -7,6 +7,46 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
|
||||
|
||||
## [Unreleased]
|
||||
|
||||
## [0.8.42] - 2026-05-24
|
||||
|
||||
### Fixed
|
||||
|
||||
- **Stream decode failures no longer leave the turn visually stuck.** The UI
|
||||
now marks an active turn failed and flushes live cells as soon as the engine
|
||||
emits a stream error, so the sidebar/footer recover without requiring
|
||||
Ctrl+C (#1960).
|
||||
- **RLM contexts now expose `_ctx`.** Persistent RLM REPLs bind `_ctx` as a
|
||||
compatibility alias for the loaded source alongside `_context` and
|
||||
`content`, and the prompt/docs call out the exact names (#1962).
|
||||
- **`handle_read` is easier to recover from.** The tool keeps accepting full
|
||||
`var_handle` objects directly, adds `introspect: true` for size/projection
|
||||
hints, and validation failures now include copy-pasteable examples (#1963).
|
||||
- **The help picker keeps the selected row visible while scrolling.** `/help`
|
||||
now budgets against the real modal body height, wraps Up/Down navigation,
|
||||
and uses a stronger selected-row highlight (#1964).
|
||||
- **Unicode `git_status` paths stay readable.** Chinese and other non-ASCII
|
||||
repository paths now survive status parsing and display cleanly (#1936,
|
||||
#1953).
|
||||
- **Project-local and configured skills appear in the slash menu.** Workspace
|
||||
skills and configured skill directories now feed the command picker instead
|
||||
of only the bundled set (#1955, #1956).
|
||||
- **Repeated Tab mode switching no longer stacks composer-obscuring toasts.**
|
||||
The mode-switch notification now deduplicates instead of accumulating rows
|
||||
over the composer (#1926, #1957).
|
||||
- **Local tool UX surfaces are clearer.** `github_close_pr` now has the same
|
||||
guarded closure workflow as issue close, `handle_read` redirects artifact
|
||||
refs to `retrieve_tool_result`, Plan handoffs use plainer wording, and shell
|
||||
rows/sidebar tasks show the actual running command instead of placeholder
|
||||
labels.
|
||||
|
||||
### Thanks
|
||||
|
||||
Thanks to **cyq ([@cyq1017](https://github.com/cyq1017))** for the Unicode
|
||||
`git_status`, local/configured skill discovery, and mode-switch toast fixes in
|
||||
#1953, #1956, and #1957. Thanks to **Reid
|
||||
([@reidliu41](https://github.com/reidliu41))** for the help picker scrolling
|
||||
and selection fix in #1964.
|
||||
|
||||
## [0.8.41] - 2026-05-23
|
||||
|
||||
### Changed
|
||||
@@ -4595,7 +4635,8 @@ Welcome — and thank you.
|
||||
- Hooks system and config profiles
|
||||
- Example skills and launch assets
|
||||
|
||||
[Unreleased]: https://github.com/Hmbown/CodeWhale/compare/v0.8.41...HEAD
|
||||
[Unreleased]: https://github.com/Hmbown/CodeWhale/compare/v0.8.42...HEAD
|
||||
[0.8.42]: https://github.com/Hmbown/CodeWhale/compare/v0.8.41...v0.8.42
|
||||
[0.8.41]: https://github.com/Hmbown/CodeWhale/compare/v0.8.40...v0.8.41
|
||||
[0.8.40]: https://github.com/Hmbown/CodeWhale/compare/v0.8.39...v0.8.40
|
||||
[0.8.39]: https://github.com/Hmbown/CodeWhale/compare/v0.8.38...v0.8.39
|
||||
|
||||
Generated
+14
-14
@@ -803,7 +803,7 @@ checksum = "e9b18233253483ce2f65329a24072ec414db782531bdbb7d0bbc4bd2ce6b7e21"
|
||||
|
||||
[[package]]
|
||||
name = "codewhale-agent"
|
||||
version = "0.8.41"
|
||||
version = "0.8.42"
|
||||
dependencies = [
|
||||
"codewhale-config",
|
||||
"serde",
|
||||
@@ -811,7 +811,7 @@ dependencies = [
|
||||
|
||||
[[package]]
|
||||
name = "codewhale-app-server"
|
||||
version = "0.8.41"
|
||||
version = "0.8.42"
|
||||
dependencies = [
|
||||
"anyhow",
|
||||
"axum",
|
||||
@@ -833,7 +833,7 @@ dependencies = [
|
||||
|
||||
[[package]]
|
||||
name = "codewhale-cli"
|
||||
version = "0.8.41"
|
||||
version = "0.8.42"
|
||||
dependencies = [
|
||||
"anyhow",
|
||||
"chrono",
|
||||
@@ -858,7 +858,7 @@ dependencies = [
|
||||
|
||||
[[package]]
|
||||
name = "codewhale-config"
|
||||
version = "0.8.41"
|
||||
version = "0.8.42"
|
||||
dependencies = [
|
||||
"anyhow",
|
||||
"codewhale-secrets",
|
||||
@@ -870,7 +870,7 @@ dependencies = [
|
||||
|
||||
[[package]]
|
||||
name = "codewhale-core"
|
||||
version = "0.8.41"
|
||||
version = "0.8.42"
|
||||
dependencies = [
|
||||
"anyhow",
|
||||
"chrono",
|
||||
@@ -888,7 +888,7 @@ dependencies = [
|
||||
|
||||
[[package]]
|
||||
name = "codewhale-execpolicy"
|
||||
version = "0.8.41"
|
||||
version = "0.8.42"
|
||||
dependencies = [
|
||||
"anyhow",
|
||||
"codewhale-protocol",
|
||||
@@ -897,7 +897,7 @@ dependencies = [
|
||||
|
||||
[[package]]
|
||||
name = "codewhale-hooks"
|
||||
version = "0.8.41"
|
||||
version = "0.8.42"
|
||||
dependencies = [
|
||||
"anyhow",
|
||||
"async-trait",
|
||||
@@ -911,7 +911,7 @@ dependencies = [
|
||||
|
||||
[[package]]
|
||||
name = "codewhale-mcp"
|
||||
version = "0.8.41"
|
||||
version = "0.8.42"
|
||||
dependencies = [
|
||||
"anyhow",
|
||||
"serde",
|
||||
@@ -920,7 +920,7 @@ dependencies = [
|
||||
|
||||
[[package]]
|
||||
name = "codewhale-protocol"
|
||||
version = "0.8.41"
|
||||
version = "0.8.42"
|
||||
dependencies = [
|
||||
"serde",
|
||||
"serde_json",
|
||||
@@ -928,7 +928,7 @@ dependencies = [
|
||||
|
||||
[[package]]
|
||||
name = "codewhale-secrets"
|
||||
version = "0.8.41"
|
||||
version = "0.8.42"
|
||||
dependencies = [
|
||||
"dirs",
|
||||
"keyring",
|
||||
@@ -941,7 +941,7 @@ dependencies = [
|
||||
|
||||
[[package]]
|
||||
name = "codewhale-state"
|
||||
version = "0.8.41"
|
||||
version = "0.8.42"
|
||||
dependencies = [
|
||||
"anyhow",
|
||||
"chrono",
|
||||
@@ -953,7 +953,7 @@ dependencies = [
|
||||
|
||||
[[package]]
|
||||
name = "codewhale-tools"
|
||||
version = "0.8.41"
|
||||
version = "0.8.42"
|
||||
dependencies = [
|
||||
"anyhow",
|
||||
"async-trait",
|
||||
@@ -966,7 +966,7 @@ dependencies = [
|
||||
|
||||
[[package]]
|
||||
name = "codewhale-tui"
|
||||
version = "0.8.41"
|
||||
version = "0.8.42"
|
||||
dependencies = [
|
||||
"anyhow",
|
||||
"arboard",
|
||||
@@ -1031,7 +1031,7 @@ dependencies = [
|
||||
|
||||
[[package]]
|
||||
name = "codewhale-tui-core"
|
||||
version = "0.8.41"
|
||||
version = "0.8.42"
|
||||
|
||||
[[package]]
|
||||
name = "colorchoice"
|
||||
|
||||
+1
-1
@@ -19,7 +19,7 @@ default-members = ["crates/cli", "crates/app-server", "crates/tui"]
|
||||
resolver = "2"
|
||||
|
||||
[workspace.package]
|
||||
version = "0.8.41"
|
||||
version = "0.8.42"
|
||||
edition = "2024"
|
||||
# Rust 1.88 stabilized `let_chains` in `if`/`while` conditions, which the
|
||||
# codebase relies on extensively. Cargo enforces this so users on older
|
||||
|
||||
@@ -550,7 +550,8 @@ This project ships with help from a growing community of contributors:
|
||||
- **[zichen0116](https://github.com/zichen0116)** — CODE_OF_CONDUCT.md (#686)
|
||||
- **[dfwqdyl-ui](https://github.com/dfwqdyl-ui)** — model ID case-sensitivity compatibility report (#729)
|
||||
- **[Oliver-ZPLiu](https://github.com/Oliver-ZPLiu)** — stale `working...` state bug report, Windows clipboard fallback, MCP Streamable HTTP session fixes, and Homebrew tap automation (#738, #850, #1643, #1631)
|
||||
- **[reidliu41](https://github.com/reidliu41)** — resume hint, workspace trust persistence, Ollama provider support, thinking-block stream finalization, CI cache hardening, streaming wrap, and DeepSeek model completions (#863, #870, #921, #1078, #1603, #1628, #1601)
|
||||
- **[reidliu41](https://github.com/reidliu41)** — resume hint, workspace trust persistence, Ollama provider support, thinking-block stream finalization, CI cache hardening, streaming wrap, DeepSeek model completions, and help picker selection polish (#863, #870, #921, #1078, #1603, #1628, #1601, #1964)
|
||||
- **[cyq1017](https://github.com/cyq1017)** — Unicode `git_status` paths, local/configured skill discovery, and mode-switch toast dedupe (#1953, #1956, #1957)
|
||||
- **[xieshutao](https://github.com/xieshutao)** — plain Markdown skill fallback (#869)
|
||||
- **[GK012](https://github.com/GK012)** — npm wrapper `--version` fallback (#885)
|
||||
- **[y0sif](https://github.com/y0sif)** — parent turn-loop wakeup after direct child sub-agent completion (#901)
|
||||
|
||||
+2
-1
@@ -526,7 +526,8 @@ description: 当 DeepSeek 需要遵循我的自定义工作流时使用这个技
|
||||
- **[zichen0116](https://github.com/zichen0116)** — CODE_OF_CONDUCT.md (#686)
|
||||
- **[dfwqdyl-ui](https://github.com/dfwqdyl-ui)** — 模型 ID 大小写兼容性报告 (#729)
|
||||
- **[Oliver-ZPLiu](https://github.com/Oliver-ZPLiu)** — `working...` 卡死状态 Bug 报告和 Windows 剪贴板兜底修复 (#738, #850)
|
||||
- **[reidliu41](https://github.com/reidliu41)** — 退出后的恢复提示、工作区信任持久化、Ollama provider 支持,以及思考块流式终结修复 (#863, #870, #921, #1078)
|
||||
- **[reidliu41](https://github.com/reidliu41)** — 退出后的恢复提示、工作区信任持久化、Ollama provider 支持、思考块流式终结修复,以及帮助选择器选中行可见性优化 (#863, #870, #921, #1078, #1964)
|
||||
- **[cyq1017](https://github.com/cyq1017)** — Unicode `git_status` 路径、本地/配置技能发现,以及模式切换 toast 去重 (#1953, #1956, #1957)
|
||||
- **[xieshutao](https://github.com/xieshutao)** — 纯 Markdown skill 兜底解析 (#869)
|
||||
- **[GK012](https://github.com/GK012)** — npm wrapper 的 `--version` 兜底 (#885)
|
||||
- **[y0sif](https://github.com/y0sif)** — 直接子智能体完成后唤醒父级 turn loop (#901)
|
||||
|
||||
@@ -7,5 +7,5 @@ repository.workspace = true
|
||||
description = "Model/provider registry and fallback strategy for DeepSeek workspace architecture"
|
||||
|
||||
[dependencies]
|
||||
codewhale-config = { path = "../config", version = "0.8.41" }
|
||||
codewhale-config = { path = "../config", version = "0.8.42" }
|
||||
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
|
||||
codewhale-agent = { path = "../agent", version = "0.8.41" }
|
||||
codewhale-config = { path = "../config", version = "0.8.41" }
|
||||
codewhale-core = { path = "../core", version = "0.8.41" }
|
||||
codewhale-execpolicy = { path = "../execpolicy", version = "0.8.41" }
|
||||
codewhale-hooks = { path = "../hooks", version = "0.8.41" }
|
||||
codewhale-mcp = { path = "../mcp", version = "0.8.41" }
|
||||
codewhale-protocol = { path = "../protocol", version = "0.8.41" }
|
||||
codewhale-state = { path = "../state", version = "0.8.41" }
|
||||
codewhale-tools = { path = "../tools", version = "0.8.41" }
|
||||
codewhale-agent = { path = "../agent", version = "0.8.42" }
|
||||
codewhale-config = { path = "../config", version = "0.8.42" }
|
||||
codewhale-core = { path = "../core", version = "0.8.42" }
|
||||
codewhale-execpolicy = { path = "../execpolicy", version = "0.8.42" }
|
||||
codewhale-hooks = { path = "../hooks", version = "0.8.42" }
|
||||
codewhale-mcp = { path = "../mcp", version = "0.8.42" }
|
||||
codewhale-protocol = { path = "../protocol", version = "0.8.42" }
|
||||
codewhale-state = { path = "../state", version = "0.8.42" }
|
||||
codewhale-tools = { path = "../tools", version = "0.8.42" }
|
||||
serde.workspace = true
|
||||
serde_json.workspace = true
|
||||
tokio.workspace = true
|
||||
|
||||
@@ -20,13 +20,13 @@ path = "src/bin/deepseek_legacy_shim.rs"
|
||||
anyhow.workspace = true
|
||||
clap.workspace = true
|
||||
clap_complete.workspace = true
|
||||
codewhale-agent = { path = "../agent", version = "0.8.41" }
|
||||
codewhale-app-server = { path = "../app-server", version = "0.8.41" }
|
||||
codewhale-config = { path = "../config", version = "0.8.41" }
|
||||
codewhale-execpolicy = { path = "../execpolicy", version = "0.8.41" }
|
||||
codewhale-mcp = { path = "../mcp", version = "0.8.41" }
|
||||
codewhale-secrets = { path = "../secrets", version = "0.8.41" }
|
||||
codewhale-state = { path = "../state", version = "0.8.41" }
|
||||
codewhale-agent = { path = "../agent", version = "0.8.42" }
|
||||
codewhale-app-server = { path = "../app-server", version = "0.8.42" }
|
||||
codewhale-config = { path = "../config", version = "0.8.42" }
|
||||
codewhale-execpolicy = { path = "../execpolicy", version = "0.8.42" }
|
||||
codewhale-mcp = { path = "../mcp", version = "0.8.42" }
|
||||
codewhale-secrets = { path = "../secrets", version = "0.8.42" }
|
||||
codewhale-state = { path = "../state", version = "0.8.42" }
|
||||
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
|
||||
codewhale-secrets = { path = "../secrets", version = "0.8.41" }
|
||||
codewhale-secrets = { path = "../secrets", version = "0.8.42" }
|
||||
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
|
||||
codewhale-agent = { path = "../agent", version = "0.8.41" }
|
||||
codewhale-config = { path = "../config", version = "0.8.41" }
|
||||
codewhale-execpolicy = { path = "../execpolicy", version = "0.8.41" }
|
||||
codewhale-hooks = { path = "../hooks", version = "0.8.41" }
|
||||
codewhale-mcp = { path = "../mcp", version = "0.8.41" }
|
||||
codewhale-protocol = { path = "../protocol", version = "0.8.41" }
|
||||
codewhale-state = { path = "../state", version = "0.8.41" }
|
||||
codewhale-tools = { path = "../tools", version = "0.8.41" }
|
||||
codewhale-agent = { path = "../agent", version = "0.8.42" }
|
||||
codewhale-config = { path = "../config", version = "0.8.42" }
|
||||
codewhale-execpolicy = { path = "../execpolicy", version = "0.8.42" }
|
||||
codewhale-hooks = { path = "../hooks", version = "0.8.42" }
|
||||
codewhale-mcp = { path = "../mcp", version = "0.8.42" }
|
||||
codewhale-protocol = { path = "../protocol", version = "0.8.42" }
|
||||
codewhale-state = { path = "../state", version = "0.8.42" }
|
||||
codewhale-tools = { path = "../tools", version = "0.8.42" }
|
||||
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
|
||||
codewhale-protocol = { path = "../protocol", version = "0.8.41" }
|
||||
codewhale-protocol = { path = "../protocol", version = "0.8.42" }
|
||||
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
|
||||
codewhale-protocol = { path = "../protocol", version = "0.8.41" }
|
||||
codewhale-protocol = { path = "../protocol", version = "0.8.42" }
|
||||
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
|
||||
codewhale-protocol = { path = "../protocol", version = "0.8.41" }
|
||||
codewhale-protocol = { path = "../protocol", version = "0.8.42" }
|
||||
serde.workspace = true
|
||||
serde_json.workspace = true
|
||||
tokio.workspace = true
|
||||
|
||||
+42
-1
@@ -7,6 +7,46 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
|
||||
|
||||
## [Unreleased]
|
||||
|
||||
## [0.8.42] - 2026-05-24
|
||||
|
||||
### Fixed
|
||||
|
||||
- **Stream decode failures no longer leave the turn visually stuck.** The UI
|
||||
now marks an active turn failed and flushes live cells as soon as the engine
|
||||
emits a stream error, so the sidebar/footer recover without requiring
|
||||
Ctrl+C (#1960).
|
||||
- **RLM contexts now expose `_ctx`.** Persistent RLM REPLs bind `_ctx` as a
|
||||
compatibility alias for the loaded source alongside `_context` and
|
||||
`content`, and the prompt/docs call out the exact names (#1962).
|
||||
- **`handle_read` is easier to recover from.** The tool keeps accepting full
|
||||
`var_handle` objects directly, adds `introspect: true` for size/projection
|
||||
hints, and validation failures now include copy-pasteable examples (#1963).
|
||||
- **The help picker keeps the selected row visible while scrolling.** `/help`
|
||||
now budgets against the real modal body height, wraps Up/Down navigation,
|
||||
and uses a stronger selected-row highlight (#1964).
|
||||
- **Unicode `git_status` paths stay readable.** Chinese and other non-ASCII
|
||||
repository paths now survive status parsing and display cleanly (#1936,
|
||||
#1953).
|
||||
- **Project-local and configured skills appear in the slash menu.** Workspace
|
||||
skills and configured skill directories now feed the command picker instead
|
||||
of only the bundled set (#1955, #1956).
|
||||
- **Repeated Tab mode switching no longer stacks composer-obscuring toasts.**
|
||||
The mode-switch notification now deduplicates instead of accumulating rows
|
||||
over the composer (#1926, #1957).
|
||||
- **Local tool UX surfaces are clearer.** `github_close_pr` now has the same
|
||||
guarded closure workflow as issue close, `handle_read` redirects artifact
|
||||
refs to `retrieve_tool_result`, Plan handoffs use plainer wording, and shell
|
||||
rows/sidebar tasks show the actual running command instead of placeholder
|
||||
labels.
|
||||
|
||||
### Thanks
|
||||
|
||||
Thanks to **cyq ([@cyq1017](https://github.com/cyq1017))** for the Unicode
|
||||
`git_status`, local/configured skill discovery, and mode-switch toast fixes in
|
||||
#1953, #1956, and #1957. Thanks to **Reid
|
||||
([@reidliu41](https://github.com/reidliu41))** for the help picker scrolling
|
||||
and selection fix in #1964.
|
||||
|
||||
## [0.8.41] - 2026-05-23
|
||||
|
||||
### Changed
|
||||
@@ -4595,7 +4635,8 @@ Welcome — and thank you.
|
||||
- Hooks system and config profiles
|
||||
- Example skills and launch assets
|
||||
|
||||
[Unreleased]: https://github.com/Hmbown/CodeWhale/compare/v0.8.41...HEAD
|
||||
[Unreleased]: https://github.com/Hmbown/CodeWhale/compare/v0.8.42...HEAD
|
||||
[0.8.42]: https://github.com/Hmbown/CodeWhale/compare/v0.8.41...v0.8.42
|
||||
[0.8.41]: https://github.com/Hmbown/CodeWhale/compare/v0.8.40...v0.8.41
|
||||
[0.8.40]: https://github.com/Hmbown/CodeWhale/compare/v0.8.39...v0.8.40
|
||||
[0.8.39]: https://github.com/Hmbown/CodeWhale/compare/v0.8.38...v0.8.39
|
||||
|
||||
@@ -27,8 +27,8 @@ path = "src/bin/deepseek_tui_legacy_shim.rs"
|
||||
[dependencies]
|
||||
anyhow = "1.0.100"
|
||||
arboard = "3.4"
|
||||
codewhale-secrets = { path = "../secrets", version = "0.8.41" }
|
||||
codewhale-tools = { path = "../tools", version = "0.8.41" }
|
||||
codewhale-secrets = { path = "../secrets", version = "0.8.42" }
|
||||
codewhale-tools = { path = "../tools", version = "0.8.42" }
|
||||
schemaui = { version = "0.12.0", default-features = false, optional = true }
|
||||
async-stream = "0.3.6"
|
||||
async-trait = "0.1"
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
{
|
||||
"name": "codewhale",
|
||||
"version": "0.8.41",
|
||||
"codewhaleBinaryVersion": "0.8.41",
|
||||
"version": "0.8.42",
|
||||
"codewhaleBinaryVersion": "0.8.42",
|
||||
"description": "Install and run the codewhale CLI dispatcher and codewhale-tui terminal UI from GitHub release artifacts.",
|
||||
"author": "Hmbown",
|
||||
"license": "MIT",
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
{
|
||||
"name": "deepseek-tui",
|
||||
"version": "0.8.41",
|
||||
"version": "0.8.42",
|
||||
"description": "Deprecated. Renamed to `codewhale`. Run `npm install -g codewhale` instead.",
|
||||
"author": "Hmbown",
|
||||
"license": "MIT",
|
||||
|
||||
Reference in New Issue
Block a user