Skip to content

chore(release): prepare v0.8.45 flash release#2049

Open
Hmbown wants to merge 16 commits into
mainfrom
work/v0.8.45-flash
Open

chore(release): prepare v0.8.45 flash release#2049
Hmbown wants to merge 16 commits into
mainfrom
work/v0.8.45-flash

Conversation

@Hmbown
Copy link
Copy Markdown
Owner

@Hmbown Hmbown commented May 25, 2026

Summary

  • Bump workspace, Cargo.lock, npm wrappers, and changelog surfaces to 0.8.45.
  • Add README / rebrand FAQ guidance for users switching from deepseek-tui to codewhale, including Cargo reinstall commands, .deepseek cleanup guidance, and .codewhale migration notes.
  • Document CNB trigger/NPC safety: CodeWhale automation should open/update PRs and run checks, not recursively self-merge release changes.

Release scope

This flash release includes the fixes already on main since v0.8.44:

Milestone triage: all open v0.8.45 issues were moved to v0.8.46; closed shipped fixes stay in v0.8.45.

Verification

  • ./scripts/release/check-versions.sh
  • git diff --check
  • cargo fmt --all -- --check
  • cargo build --release --locked -p codewhale-cli -p codewhale-tui
  • cargo install --path crates/cli --locked --force
  • cargo install --path crates/tui --locked --force
  • codewhale --version
  • codewhale-tui --version
  • deepseek --version
  • deepseek-tui --version

Release gate

No tag, GitHub Release, npm publish, or crates.io publish was performed in this PR.

Copilot AI review requested due to automatic review settings May 25, 2026 03:19
@Hmbown Hmbown added this to the v0.8.45 milestone May 25, 2026
Copy link
Copy Markdown
Contributor

@gemini-code-assist gemini-code-assist Bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

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.

Comment thread README.md
docker run --rm -it \
-e DEEPSEEK_API_KEY="$DEEPSEEK_API_KEY" \
-v codewhale-home:/home/codewhale/.deepseek \
-v codewhale-home:/home/codewhale \
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

medium

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.

Copy link
Copy Markdown
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

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, .deepseek cleanup, automation guardrails).
  • Add 0.8.45 release 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.

Comment thread README.md
docker run --rm -it \
-e DEEPSEEK_API_KEY="$DEEPSEEK_API_KEY" \
-v codewhale-home:/home/codewhale/.deepseek \
-v codewhale-home:/home/codewhale \
Comment thread README.md
docker run --rm -it \
-e DEEPSEEK_API_KEY="$DEEPSEEK_API_KEY" \
-v codewhale-home:/home/codewhale/.deepseek \
-v codewhale-home:/home/codewhale \
Comment thread README.md
## 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:
@Hmbown
Copy link
Copy Markdown
Owner Author

Hmbown commented May 25, 2026

v0.8.45 flash-release completion summary

What changed (752438c)

Contributor-credit decisions

  • CHANGELOG.md and crates/tui/CHANGELOG.md already had complete credits for all four contributors — no changes needed there.
  • @reidliu41, @zlh124, and @h3c-hexin were already in the README Thanks list for prior contributions; their entries were updated to reflect their v0.8.45 work.
  • @lpeng1711694086-lang is a first-time contributor (issue reporter) and was added to the README Thanks.
  • GitHub's contributor count only increases for commits GitHub can attribute to a GitHub account. Issue reporters, reviewers, testers, and harvested contributors may need README/changelog credit even when the GitHub contributor graph does not move — this is documented in the PR body.

Checks

  • All 13 PR checks green (CI: lint, test × linux/mac/windows, version drift, npm smoke; CodeQL × 3; GitGuardian; CNB sync). mergeStateStatus is CLEAN.
  • Rebrand migration audit: README FAQ and docs/REBRAND.md cover all five requirements (Cargo uninstall, dual-crate install, .codewhale preference, ~/.deepseek safety, project cleanup guidance).
  • Milestone triage: v0.8.45 has zero open issues; unfinished theme/control-plane work is in v0.8.46.

Verification

./scripts/release/check-versions.sh  →  Version state OK
git diff --check                      →  (clean)
cargo fmt --all -- --check            →  (clean)
cargo build --release --locked ...    →  Compiled in 58s

Local installed versions

codewhale 0.8.45 (752438ca4)
codewhale-tui 0.8.45 (752438ca4)
deepseek 0.8.45 (752438ca4)     [shim, warns]
deepseek-tui 0.8.45 (752438ca4) [shim, warns]

Status

The branch is ready for local testing and PR review. No tag, release, or merge was performed.

Hmbown added 4 commits May 24, 2026 22:35
- 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.
- Added: voice input, RLM session objects (#2047)
- Fixed: slash-command recovery, Remember auto-approve sync (#2047, #2041)
- Thanks: @gaord (Ben Gao) for active-turn auto-approve fix
- Synced root and tui CHANGELOGs
@Hmbown Hmbown force-pushed the work/v0.8.45-flash branch from 752438c to 1d8148c Compare May 25, 2026 03:40
Hmbown added 4 commits May 24, 2026 22:46
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.
@Hmbown
Copy link
Copy Markdown
Owner Author

Hmbown commented May 25, 2026

v0.8.45 flash release — final summary (1d1e766)

What shipped on this branch

Infrastructure

PRs included (merged to main, rebased in)

New in this branch

  • LLM-as-judge goal system (Phase 1): create_goal, get_goal, update_goal tools with continuation audit prompt
  • CodeWhale User Guide (docs/GUIDE.md) — getting started, modes, routing, sessions, sub-agents, tips
  • qs CVE-2026-8723 fix — overrides to >=6.15.2 in both feishu-bridge and web package.json

Contributor credits added to README Thanks

Milestone state

Verification

./scripts/release/check-versions.sh  →  OK
cargo fmt --all -- --check            →  clean
cargo build --release --locked        →  Compiled
cargo check -p codewhale-tui          →  clean (8 warnings, all pre-existing)

Local installed

codewhale 0.8.45 (1d1e7663d)
codewhale-tui 0.8.45 (1d1e7663d)

Remaining for full v0.8.45

The 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.

Hmbown added 8 commits May 24, 2026 23:04
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
…eparation

- SURFACE_ELEVATED: (28,42,64) → (32,48,72) +14% brightness
- SELECTION_BG: (26,44,74) → (34,54,88) +20% brightness
- BORDER_COLOR_RGB: (42,74,127) → (52,84,137) +10% contrast
- Added design rationale comment block for the default dark theme

Closes #2012, #2015.
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.
- #2037: /model picker Esc applies last-highlighted choice
- #2040: finished sub-agents auto-collapse in sidebar
- #2012, #2015: Whale dark palette refreshed
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.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

SKILL.md YAML block scalar description not parsed correctly [Feature Request] 用户消息在 TUI 中的视觉区分度不足

2 participants