v0.8.57
Hmbown/Codewhalev0.8.57Jun 10, 2026by github-actions[bot]
AI Summary
This release improves system resilience by ensuring turns survive sleep, reduces binary size via changelog optimization, and fixes Docker builds.
Key Highlights
- Turns now survive system sleep with silent re-issuance.
- Changelog size reduction (moved to archive).
- Docker images build again with symlinked binaries.
- One-command release prep script.
New Features
- Turns survive system sleep.
- Changelog size reduction (moved to archive).
- Docker images build again.
- One-command release prep script.
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 both 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.57 ``` The image ships the `codewhale` dispatcher 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 `codewhale-tui` produces the interactive runtime that the dispatcher delegates to. Installing only one binary will fail at runtime with a `MISSING_COMPANION_BINARY` error. ### Manual download — platform archives (recommended) Each archive below contains **both** the `codewhale` dispatcher 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 both binaries 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. Individual binaries are also attached below for scripting and the npm wrapper. 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.57 ### Added - **Turns now survive system sleep.** When the host suspends mid-stream, the connection used to die on wake with `Stream read error: error decoding response body` and the turn was lost (#2990). The engine now stamps stream progress with both monotonic and wall-clock time; a large divergence on a stream error identifies a sleep/wake cycle, and the request is silently re-issued (up to the existing 3-retry budget) instead of failing the turn. - **One-command release prep.** `./scripts/release/prepare-release.sh X.Y.Z` bumps the workspace version, every internal crate dependency pin, the npm wrapper, and the README install-tag examples, refreshes `Cargo.lock`, regenerates the embedded TUI changelog slice and web facts, and runs `check-versions.sh` — the v0.8.56 release needed nine follow-up commits for exactly these sync points. - `.github/CODEOWNERS` and `.github/dependabot.yml` (weekly cargo + github-actions updates, monthly npm for `web/`). ### Changed - **The changelog went on a diet.** Root `CHANGELOG.md` now carries recent releases (v0.8.40+); older entries moved to `docs/CHANGELOG_ARCHIVE.md`. `crates/tui/CHANGELOG.md` — embedded into every binary for `/change` — is a generated 15-release slice (`scripts/sync-changelog.sh`), no longer a 357 KB manual byte-for-byte copy (~300 KB smaller binaries). - GitHub Release bodies are generated from the tagged version's changelog section (`scripts/release/generate-release-body.sh`) instead of a hardcoded workflow blob with a hand-pasted contributor list. - `check-versions.sh` now also gates `web/lib/facts.generated.ts` and the README install-tag examples; the CNB mirror pipeline validates the pushed tag against `Cargo.toml` before generating release notes. - Docs reorganized: internal design notes moved under `docs/rfcs/`; stale internal docs (old audits, handoffs, region-specific VM notes) removed. - Agent-facing polish: the system prompt environment block reports `codewhale_version` (was `deepseek_version`), the legacy `.deepseek/instructions.md` path is no longer advertised in the prompt (still honored for back-compat), and oversized instruction files are truncated with an explicit `[…truncated: N bytes omitted]` marker instead of a bare ellipsis. ### Fixed - **Docker images build again.** The release `docker` job failed for v0.8.56 because the Dockerfile still copied the pre-rebrand `deepseek` / `deepseek-tui` binaries; they are now symlinks to the codewhale binaries inside the image, so legacy container entrypoints keep working. - `.devcontainer/devcontainer.json` used the pre-rebrand container name, mount path, and `deepseek` remote user. - Stale `--bin deepseek` examples, `DeepSeek-TUI` strings in `/change` output, and pre-rebrand doc comments. ### Removed - Unused dependencies: `tracing-appender` and `zeroize` (TUI crate), `rustls` (release crate); the orphaned `vendor/schemaui-0.12.0` lockfile leftover and a machine-specific one-off `scripts/verify_task.sh`. 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.