diff --git a/CHANGELOG.md b/CHANGELOG.md index ba9c0434..73308a52 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -7,6 +7,37 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 ## [Unreleased] +## [0.8.60] - 2026-06-13 + +### Added + +- **Agent Fleet real-run cutover (#3154/#3096).** `codewhale fleet run` now + launches durable workers through the headless `codewhale exec --output-format + stream-json` path instead of the local simulation interpreter, with terminal + worker events freeing leases so queued fleet tasks continue running. +- **Read-only shell parallelism (#2983).** The engine can now run conservative + read-only shell calls in parallel, including strict `bash`/`sh`/`zsh -c` + wrappers for whitelisted commands, while writes, stdin, background TTY work, + redirects, pipes, command substitution, and follow-mode tails stay serial. +- **Declarative JS/TS WhaleFlow authoring (#3097).** WhaleFlow now accepts a + compile-only `workflow({...})` JavaScript/TypeScript authoring form that + lowers into the existing `WorkflowSpec` validator without executing user + JavaScript. +- **Slash-menu Ctrl+P/Ctrl+N navigation (#3196).** The slash command menu now + supports Ctrl+P/Ctrl+N movement without letting the global file picker steal + focus while the menu is open. Thanks @1Git2Clone for the PR. + +### Fixed + +- **Z.ai GLM thinking traces.** Direct Z.ai requests now use the documented + `thinking` shape, preserve and replay `reasoning_content`, classify GLM + reasoning streams as thinking output, and accept `ultracode` as a max-effort + alias. +- **Claude skill archive compatibility (#2743).** `/skill install` keeps + portable Claude-style skill folders supported while rejecting multi-skill + Claude plugin archives clearly instead of silently installing only one skill + and dropping plugin semantics. Thanks @AiurArtanis for the ecosystem request. + ## [0.8.59] - 2026-06-12 ### Added @@ -1908,7 +1939,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.59...HEAD +[Unreleased]: https://github.com/Hmbown/CodeWhale/compare/v0.8.60...HEAD +[0.8.60]: https://github.com/Hmbown/CodeWhale/compare/v0.8.59...v0.8.60 [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 diff --git a/Cargo.lock b/Cargo.lock index e0944ad9..b7b3f0ea 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -777,7 +777,7 @@ checksum = "e9b18233253483ce2f65329a24072ec414db782531bdbb7d0bbc4bd2ce6b7e21" [[package]] name = "codewhale-agent" -version = "0.8.59" +version = "0.8.60" dependencies = [ "codewhale-config", "serde", @@ -785,7 +785,7 @@ dependencies = [ [[package]] name = "codewhale-app-server" -version = "0.8.59" +version = "0.8.60" dependencies = [ "anyhow", "axum", @@ -812,7 +812,7 @@ dependencies = [ [[package]] name = "codewhale-cli" -version = "0.8.59" +version = "0.8.60" dependencies = [ "anyhow", "chrono", @@ -840,7 +840,7 @@ dependencies = [ [[package]] name = "codewhale-config" -version = "0.8.59" +version = "0.8.60" dependencies = [ "anyhow", "codewhale-execpolicy", @@ -854,7 +854,7 @@ dependencies = [ [[package]] name = "codewhale-core" -version = "0.8.59" +version = "0.8.60" dependencies = [ "anyhow", "chrono", @@ -873,7 +873,7 @@ dependencies = [ [[package]] name = "codewhale-execpolicy" -version = "0.8.59" +version = "0.8.60" dependencies = [ "anyhow", "codewhale-protocol", @@ -882,7 +882,7 @@ dependencies = [ [[package]] name = "codewhale-hooks" -version = "0.8.59" +version = "0.8.60" dependencies = [ "anyhow", "async-trait", @@ -896,7 +896,7 @@ dependencies = [ [[package]] name = "codewhale-mcp" -version = "0.8.59" +version = "0.8.60" dependencies = [ "anyhow", "serde", @@ -905,7 +905,7 @@ dependencies = [ [[package]] name = "codewhale-protocol" -version = "0.8.59" +version = "0.8.60" dependencies = [ "serde", "serde_json", @@ -913,7 +913,7 @@ dependencies = [ [[package]] name = "codewhale-release" -version = "0.8.59" +version = "0.8.60" dependencies = [ "anyhow", "reqwest", @@ -924,7 +924,7 @@ dependencies = [ [[package]] name = "codewhale-secrets" -version = "0.8.59" +version = "0.8.60" dependencies = [ "dirs", "keyring", @@ -937,7 +937,7 @@ dependencies = [ [[package]] name = "codewhale-state" -version = "0.8.59" +version = "0.8.60" dependencies = [ "anyhow", "chrono", @@ -949,7 +949,7 @@ dependencies = [ [[package]] name = "codewhale-tools" -version = "0.8.59" +version = "0.8.60" dependencies = [ "anyhow", "async-trait", @@ -963,7 +963,7 @@ dependencies = [ [[package]] name = "codewhale-tui" -version = "0.8.59" +version = "0.8.60" dependencies = [ "anyhow", "arboard", @@ -1033,11 +1033,11 @@ dependencies = [ [[package]] name = "codewhale-tui-core" -version = "0.8.59" +version = "0.8.60" [[package]] name = "codewhale-whaleflow" -version = "0.8.59" +version = "0.8.60" dependencies = [ "anyhow", "serde", diff --git a/Cargo.toml b/Cargo.toml index e627649f..e829326e 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.59" +version = "0.8.60" 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 135cda2f..c54a240d 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.59 codewhale-cli --locked --force -cargo install --git https://cnb.cool/codewhale.net/codewhale --tag v0.8.59 codewhale-tui --locked --force +cargo install --git https://cnb.cool/codewhale.net/codewhale --tag v0.8.60 codewhale-cli --locked --force +cargo install --git https://cnb.cool/codewhale.net/codewhale --tag v0.8.60 codewhale-tui --locked --force # 旧 Homebrew 互換。formula はまだ deepseek-tui 名を使います。 brew tap Hmbown/deepseek-tui diff --git a/README.md b/README.md index 37d8cd0f..9a5e2390 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.59 codewhale-cli --locked --force -cargo install --git https://cnb.cool/codewhale.net/codewhale --tag v0.8.59 codewhale-tui --locked --force +cargo install --git https://cnb.cool/codewhale.net/codewhale --tag v0.8.60 codewhale-cli --locked --force +cargo install --git https://cnb.cool/codewhale.net/codewhale --tag v0.8.60 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 26d7e2b1..19c3a99b 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.59 codewhale-cli --locked --force -cargo install --git https://cnb.cool/codewhale.net/codewhale --tag v0.8.59 codewhale-tui --locked --force +cargo install --git https://cnb.cool/codewhale.net/codewhale --tag v0.8.60 codewhale-cli --locked --force +cargo install --git https://cnb.cool/codewhale.net/codewhale --tag v0.8.60 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 2d02c599..4ec230e2 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.59 codewhale-cli --locked --force -cargo install --git https://cnb.cool/codewhale.net/codewhale --tag v0.8.59 codewhale-tui --locked --force +cargo install --git https://cnb.cool/codewhale.net/codewhale --tag v0.8.60 codewhale-cli --locked --force +cargo install --git https://cnb.cool/codewhale.net/codewhale --tag v0.8.60 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 4f07a99b..9c4199ab 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.59" } +codewhale-config = { path = "../config", version = "0.8.60" } serde.workspace = true diff --git a/crates/app-server/Cargo.toml b/crates/app-server/Cargo.toml index 8bea5392..47bd5d96 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.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" } +codewhale-agent = { path = "../agent", version = "0.8.60" } +codewhale-config = { path = "../config", version = "0.8.60" } +codewhale-core = { path = "../core", version = "0.8.60" } +codewhale-execpolicy = { path = "../execpolicy", version = "0.8.60" } +codewhale-hooks = { path = "../hooks", version = "0.8.60" } +codewhale-mcp = { path = "../mcp", version = "0.8.60" } +codewhale-protocol = { path = "../protocol", version = "0.8.60" } +codewhale-state = { path = "../state", version = "0.8.60" } +codewhale-tools = { path = "../tools", version = "0.8.60" } serde.workspace = true serde_json.workspace = true rustls.workspace = true diff --git a/crates/cli/Cargo.toml b/crates/cli/Cargo.toml index 55a50c51..12c9ca71 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.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" } +codewhale-agent = { path = "../agent", version = "0.8.60" } +codewhale-app-server = { path = "../app-server", version = "0.8.60" } +codewhale-config = { path = "../config", version = "0.8.60" } +codewhale-execpolicy = { path = "../execpolicy", version = "0.8.60" } +codewhale-mcp = { path = "../mcp", version = "0.8.60" } +codewhale-release = { path = "../release", version = "0.8.60" } +codewhale-secrets = { path = "../secrets", version = "0.8.60" } +codewhale-state = { path = "../state", version = "0.8.60" } chrono.workspace = true dirs.workspace = true serde.workspace = true diff --git a/crates/config/Cargo.toml b/crates/config/Cargo.toml index 23cbf14c..d4b4550c 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.59" } -codewhale-secrets = { path = "../secrets", version = "0.8.59" } +codewhale-execpolicy = { path = "../execpolicy", version = "0.8.60" } +codewhale-secrets = { path = "../secrets", version = "0.8.60" } dirs.workspace = true serde.workspace = true serde_json.workspace = true diff --git a/crates/core/Cargo.toml b/crates/core/Cargo.toml index f96a9629..e1a884d4 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.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" } +codewhale-agent = { path = "../agent", version = "0.8.60" } +codewhale-config = { path = "../config", version = "0.8.60" } +codewhale-execpolicy = { path = "../execpolicy", version = "0.8.60" } +codewhale-hooks = { path = "../hooks", version = "0.8.60" } +codewhale-mcp = { path = "../mcp", version = "0.8.60" } +codewhale-protocol = { path = "../protocol", version = "0.8.60" } +codewhale-state = { path = "../state", version = "0.8.60" } +codewhale-tools = { path = "../tools", version = "0.8.60" } serde_json.workspace = true tracing.workspace = true uuid.workspace = true diff --git a/crates/execpolicy/Cargo.toml b/crates/execpolicy/Cargo.toml index 3a7b4bcc..70d0debe 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.59" } +codewhale-protocol = { path = "../protocol", version = "0.8.60" } serde.workspace = true diff --git a/crates/hooks/Cargo.toml b/crates/hooks/Cargo.toml index eba3edb8..1e4ef730 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.59" } +codewhale-protocol = { path = "../protocol", version = "0.8.60" } reqwest.workspace = true serde.workspace = true serde_json.workspace = true diff --git a/crates/tools/Cargo.toml b/crates/tools/Cargo.toml index 04fba277..8fb50319 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.59" } +codewhale-protocol = { path = "../protocol", version = "0.8.60" } serde.workspace = true serde_json.workspace = true thiserror.workspace = true diff --git a/crates/tui/CHANGELOG.md b/crates/tui/CHANGELOG.md index 70fd62f4..7f88feda 100644 --- a/crates/tui/CHANGELOG.md +++ b/crates/tui/CHANGELOG.md @@ -7,6 +7,37 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 ## [Unreleased] +## [0.8.60] - 2026-06-13 + +### Added + +- **Agent Fleet real-run cutover (#3154/#3096).** `codewhale fleet run` now + launches durable workers through the headless `codewhale exec --output-format + stream-json` path instead of the local simulation interpreter, with terminal + worker events freeing leases so queued fleet tasks continue running. +- **Read-only shell parallelism (#2983).** The engine can now run conservative + read-only shell calls in parallel, including strict `bash`/`sh`/`zsh -c` + wrappers for whitelisted commands, while writes, stdin, background TTY work, + redirects, pipes, command substitution, and follow-mode tails stay serial. +- **Declarative JS/TS WhaleFlow authoring (#3097).** WhaleFlow now accepts a + compile-only `workflow({...})` JavaScript/TypeScript authoring form that + lowers into the existing `WorkflowSpec` validator without executing user + JavaScript. +- **Slash-menu Ctrl+P/Ctrl+N navigation (#3196).** The slash command menu now + supports Ctrl+P/Ctrl+N movement without letting the global file picker steal + focus while the menu is open. Thanks @1Git2Clone for the PR. + +### Fixed + +- **Z.ai GLM thinking traces.** Direct Z.ai requests now use the documented + `thinking` shape, preserve and replay `reasoning_content`, classify GLM + reasoning streams as thinking output, and accept `ultracode` as a max-effort + alias. +- **Claude skill archive compatibility (#2743).** `/skill install` keeps + portable Claude-style skill folders supported while rejecting multi-skill + Claude plugin archives clearly instead of silently installing only one skill + and dropping plugin semantics. Thanks @AiurArtanis for the ecosystem request. + ## [0.8.59] - 2026-06-12 ### Added @@ -1302,84 +1333,6 @@ Thanks to contributors credited in the v0.8.47 GitHub Release, including **@aboimpinto**, **@HUQIANTAO**, **@mvanhorn**, **@LING71671**, and **@reidliu41**. -## [0.8.46] - 2026-05-26 - -### Added - -- **`CODEWHALE_*` env aliases.** `CODEWHALE_PROVIDER`, `CODEWHALE_MODEL`, - and `CODEWHALE_BASE_URL` are public product-scoped aliases that take - precedence over the legacy `DEEPSEEK_*` forms. The `DEEPSEEK_*` names - remain accepted for back-compat. -- **Platform archive bundles.** Release artifacts now ship as per-platform - archives (`tar.gz` for Linux/macOS, `.zip` for Windows) containing both - `codewhale` and `codewhale-tui` binaries plus an install script. No more - downloading two loose files and guessing which ones to pick (#2193). -- **Windows portable archive.** `codewhale-windows-x64-portable.zip` ships - the two binaries without an install script for USB-stick distribution - (#2193). -- **Web install download tile.** The website install page now shows a - platform-aware download tile with arch detection, SHA256 checksum - display, and China mirror links, instead of burying the download behind - the Cargo instructions (#2192). -- **Whale dark palette refresh.** Better contrast and layer separation - across the TUI color scheme (#2197). -- **Auto-collapse finished sub-agents.** Completed sub-agent sessions now - collapse automatically in the sidebar, reducing noise during long - sessions (#2195). -- **Shell-running status chip.** A `⏳ shell running` chip appears in the - TUI footer while background shell tasks are active (#2194). -- **Sandbox process hardening (Linux).** `PR_SET_DUMPABLE=0`, - `NO_NEW_PRIVS`, and `RLIMIT_CORE=0` are applied at shell startup to - harden child processes against inspection and privilege escalation - (#2183). -- **CONTRIBUTING.md cross-links.** Issue and PR templates are now - cross-linked from CONTRIBUTING.md to improve contributor onboarding - (#2203). - -### Changed - -- **DeepSeek-first focus.** v0.8.46 refocuses on delivering the - highest-quality experience on DeepSeek first. Additional first-class - provider paths are planned for v0.9.0 after the core DeepSeek workflow - is solid. - -### Fixed - -- **Model name casing preserved.** `normalize_model_name_for_provider` no - longer lowercases user-set model names such as `DeepSeek-V4-Flash`, - preventing API lookup failures on case-sensitive backends (#2109). -- **Esc in model picker applies selection.** Dismissing the model picker - with Esc now applies the last-highlighted choice instead of reverting - (#2196). -- **Web install downloads both binaries.** The `install-binary.tsx` - snippet now fetches both `codewhale` and `codewhale-tui`, fixing the - `MISSING_COMPANION_BINARY` trap on fresh npm installs (#2191). -- **`grep_files` skips large directories.** The pure-Rust search tool - now skips known-large directories (`.git`, `node_modules`, `target`) - before walking, preventing hangs on deep or slow filesystems. -- **Version-update hint uses semver.** The update notification in the - footer now compares versions semantically instead of lexicographically, - so `0.8.10 > 0.8.9` is recognized correctly. -- **CVE-2026-8723 in feishu-bridge.** Bumped `qs` to `>=6.15.2` in the - Feishu bridge integration (#2198). - -### Community - -Thanks to new contributors whose PRs landed in this release: -**@donglovejava** (#2154, #2163, #2166, #2167, #2168), -**@encyc** (#2152), -**@saieswar237** (#2178), -**@sximelon** (#2174), -**@nanookclaw** (#2135), -**@Sskift** (#2119), -**@xin1104** (#2105), -**@mrluanma** (#2059), -**@Lellansin** (#2055), -**@zhuangbiaowei** (#2145), -**@aboimpinto** (#1872), -and continuing contributors **@reidliu41**, **@cyq1017**, **@idling11**, -**@h3c-hexin**, **@wdw8276**, **@zlh124**, and **@jeoor**. - --- 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 e7e40f0e..8346f053 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.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" } +codewhale-config = { path = "../config", version = "0.8.60" } +codewhale-protocol = { path = "../protocol", version = "0.8.60" } +codewhale-release = { path = "../release", version = "0.8.60" } +codewhale-secrets = { path = "../secrets", version = "0.8.60" } +codewhale-tools = { path = "../tools", version = "0.8.60" } 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 639cbf64..255169fc 100644 --- a/npm/codewhale/package.json +++ b/npm/codewhale/package.json @@ -1,7 +1,7 @@ { "name": "codewhale", - "version": "0.8.59", - "codewhaleBinaryVersion": "0.8.59", + "version": "0.8.60", + "codewhaleBinaryVersion": "0.8.60", "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 729ef118..ca9f9faa 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-12T13:44:56.093Z", - "version": "0.8.59", + "generatedAt": "2026-06-13T18:53:53.254Z", + "version": "0.8.60", "crates": [ "agent", "app-server",