diff --git a/CHANGELOG.md b/CHANGELOG.md index 9bda530f..f61459d5 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -7,6 +7,8 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 ## [Unreleased] +## [0.8.59] - 2026-06-12 + ### Added - **Moonshot Kimi K2.7 Code model.** The Moonshot/Kimi provider now defaults to @@ -107,6 +109,10 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 rebrand docs now cover the same upgrade path. Thanks @jazzi and @tiangangQiu for the reports, @cyq1017 for the update-path PR, and @angus-guo for the README PR. +- **Short `codew` shim delegation.** The `codew` convenience binary now + prefers the sibling `codewhale` dispatcher installed next to it before + falling back to `PATH`, preventing fresh local builds or installs from + accidentally invoking an older global dispatcher. - **Constitution trust wording (#2950/#3008).** The base prompt now explains that "begins with an A" means a baseline of trust, not a literal output formatting rule. Thanks @cyq1017 for the PR. @@ -1874,7 +1880,8 @@ overflow report and `/theme` picker edge-wrapping patch in #1814. Older releases (v0.8.39 and earlier) are archived in [docs/CHANGELOG_ARCHIVE.md](docs/CHANGELOG_ARCHIVE.md). -[Unreleased]: https://github.com/Hmbown/CodeWhale/compare/v0.8.58...HEAD +[Unreleased]: https://github.com/Hmbown/CodeWhale/compare/v0.8.59...HEAD +[0.8.59]: https://github.com/Hmbown/CodeWhale/compare/v0.8.58...v0.8.59 [0.8.58]: https://github.com/Hmbown/CodeWhale/compare/v0.8.57...v0.8.58 [0.8.57]: https://github.com/Hmbown/CodeWhale/compare/v0.8.56...v0.8.57 [0.8.56]: https://github.com/Hmbown/CodeWhale/compare/v0.8.55...v0.8.56 diff --git a/Cargo.lock b/Cargo.lock index d2afbfd8..b521e898 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -771,7 +771,7 @@ checksum = "e9b18233253483ce2f65329a24072ec414db782531bdbb7d0bbc4bd2ce6b7e21" [[package]] name = "codewhale-agent" -version = "0.8.58" +version = "0.8.59" dependencies = [ "codewhale-config", "serde", @@ -779,7 +779,7 @@ dependencies = [ [[package]] name = "codewhale-app-server" -version = "0.8.58" +version = "0.8.59" dependencies = [ "anyhow", "axum", @@ -806,7 +806,7 @@ dependencies = [ [[package]] name = "codewhale-cli" -version = "0.8.58" +version = "0.8.59" dependencies = [ "anyhow", "chrono", @@ -834,7 +834,7 @@ dependencies = [ [[package]] name = "codewhale-config" -version = "0.8.58" +version = "0.8.59" dependencies = [ "anyhow", "codewhale-execpolicy", @@ -848,7 +848,7 @@ dependencies = [ [[package]] name = "codewhale-core" -version = "0.8.58" +version = "0.8.59" dependencies = [ "anyhow", "chrono", @@ -867,7 +867,7 @@ dependencies = [ [[package]] name = "codewhale-execpolicy" -version = "0.8.58" +version = "0.8.59" dependencies = [ "anyhow", "codewhale-protocol", @@ -876,7 +876,7 @@ dependencies = [ [[package]] name = "codewhale-hooks" -version = "0.8.58" +version = "0.8.59" dependencies = [ "anyhow", "async-trait", @@ -890,7 +890,7 @@ dependencies = [ [[package]] name = "codewhale-mcp" -version = "0.8.58" +version = "0.8.59" dependencies = [ "anyhow", "serde", @@ -899,7 +899,7 @@ dependencies = [ [[package]] name = "codewhale-protocol" -version = "0.8.58" +version = "0.8.59" dependencies = [ "serde", "serde_json", @@ -907,7 +907,7 @@ dependencies = [ [[package]] name = "codewhale-release" -version = "0.8.58" +version = "0.8.59" dependencies = [ "anyhow", "reqwest", @@ -918,7 +918,7 @@ dependencies = [ [[package]] name = "codewhale-secrets" -version = "0.8.58" +version = "0.8.59" dependencies = [ "dirs", "keyring", @@ -931,7 +931,7 @@ dependencies = [ [[package]] name = "codewhale-state" -version = "0.8.58" +version = "0.8.59" dependencies = [ "anyhow", "chrono", @@ -943,7 +943,7 @@ dependencies = [ [[package]] name = "codewhale-tools" -version = "0.8.58" +version = "0.8.59" dependencies = [ "anyhow", "async-trait", @@ -957,7 +957,7 @@ dependencies = [ [[package]] name = "codewhale-tui" -version = "0.8.58" +version = "0.8.59" dependencies = [ "anyhow", "arboard", @@ -1027,11 +1027,11 @@ dependencies = [ [[package]] name = "codewhale-tui-core" -version = "0.8.58" +version = "0.8.59" [[package]] name = "codewhale-whaleflow" -version = "0.8.58" +version = "0.8.59" dependencies = [ "anyhow", "serde", diff --git a/Cargo.toml b/Cargo.toml index 95a157ff..e627649f 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -21,7 +21,7 @@ default-members = ["crates/cli", "crates/app-server", "crates/tui"] resolver = "2" [workspace.package] -version = "0.8.58" +version = "0.8.59" 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 diff --git a/README.ja-JP.md b/README.ja-JP.md index 8f14a42f..135cda2f 100644 --- a/README.ja-JP.md +++ b/README.ja-JP.md @@ -43,8 +43,8 @@ codewhale --model auto # https://github.com/Hmbown/CodeWhale/releases # GitHub に安定して到達できない場合は CNB mirror を使えます: -cargo install --git https://cnb.cool/codewhale.net/codewhale --tag v0.8.58 codewhale-cli --locked --force -cargo install --git https://cnb.cool/codewhale.net/codewhale --tag v0.8.58 codewhale-tui --locked --force +cargo install --git https://cnb.cool/codewhale.net/codewhale --tag v0.8.59 codewhale-cli --locked --force +cargo install --git https://cnb.cool/codewhale.net/codewhale --tag v0.8.59 codewhale-tui --locked --force # 旧 Homebrew 互換。formula はまだ deepseek-tui 名を使います。 brew tap Hmbown/deepseek-tui diff --git a/README.md b/README.md index db2c3e0a..37d8cd0f 100644 --- a/README.md +++ b/README.md @@ -77,8 +77,8 @@ Other install paths are supported: # https://github.com/Hmbown/CodeWhale/releases # CNB mirror path for users who cannot reliably reach GitHub: -cargo install --git https://cnb.cool/codewhale.net/codewhale --tag v0.8.58 codewhale-cli --locked --force -cargo install --git https://cnb.cool/codewhale.net/codewhale --tag v0.8.58 codewhale-tui --locked --force +cargo install --git https://cnb.cool/codewhale.net/codewhale --tag v0.8.59 codewhale-cli --locked --force +cargo install --git https://cnb.cool/codewhale.net/codewhale --tag v0.8.59 codewhale-tui --locked --force # Legacy Homebrew compatibility while the formula is renamed brew tap Hmbown/deepseek-tui diff --git a/README.vi.md b/README.vi.md index 3f87b7ba..26d7e2b1 100644 --- a/README.vi.md +++ b/README.vi.md @@ -43,8 +43,8 @@ Các đường khác: # https://github.com/Hmbown/CodeWhale/releases # Nếu GitHub không ổn định, dùng CNB mirror: -cargo install --git https://cnb.cool/codewhale.net/codewhale --tag v0.8.58 codewhale-cli --locked --force -cargo install --git https://cnb.cool/codewhale.net/codewhale --tag v0.8.58 codewhale-tui --locked --force +cargo install --git https://cnb.cool/codewhale.net/codewhale --tag v0.8.59 codewhale-cli --locked --force +cargo install --git https://cnb.cool/codewhale.net/codewhale --tag v0.8.59 codewhale-tui --locked --force # Homebrew legacy trong lúc formula vẫn dùng tên deepseek-tui brew tap Hmbown/deepseek-tui diff --git a/README.zh-CN.md b/README.zh-CN.md index 343fc5d7..2d02c599 100644 --- a/README.zh-CN.md +++ b/README.zh-CN.md @@ -43,8 +43,8 @@ codewhale --model auto # https://github.com/Hmbown/CodeWhale/releases # 如果 GitHub 访问不稳定,可以使用 CNB 镜像: -cargo install --git https://cnb.cool/codewhale.net/codewhale --tag v0.8.58 codewhale-cli --locked --force -cargo install --git https://cnb.cool/codewhale.net/codewhale --tag v0.8.58 codewhale-tui --locked --force +cargo install --git https://cnb.cool/codewhale.net/codewhale --tag v0.8.59 codewhale-cli --locked --force +cargo install --git https://cnb.cool/codewhale.net/codewhale --tag v0.8.59 codewhale-tui --locked --force # 旧 Homebrew 兼容路径,formula 仍使用 deepseek-tui 名称 brew tap Hmbown/deepseek-tui diff --git a/crates/agent/Cargo.toml b/crates/agent/Cargo.toml index a4e1f3b7..4f07a99b 100644 --- a/crates/agent/Cargo.toml +++ b/crates/agent/Cargo.toml @@ -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.58" } +codewhale-config = { path = "../config", version = "0.8.59" } serde.workspace = true diff --git a/crates/app-server/Cargo.toml b/crates/app-server/Cargo.toml index fec80642..5773e49e 100644 --- a/crates/app-server/Cargo.toml +++ b/crates/app-server/Cargo.toml @@ -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.58" } -codewhale-config = { path = "../config", version = "0.8.58" } -codewhale-core = { path = "../core", version = "0.8.58" } -codewhale-execpolicy = { path = "../execpolicy", version = "0.8.58" } -codewhale-hooks = { path = "../hooks", version = "0.8.58" } -codewhale-mcp = { path = "../mcp", version = "0.8.58" } -codewhale-protocol = { path = "../protocol", version = "0.8.58" } -codewhale-state = { path = "../state", version = "0.8.58" } -codewhale-tools = { path = "../tools", version = "0.8.58" } +codewhale-agent = { path = "../agent", version = "0.8.59" } +codewhale-config = { path = "../config", version = "0.8.59" } +codewhale-core = { path = "../core", version = "0.8.59" } +codewhale-execpolicy = { path = "../execpolicy", version = "0.8.59" } +codewhale-hooks = { path = "../hooks", version = "0.8.59" } +codewhale-mcp = { path = "../mcp", version = "0.8.59" } +codewhale-protocol = { path = "../protocol", version = "0.8.59" } +codewhale-state = { path = "../state", version = "0.8.59" } +codewhale-tools = { path = "../tools", version = "0.8.59" } serde.workspace = true serde_json.workspace = true rustls.workspace = true diff --git a/crates/cli/Cargo.toml b/crates/cli/Cargo.toml index af734f44..25c27ac0 100644 --- a/crates/cli/Cargo.toml +++ b/crates/cli/Cargo.toml @@ -19,14 +19,14 @@ path = "src/bin/codew_legacy_shim.rs" anyhow.workspace = true clap.workspace = true clap_complete.workspace = true -codewhale-agent = { path = "../agent", version = "0.8.58" } -codewhale-app-server = { path = "../app-server", version = "0.8.58" } -codewhale-config = { path = "../config", version = "0.8.58" } -codewhale-execpolicy = { path = "../execpolicy", version = "0.8.58" } -codewhale-mcp = { path = "../mcp", version = "0.8.58" } -codewhale-release = { path = "../release", version = "0.8.58" } -codewhale-secrets = { path = "../secrets", version = "0.8.58" } -codewhale-state = { path = "../state", version = "0.8.58" } +codewhale-agent = { path = "../agent", version = "0.8.59" } +codewhale-app-server = { path = "../app-server", version = "0.8.59" } +codewhale-config = { path = "../config", version = "0.8.59" } +codewhale-execpolicy = { path = "../execpolicy", version = "0.8.59" } +codewhale-mcp = { path = "../mcp", version = "0.8.59" } +codewhale-release = { path = "../release", version = "0.8.59" } +codewhale-secrets = { path = "../secrets", version = "0.8.59" } +codewhale-state = { path = "../state", version = "0.8.59" } chrono.workspace = true dirs.workspace = true serde.workspace = true diff --git a/crates/cli/src/bin/codew_legacy_shim.rs b/crates/cli/src/bin/codew_legacy_shim.rs index 870128fb..39c2467b 100644 --- a/crates/cli/src/bin/codew_legacy_shim.rs +++ b/crates/cli/src/bin/codew_legacy_shim.rs @@ -4,6 +4,7 @@ //! permanent short-form alias — six fewer keystrokes, same binary. use std::env; +use std::path::{Path, PathBuf}; use std::process::Command; fn main() { @@ -26,29 +27,48 @@ fn main() { } fn spawn_codewhale(args: &[String]) -> std::io::Result { - // Try PATH first. + // Prefer the dispatcher installed next to this shim. Falling back to PATH + // first can silently run an older global `codewhale` after a fresh install. + if let Ok(exe_path) = env::current_exe() + && let Some(sibling) = sibling_codewhale_path(&exe_path) + && sibling.is_file() + { + return Command::new(sibling).args(args).status(); + } + + // Fall back to PATH for unusual installs that ship only the shim. match Command::new("codewhale").args(args).status() { Ok(s) => return Ok(s), Err(e) if e.kind() == std::io::ErrorKind::NotFound => {} Err(e) => return Err(e), } - // On Windows, after an update the sibling `codewhale.exe` may be in the - // same directory as this shim but not on PATH (#2006). - #[cfg(windows)] - { - if let Ok(exe_path) = env::current_exe() - && let Some(dir) = exe_path.parent() - { - let sibling = dir.join("codewhale.exe"); - if sibling.is_file() { - return Command::new(sibling).args(args).status(); - } - } - } - Err(std::io::Error::new( std::io::ErrorKind::NotFound, "codewhale not found on PATH or in sibling directory", )) } + +fn sibling_codewhale_path(exe_path: &Path) -> Option { + exe_path + .parent() + .map(|dir| dir.join(format!("codewhale{}", std::env::consts::EXE_SUFFIX))) +} + +#[cfg(test)] +mod tests { + use super::sibling_codewhale_path; + use std::path::Path; + + #[test] + fn sibling_dispatcher_uses_platform_executable_suffix() { + let path = Path::new("/tmp/codewhale-bin/codew"); + let sibling = sibling_codewhale_path(path).expect("sibling"); + + assert_eq!( + sibling, + Path::new("/tmp/codewhale-bin") + .join(format!("codewhale{}", std::env::consts::EXE_SUFFIX)) + ); + } +} diff --git a/crates/config/Cargo.toml b/crates/config/Cargo.toml index 30f90982..23cbf14c 100644 --- a/crates/config/Cargo.toml +++ b/crates/config/Cargo.toml @@ -8,8 +8,8 @@ description = "Config schema and precedence model for DeepSeek workspace archite [dependencies] anyhow.workspace = true -codewhale-execpolicy = { path = "../execpolicy", version = "0.8.58" } -codewhale-secrets = { path = "../secrets", version = "0.8.58" } +codewhale-execpolicy = { path = "../execpolicy", version = "0.8.59" } +codewhale-secrets = { path = "../secrets", version = "0.8.59" } dirs.workspace = true serde.workspace = true serde_json.workspace = true diff --git a/crates/core/Cargo.toml b/crates/core/Cargo.toml index f7a0a3cf..f96a9629 100644 --- a/crates/core/Cargo.toml +++ b/crates/core/Cargo.toml @@ -9,14 +9,14 @@ description = "Core runtime boundaries for DeepSeek workspace architecture" [dependencies] anyhow.workspace = true chrono.workspace = true -codewhale-agent = { path = "../agent", version = "0.8.58" } -codewhale-config = { path = "../config", version = "0.8.58" } -codewhale-execpolicy = { path = "../execpolicy", version = "0.8.58" } -codewhale-hooks = { path = "../hooks", version = "0.8.58" } -codewhale-mcp = { path = "../mcp", version = "0.8.58" } -codewhale-protocol = { path = "../protocol", version = "0.8.58" } -codewhale-state = { path = "../state", version = "0.8.58" } -codewhale-tools = { path = "../tools", version = "0.8.58" } +codewhale-agent = { path = "../agent", version = "0.8.59" } +codewhale-config = { path = "../config", version = "0.8.59" } +codewhale-execpolicy = { path = "../execpolicy", version = "0.8.59" } +codewhale-hooks = { path = "../hooks", version = "0.8.59" } +codewhale-mcp = { path = "../mcp", version = "0.8.59" } +codewhale-protocol = { path = "../protocol", version = "0.8.59" } +codewhale-state = { path = "../state", version = "0.8.59" } +codewhale-tools = { path = "../tools", version = "0.8.59" } serde_json.workspace = true tracing.workspace = true uuid.workspace = true diff --git a/crates/execpolicy/Cargo.toml b/crates/execpolicy/Cargo.toml index 280e5729..3a7b4bcc 100644 --- a/crates/execpolicy/Cargo.toml +++ b/crates/execpolicy/Cargo.toml @@ -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.58" } +codewhale-protocol = { path = "../protocol", version = "0.8.59" } serde.workspace = true diff --git a/crates/hooks/Cargo.toml b/crates/hooks/Cargo.toml index 6743af10..eba3edb8 100644 --- a/crates/hooks/Cargo.toml +++ b/crates/hooks/Cargo.toml @@ -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.58" } +codewhale-protocol = { path = "../protocol", version = "0.8.59" } reqwest.workspace = true serde.workspace = true serde_json.workspace = true diff --git a/crates/tools/Cargo.toml b/crates/tools/Cargo.toml index cf4a5358..04fba277 100644 --- a/crates/tools/Cargo.toml +++ b/crates/tools/Cargo.toml @@ -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.58" } +codewhale-protocol = { path = "../protocol", version = "0.8.59" } serde.workspace = true serde_json.workspace = true thiserror.workspace = true diff --git a/crates/tui/CHANGELOG.md b/crates/tui/CHANGELOG.md index 058bcc99..956ffd9f 100644 --- a/crates/tui/CHANGELOG.md +++ b/crates/tui/CHANGELOG.md @@ -7,6 +7,8 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 ## [Unreleased] +## [0.8.59] - 2026-06-12 + ### Added - **Moonshot Kimi K2.7 Code model.** The Moonshot/Kimi provider now defaults to @@ -107,6 +109,10 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 rebrand docs now cover the same upgrade path. Thanks @jazzi and @tiangangQiu for the reports, @cyq1017 for the update-path PR, and @angus-guo for the README PR. +- **Short `codew` shim delegation.** The `codew` convenience binary now + prefers the sibling `codewhale` dispatcher installed next to it before + falling back to `PATH`, preventing fresh local builds or installs from + accidentally invoking an older global dispatcher. - **Constitution trust wording (#2950/#3008).** The base prompt now explains that "begins with an A" means a baseline of trust, not a literal output formatting rule. Thanks @cyq1017 for the PR. @@ -1346,90 +1352,6 @@ Thanks to new contributors whose PRs landed in this release: and continuing contributors **@reidliu41**, **@cyq1017**, **@idling11**, **@h3c-hexin**, **@wdw8276**, **@zlh124**, and **@jeoor**. -## [0.8.45] - 2026-05-25 - -### Added - -- **RLM session objects.** `rlm_open` can now load `session://` refs, - exposing the active prompt, history, and session data as symbolic objects - inside RLM REPLs (#2047). -- **Command palette voice input.** The command palette can launch a configured - speech-to-text helper and show footer status while transcription runs - (#2047). -- **Moonshot/Kimi provider.** Moonshot/Kimi is now a first-class provider, - including API-key auth, model completion, CLI auth, secret-store - integration, and optional Kimi CLI credential reuse. -- **Deterministic whale-species sub-agent names.** Sub-agents now get stable, - human-readable whale-species nicknames (e.g. "Beluga", "Orca") while - preserving the raw agent ID in the popup (#2035, #2016). -- **`/balance` command scaffold.** Registered the `/balance` slash command - as a placeholder for future provider billing queries (#2035, #2019). -- **Readable `/restore` snapshot labels.** Snapshot labels now include the - originating user prompt so restore listings are easier to identify. Thanks - @idling11 (#2111). -- **Sidebar hover tooltips.** Truncated Work and Tasks sidebar lines now expose - their full text on hover. Thanks @idling11 (#2110). - -### Changed - -- **AGENTS.md is now maintainer-local.** The project instructions file no - longer ships as a tracked repo file; it lives in maintainer-local ignored - state (#2047). - -### Fixed - -- **Sub-agent completion handoff compatibility.** Completion handoffs now use a - chat-template-safe role and emit before terminal updates, fixing strict - OpenAI-compatible/self-hosted backends and preserving transcript ordering. - Thanks @h3c-hexin and @cyq1017 (#2057, #2120). -- **Self-hosted context budgeting.** Sub-500K self-hosted model windows now keep - a usable input budget instead of disabling preflight compaction after output - reservation underflow. Thanks @h3c-hexin (#2060). -- **Goal prompts start actionable.** Goal-start prompts now open in an - actionable state instead of requiring an extra nudge. Thanks @cyq1017 - (#2097). -- **Composer session title display.** The composer chrome shows the current - session title again and avoids grayscale luma overflow in debug builds. - Thanks @wdw8276 (#2108). -- **Approval prompts use a one-step confirmation flow.** Enter now commits the - selected approval option directly, destructive warnings remain visible, and - abort cancels the active turn instead of only denying the current tool call. - Thanks @reidliu41 (#2143). -- **Model picker selection survives Esc.** Dismissing the model picker with Esc - no longer loses the highlighted selection. Thanks @reidliu41 (#2056). -- **Moonshot/Kimi sessions launch from the dispatcher.** The `codewhale` - wrapper now includes Moonshot/Kimi in the TUI provider allowlist, so - `codewhale --provider moonshot --model kimi-k2.6` reaches the TUI instead of - stopping after config resolution. -- **Slash recovery no longer restores command tails in the composer.** - Resuming a session or recovering from a crash no longer leaves stale - slash-command text (e.g. `/sessions`) in the composer input (#2047, #2032). -- **Remembered tool approvals now update the live active turn.** - When the "remember" checkbox is set on an approval dialog, the active - turn's auto-approve flag flips immediately instead of waiting for the - next turn. Thanks @gaord (#2047, #2041). -- **YAML block scalars in SKILL.md frontmatter.** Multi-line descriptions - using `>` or `|` indicators are now parsed correctly — folded block - scalars join non-empty lines with spaces, literal scalars preserve - newlines, and all three chomping modes (strip/clip/keep) are supported. - Thanks @zlh124 (#1908, #1907). -- **User messages highlighted in the transcript.** User-authored messages - now render with a full-row background in the live TUI transcript, making - it easier to scan prior turns. Assistant and system messages are - unaffected. Thanks @reidliu41 (#1995, #1672). -- **Cancellable `list_dir` and `file_search`.** Long directory walks and - file searches now respond to user cancel/stop requests with a 30-second - fallback timeout, preventing the TUI from hanging on deep or slow - filesystems (#2035). - -### Community - -- **README contributor acknowledgements resynced.** The Thanks list now - includes the latest contributor rows for @donglovejava, @encyc, - @saieswar237, @sximelon, @nanookclaw, @Sskift, @xin1104, @mrluanma, - @Lellansin, and @zhuangbiaowei, while preserving the existing @jeoor - acknowledgement in the consolidated list. - --- Older releases: [CHANGELOG.md](https://github.com/Hmbown/CodeWhale/blob/main/CHANGELOG.md) and [docs/CHANGELOG_ARCHIVE.md](https://github.com/Hmbown/CodeWhale/blob/main/docs/CHANGELOG_ARCHIVE.md). diff --git a/crates/tui/Cargo.toml b/crates/tui/Cargo.toml index 57cd0c94..d14e58da 100644 --- a/crates/tui/Cargo.toml +++ b/crates/tui/Cargo.toml @@ -20,11 +20,11 @@ path = "src/main.rs" [dependencies] anyhow = "1.0.100" -codewhale-config = { path = "../config", version = "0.8.58" } -codewhale-protocol = { path = "../protocol", version = "0.8.58" } -codewhale-release = { path = "../release", version = "0.8.58" } -codewhale-secrets = { path = "../secrets", version = "0.8.58" } -codewhale-tools = { path = "../tools", version = "0.8.58" } +codewhale-config = { path = "../config", version = "0.8.59" } +codewhale-protocol = { path = "../protocol", version = "0.8.59" } +codewhale-release = { path = "../release", version = "0.8.59" } +codewhale-secrets = { path = "../secrets", version = "0.8.59" } +codewhale-tools = { path = "../tools", version = "0.8.59" } schemaui = { version = "0.12.0", default-features = false, optional = true } async-stream = "0.3.6" async-trait = "0.1" diff --git a/npm/codewhale/package.json b/npm/codewhale/package.json index 5f4a0680..639cbf64 100644 --- a/npm/codewhale/package.json +++ b/npm/codewhale/package.json @@ -1,7 +1,7 @@ { "name": "codewhale", - "version": "0.8.58", - "codewhaleBinaryVersion": "0.8.58", + "version": "0.8.59", + "codewhaleBinaryVersion": "0.8.59", "description": "Install and run CodeWhale, the agentic terminal for open-source and open-weight coding models, from GitHub release artifacts.", "author": "Hmbown", "license": "MIT", diff --git a/web/lib/facts.generated.ts b/web/lib/facts.generated.ts index 7f51cfc4..729ef118 100644 --- a/web/lib/facts.generated.ts +++ b/web/lib/facts.generated.ts @@ -18,8 +18,8 @@ export interface RepoFacts { } export const FACTS: RepoFacts = { - "generatedAt": "2026-06-11T05:54:56.679Z", - "version": "0.8.58", + "generatedAt": "2026-06-12T13:44:56.093Z", + "version": "0.8.59", "crates": [ "agent", "app-server",