chore(release): prepare v0.8.45 flash release#2049
Conversation
There was a problem hiding this comment.
Code Review
This pull request bumps the project version to 0.8.45 and introduces several new features, including a /balance command scaffold and deterministic sub-agent nicknames. It also includes bug fixes for TUI message rendering, YAML parsing, and file traversal interruption. Significant documentation updates provide migration guidance for the rebranding to CodeWhale. Feedback was provided regarding a breaking change in the Docker volume mount path in the README, which may cause existing users to lose access to their configuration files.
| docker run --rm -it \ | ||
| -e DEEPSEEK_API_KEY="$DEEPSEEK_API_KEY" \ | ||
| -v codewhale-home:/home/codewhale/.deepseek \ | ||
| -v codewhale-home:/home/codewhale \ |
There was a problem hiding this comment.
The change from -v codewhale-home:/home/codewhale/.deepseek to -v codewhale-home:/home/codewhale is a breaking change for existing Docker users who followed the previous version of this README.
If a user's codewhale-home volume currently contains the contents of their .deepseek directory (e.g., config.toml at the volume root), mounting that same volume to /home/codewhale will place those files directly in the home directory. The application, however, expects legacy configuration at ~/.deepseek/config.toml. This will result in the application failing to find existing credentials and prompting for a new API key.
Consider adding a migration note for Docker users or suggesting they move their files into a .deepseek or .codewhale subdirectory within the volume to maintain persistence.
There was a problem hiding this comment.
Pull request overview
Prepares the v0.8.45 flash release by aligning version surfaces across the Rust workspace, npm wrappers, and changelogs, and by expanding rebrand/migration guidance for users transitioning from deepseek-tui to codewhale.
Changes:
- Bump workspace/crate versions, lockfile entries, and npm wrapper versions to
0.8.45. - Add/update migration and safety guidance in README + rebrand/CNB docs (Cargo reinstall,
.deepseekcleanup, automation guardrails). - Add
0.8.45release notes and update compare links in changelogs.
Reviewed changes
Copilot reviewed 17 out of 18 changed files in this pull request and generated 3 comments.
Show a summary per file
| File | Description |
|---|---|
| README.md | Adds FAQ/migration guidance; updates config/state paths and Docker instructions. |
| npm/deepseek-tui/package.json | Bumps legacy shim npm package version to 0.8.45. |
| npm/codewhale/package.json | Bumps npm wrapper + binary version to 0.8.45. |
| docs/REBRAND.md | Updates rebrand instructions (explicit dual Cargo installs, cleanup guidance). |
| docs/CNB_MIRROR.md | Documents CNB trigger/NPC safety and recommended automation shape. |
| crates/tui/CHANGELOG.md | Adds 0.8.45 entry and updates compare links. |
| crates/tui/Cargo.toml | Updates internal crate dependency versions to 0.8.45. |
| crates/tools/Cargo.toml | Updates codewhale-protocol dependency version to 0.8.45. |
| crates/hooks/Cargo.toml | Updates codewhale-protocol dependency version to 0.8.45. |
| crates/execpolicy/Cargo.toml | Updates codewhale-protocol dependency version to 0.8.45. |
| crates/core/Cargo.toml | Updates internal crate dependency versions to 0.8.45. |
| crates/config/Cargo.toml | Updates codewhale-secrets dependency version to 0.8.45. |
| crates/cli/Cargo.toml | Updates internal crate dependency versions to 0.8.45. |
| crates/app-server/Cargo.toml | Updates internal crate dependency versions to 0.8.45. |
| crates/agent/Cargo.toml | Updates codewhale-config dependency version to 0.8.45. |
| CHANGELOG.md | Adds 0.8.45 entry and updates compare links. |
| Cargo.toml | Bumps workspace package version to 0.8.45. |
| Cargo.lock | Updates workspace crate entries to 0.8.45. |
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
| docker run --rm -it \ | ||
| -e DEEPSEEK_API_KEY="$DEEPSEEK_API_KEY" \ | ||
| -v codewhale-home:/home/codewhale/.deepseek \ | ||
| -v codewhale-home:/home/codewhale \ |
| docker run --rm -it \ | ||
| -e DEEPSEEK_API_KEY="$DEEPSEEK_API_KEY" \ | ||
| -v codewhale-home:/home/codewhale/.deepseek \ | ||
| -v codewhale-home:/home/codewhale \ |
| ## Publishing Your Own Skill | ||
|
|
||
| codewhale discovers skills from workspace directories (`.agents/skills` → `skills` → `.opencode/skills` → `.claude/skills` → `.cursor/skills`) and global directories (`~/.agents/skills` → `~/.claude/skills` → `~/.deepseek/skills`). Each skill is a directory with a `SKILL.md` file: | ||
| codewhale discovers skills from workspace directories (`.agents/skills` → `skills` → `.opencode/skills` → `.claude/skills` → `.cursor/skills` → `.codewhale/skills` → `.deepseek/skills`) and global directories (`~/.agents/skills` → `~/.claude/skills` → `~/.codewhale/skills` → `~/.deepseek/skills`). Each skill is a directory with a `SKILL.md` file: |
v0.8.45 flash-release completion summaryWhat changed (752438c)
Contributor-credit decisions
Checks
VerificationLocal installed versionsStatusThe branch is ready for local testing and PR review. No tag, release, or merge was performed. |
- Update @reidliu41 entry to add user-message transcript highlight (#1995) - Update @zlh124 entry to add SKILL.md YAML block-scalar parser (#1908) - Update @h3c-hexin entry to add file_search cancellation report (#2044) - Add @lpeng1711694086-lang for user-message TUI contrast feature request (#1672)
Add override in both integrations/feishu-bridge and web package.json to resolve GHSA-q8mj-m7cp-5q26 (moderate DoS vulnerability in qs < 6.15.2). Regenerated both package-lock.json files. Dependabot alerts #16 (web) and #17 (feishu-bridge) are the two vulnerabilities flagged during push.
752438c to
1d8148c
Compare
Covers getting started, three modes, model auto-routing, slash commands, sessions, sub-agents, RLM, tips, keyboard shortcuts, and cost tracking. Addresses #2014.
When the user opens the model picker, scrolls/navigates to change the selection, then presses Esc, the last-highlighted choice is now applied instead of discarded. If the user opens the picker and immediately presses Esc without moving, the current model is preserved unchanged. - Added dirty flag to ModelPickerView to track user interaction - Esc emits ModelPickerApplied when dirty, otherwise closes cleanly - Updated bottom hint from Esc cancel to Esc close/appl - move_up, move_down, and toggle_focus all set dirty=true
- Rewrite GUIDE.md with comprehensive sections: getting started, TUI layout, modes, model routing/Fin, 40+ slash commands, sessions (save/resume/fork/ compact/export), sub-agent roles, workflow tips, cost control, FAQ. - Add GUIDE.md as first entry in README docs table. Refs: #2014
Phase 1 of the goal system port from codex-main design doc. Added: - Goal tools (create_goal, get_goal, update_goal) implementing ToolSpec - Continuation audit prompt (prompts/continuation.md) — the LLM-as-judge contract that asks the model to verify completion against requirements - SharedGoalState = Arc<Mutex<GoalState>> for tool/slash-command sharing - with_goal_tools() builder method on ToolRegistryBuilder Refactored: - App.goal from plain GoalState to Arc<Mutex<GoalState>> - Updated all call sites: commands/goal.rs, commands/mod.rs, sidebar.rs, ui.rs to use .lock().unwrap() Next: wire goal_state through EngineConfig and call with_goal_tools() at the build_turn_tool_registry_builder call site.
v0.8.45 flash release — final summary (1d1e766)What shipped on this branchInfrastructure
PRs included (merged to main, rebased in)
New in this branch
Contributor credits added to README Thanks
Milestone state
VerificationLocal installedRemaining for full v0.8.45The 13 open issues are UX polish, theme work, features, and docs — sub-agents (ux-polish, theme-work, features-work, docs-meta) are running on separate branches (work/v0.8.45-ux, -theme, -features, -docs). The goal tools are built and compile but need one wiring step: adding goal_state to EngineConfig and calling with_goal_tools() at the build_turn_tool_registry_builder call site in engine.rs. No tag, release, merge, or publish was performed. |
When the user opens the model picker, navigates to change the selection, then presses Esc, the last-highlighted choice is now applied instead of discarded. If the picker is opened and immediately Esc'd without moving, the current model is preserved unchanged. - Added dirty flag to ModelPickerView - move_up, move_down, toggle_focus set dirty=true - Esc emits ModelPickerApplied when dirty, otherwise closes cleanly
Only Running agents are now displayed in the sidebar agent panel. Completed, Cancelled, Failed, and Interrupted agents auto-collapse to keep the panel scannable while remaining visible in the transcript. Header still shows total count for context.
Adds a 'shell running' chip to the footer agent section that appears when a foreground shell command is executing. Uses the existing active_foreground_shell_running() detection. The chip renders in DEEPSEEK_AQUA alongside the agents chip so users can see the engine is working without checking the transcript.
Catalogs all supported providers: DeepSeek, DeepSeek CN, OpenRouter, Novita, Fireworks, SiliconFlow, Hugging Face, Ollama, vLLM/SGLang, NVIDIA NIM, and custom endpoints. Includes model IDs, API base URLs, auth methods, and configuration examples. Linked from README docs table.
Replaces the scaffold placeholder with actionable provider-specific billing information: DeepSeek platform URL, API balance endpoint, and links for OpenRouter/Novita/Fireworks. Shows session cost and token usage summary alongside provider instructions. Full API balance dispatch deferred to future release.
Adds goal_state to EngineConfig and passes it through to build_turn_tool_registry_builder, activating create_goal, get_goal, and update_goal at runtime. The App.goal Arc<Mutex<>> is now shared with the engine so slash commands and tools operate on the same state. Fixes macOS CI failure caused by unused-code warnings on goal tools.
Summary
0.8.45.deepseek-tuitocodewhale, including Cargo reinstall commands,.deepseekcleanup guidance, and.codewhalemigration notes.Release scope
This flash release includes the fixes already on
mainsincev0.8.44:/balancescaffold.SKILL.md; closes SKILL.md YAML block scalar description not parsed correctly #1907.Milestone triage: all open
v0.8.45issues were moved tov0.8.46; closed shipped fixes stay inv0.8.45.Verification
./scripts/release/check-versions.shgit diff --checkcargo fmt --all -- --checkcargo build --release --locked -p codewhale-cli -p codewhale-tuicargo install --path crates/cli --locked --forcecargo install --path crates/tui --locked --forcecodewhale --versioncodewhale-tui --versiondeepseek --versiondeepseek-tui --versionRelease gate
No tag, GitHub Release, npm publish, or crates.io publish was performed in this PR.