v0.8.66
Hmbown/Codewhalev0.8.66Jun 30, 2026by github-actions[bot]
AI Summary
Codewhale v0.8.66 adds `codewhale doctor` diagnostics, Sakana AI Fugu provider, and provider-level `context_window` overrides.
Key Highlights
- `codewhale doctor` diagnostics for legacy state relocation.
- Sakana AI Fugu as a first-class OpenAI-compatible provider.
- Provider-level `context_window` overrides.
- OpenModel as a first-class Anthropic Messages provider.
- Hotbar `Alt+1`–`Alt+8` quick-slot switching.
New Features
- Doctor diagnostics.
- Sakana AI Fugu provider.
- Context window overrides.
- OpenModel provider.
- Hotbar quick-slot switching.
Full Release Notes
> **CodeWhale** is the canonical project, command, npm package, and > release-asset name. The legacy npm package `deepseek-tui` is > deprecated and receives no further releases. Users coming from > v0.8.x legacy `deepseek` / `deepseek-tui` names should migrate > with `docs/REBRAND.md`. ## Install ### Recommended — npm (one command, both binaries) ```bash npm install -g codewhale ``` The wrapper downloads the matched runtime binaries from this Release and places them in the same directory. ### Docker / GHCR ```bash docker run --rm -it \ -e DEEPSEEK_API_KEY="$DEEPSEEK_API_KEY" \ -v ~/.deepseek:/home/codewhale/.deepseek \ ghcr.io/hmbown/codewhale:v0.8.66 ``` The image ships the `codewhale` dispatcher, `codew` shim, and `codewhale-tui` runtime. The `latest` tag is also updated on release. ### Cargo (Linux / macOS) ```bash cargo install codewhale-cli codewhale-tui --locked ``` Both crates are required — `codewhale-cli` produces the `codewhale` dispatcher and `codew` shim, while `codewhale-tui` produces the interactive runtime that the dispatcher delegates to. Installing only one crate will fail at runtime with a `MISSING_COMPANION_BINARY` error. ### Manual download — platform archives (recommended) Each archive below contains the `codewhale` dispatcher, `codew` shim, and `codewhale-tui` runtime, plus an install script: | Platform | Archive | Install script | |---|---|---| | Linux x64 | `codewhale-linux-x64.tar.gz` | `install.sh` | | Linux ARM64 | `codewhale-linux-arm64.tar.gz` | `install.sh` | | Linux RISC-V | `codewhale-linux-riscv64.tar.gz` | `install.sh` | | macOS x64 | `codewhale-macos-x64.tar.gz` | `install.sh` | | macOS ARM | `codewhale-macos-arm64.tar.gz` | `install.sh` | | Windows x64 (installer) | `CodeWhaleSetup.exe` | NSIS setup | | Windows x64 | `codewhale-windows-x64.zip` | `install.bat` | | Windows x64 (portable) | `codewhale-windows-x64-portable.zip` | — | **Unix (Linux / macOS):** ```bash tar xzf codewhale-<platform>.tar.gz cd codewhale-<platform> ./install.sh ``` **Windows:** - For the installer path, run `CodeWhaleSetup.exe`; it installs `codewhale.exe`, `codew.exe`, and `codewhale-tui.exe` under `%LOCALAPPDATA%\Programs\CodeWhale\bin` and adds that directory to the current-user PATH. - Extract `codewhale-windows-x64.zip` - Run `install.bat` (copies to `%USERPROFILE%\bin`) - Add `%USERPROFILE%\bin` to your PATH The **portable** Windows archive skips the install script — extract and run from any directory. The NSIS installer is currently unsigned and may trigger Windows SmartScreen until a signing certificate is wired into the release pipeline. Each platform also has **bare, unarchived** binaries attached below (`codewhale-<platform>`, `codew-<platform>`, and `codewhale-tui-<platform>`) — the npm wrapper and the in-app `codewhale update` download the matched runtime binaries, whereas the `.tar.gz` / `.zip` archives above are the recommended manual download and additionally bundle an install script. The legacy npm package `deepseek-tui` is deprecated and is not republished. For migration from v0.8.x legacy binary names, see `docs/REBRAND.md`. ### Verify (recommended) Download the checksum manifests from this Release and verify: ```bash # Linux — archive bundles sha256sum -c codewhale-bundles-sha256.txt # Linux — individual binaries sha256sum -c codewhale-artifacts-sha256.txt # macOS shasum -a 256 -c codewhale-bundles-sha256.txt shasum -a 256 -c codewhale-artifacts-sha256.txt ``` ## What's in v0.8.66 ### Added - Added `codewhale doctor` / `codewhale doctor --json` legacy-state diagnostics that compare known `~/.deepseek` state paths with their `~/.codewhale` counterparts and flag unmigrated or dual-root data (#3727). - Added Sakana AI Fugu as a first-class OpenAI-compatible provider with `sakana`/`fugu` aliases, `FUGU_API_KEY` / `SAKANA_API_KEY` discovery, provider-picker wiring, model completions, and provider docs. Harvested from #3748 by @lerugray. - Added WhaleFlow-to-Fleet launch-shape validation: the default Fleet workflow contract allows up to 100 total agents and 5 recursive rings, requires bounded loops/expands before launch, and preserves per-slot model selection. - Added a read-only `/config ask-rules` view for the resolved `permissions.toml` path, file status, rule count, and configured tool/command/path ask rules. Merged from #3569 by @greyfreedom. - Added provider-level `context_window` overrides so OpenAI-compatible gateways and self-hosted providers can budget against their real model context window (#3545). - Added the native `codew` shim to release archives, Windows installer inputs, local release-asset preparation, and checksum verification so manual installs receive the same short command that Cargo installs build. - Added OpenModel as a first-class Anthropic Messages provider, with config, CLI, provider picker, docs, and registry coverage. Harvested from #3585 by @noaft. - Added WeCom Bridge deployment and security documentation, with shipped runtime/bridge commands and approval-timeout environment guidance. Harvested from #3640 by @pkeging. - Added a token/cache/cost `scorecard` command for offline release gating, baseline regression checks, and per-turn cost visibility (#3388). Stream-JSON exec metadata now also reports conservative `input_analysis` and `visible_final_answer_chars`, so benchmark harnesses can measure transcript growth and final-answer bloat without guessing (#2956, #2957). - Added a release evidence ledger for v0.8.66 and opened the external ACP registry submission for CodeWhale after validating the published `codewhale@0.8.65` ACP auth handshake against the upstream registry checker (#3192). - Added a typed `[verifier]` config table for the verifier-preview lane, with `enabled` and the shipped `verdict_policy = "hunt"` mapping documented and validated (#2093). - Added Hotbar `Alt+1`–`Alt+8` quick-slot switching with decision-card key disambiguation, plus an introductory card that explains and can dismiss the Hotbar (#3796, #3788). - Release/docs hygiene: guarded public install/version snippets and the npm `codewhaleBinaryVersion` pointer against drift, made `check-docs`/`check-facts` fail on stale snippets or unmapped providers, and stopped `sync-changelog` from dropping a release when only `[Unreleased]` exists (#3767, #3768, #3769, #3770, #3771, #3772). ### Changed - Deferred Auto mode from the user-facing mode picker, cycle, hotbar, `/mode` command, and runtime-thread mode overrides until it has a distinct prompt and auto-review behavior; existing `auto` mode text now folds back to Agent instead of selecting a hollow mode, and approval modal copy no longer implies the current mode is YOLO (#3730, #3733). - Clarified the Fleet setup surface and docs so Fleet is treated as the durable sub-agent configuration layer while WhaleFlow is the agent-authored orchestration plan that selects and monitors Fleet slots. - Slimmed the default Constitution prompt while keeping its required structural anchors under regression coverage, reducing the static prompt footprint for cache-sensitive turns (#2953). - Made the approval prompt inline and bottom-anchored instead of a full-screen takeover, so context and controls stay visible while a tool awaits a decision (#3799). - The Hotbar is now hidden by default until explicit setup opt-in (#3807); the interactive Agent shell also defaults to approval-gated on with a shared baseline (#3756). - Mode authority now resolves approval prompts through a single authority source instead of per-surface checks (#3795). ### Fixed - Surfaced legacy state relocation with a user-visible migration notice whenever `~/.deepseek/<state>` is moved or copied into `~/.codewhale/<state>`, so upgraded users know their data was preserved and where the canonical state now lives (#3726). - Restored legacy `.deepseek/sessions` visibility for upgraded installs where an empty `~/.codewhale/sessions` directory already existed, by copying missing legacy session entries into the primary CodeWhale session store without overwriting newer data (#3724). - Calmed approval risk classification for read-only shell commands such as `codewhale --version`, `codewhale --help`, and `git status --porcelain` so the modal no longer labels proven read-only shell as destructive (#3730). - Added provider/model route columns to `/cache` turn telemetry so DeepSeek cache-hit regressions can be correlated with Auto route changes (#3738). - Fixed runtime API approval handling so workspace trust no longer auto-resolves ordinary tool approvals; trust now only participates in full-access retry decisions while YOLO/auto-approve remains the approval bypass (#3736). - Fixed modal surfaces so the shared view stack paints an opaque backdrop before any overlay, while Plan/request-input popup interiors stay opaque and the Plan confirmation footer keeps action choices visible on narrow terminals (#3732). - Added a turn-loop Plan-mode guard for file-writing tools and write-capable MCP tools so Plan's "no writes" promise is enforced before approval or execution, not only by the sandbox/catalog layer (#3734). - Preserved the durable review safety floor for publish-like shell actions in YOLO mode, so `cargo publish`, `npm publish`, and tag/release pushes force approval instead of silently auto-approving (#3735). - Fixed Ctrl+O external-editor freezes where CodeWhale's terminal input pump could keep reading keys while Vim/editor owned the terminal, especially in Windows mintty/cygwin shells. Thanks @buko for the precise repro (#3657). - Hardened the OHOS dependency drift check against transient Cargo registry EOFs by retrying the dependency graph probe before failing CI. - Updated the `/links` provider fallback to the current CodeWhale docs URL and added a Baidu Qianfan docs link. Harvested from #3621 by @noaft. - Hardened `CODEWHALE_TOOL_SURFACE=shell-only` for benchmark/exec runs: the shell-only surface hides native tools from the model-visible catalog, and unknown `CODEWHALE_TOOL_SURFACE` values now warn instead of silently falling back to the full tool surface (#2954). - Sub-agent fanout and lock hot paths: preserved event-channel headroom for progress events (#3783, thanks @cyq1017), let independent sub-agent starts join a single parallel dispatch batch instead of serializing (#3801), rendered the sub-agent sidebar/ListSubAgents from a read-only snapshot with bounded cleanup (#3803), used nonblocking best-effort sends for ListSubAgents refresh while still awaiting critical events (#3802), moved sub-agent state persistence disk I/O off the manager write lock (#3805), and used `try_lock` for shell-manager refresh in async UI paths (#3804). - Provenance: runtime continuations and `SubAgentHandoff` now inherit standing YOLO authority, while `MemoryRecall`, `ImportedTranscript`, and `AssistantGenerated` inputs remain guarded (#3817). - Approval honesty: labeled session-scoped approvals accurately instead of "always", and surfaced approval decisions in tool results (#3766). Contributor credits for this release live in the changelog entry above — thank you to everyone whose reports, PRs, reviews, and reproductions shaped it. See [CHANGELOG.md](https://github.com/Hmbown/CodeWhale/blob/main/CHANGELOG.md) for full notes and [docs/CHANGELOG_ARCHIVE.md](https://github.com/Hmbown/CodeWhale/blob/main/docs/CHANGELOG_ARCHIVE.md) for older releases.