release: bump workspace, npm, and release metadata to 0.9.2

Cuts the [0.9.2] - 2026-07-27 changelog band from [Unreleased] and
runs scripts/release/prepare-release.sh 0.9.2: workspace and crate
versions, internal dependency pins, npm package + binary version,
lockfile, remote-smoke default tag, README install examples, public
fact matrix source-candidate version, crate changelog sync, and
regenerated web facts. check-versions.sh confirms the set agrees.

This is local release preparation only: no tag, no publication, no
push to protected main.
This commit is contained in:
Hmbown
2026-07-27 05:59:01 -07:00
parent 473d4012bc
commit 0faa44a74b
20 changed files with 80 additions and 131 deletions
+4 -1
View File
@@ -7,6 +7,8 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
## [Unreleased]
## [0.9.2] - 2026-07-27
### Changed — behavior
- **Legacy `model = auto` no longer elects a network classifier on its own.**
@@ -4330,7 +4332,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.9.0...HEAD
[Unreleased]: https://github.com/Hmbown/CodeWhale/compare/v0.9.2...HEAD
[0.9.2]: https://github.com/Hmbown/CodeWhale/compare/v0.9.1...v0.9.2
[0.9.1]: https://github.com/Hmbown/CodeWhale/compare/v0.9.0...v0.9.1
[0.8.68]: https://github.com/Hmbown/CodeWhale/compare/v0.8.67...v0.8.68
[0.8.67]: https://github.com/Hmbown/CodeWhale/compare/v0.8.66...v0.8.67
Generated
+18 -18
View File
@@ -839,7 +839,7 @@ checksum = "e9b18233253483ce2f65329a24072ec414db782531bdbb7d0bbc4bd2ce6b7e21"
[[package]]
name = "codewhale-agent"
version = "0.9.1"
version = "0.9.2"
dependencies = [
"codewhale-config",
"serde",
@@ -847,7 +847,7 @@ dependencies = [
[[package]]
name = "codewhale-app-server"
version = "0.9.1"
version = "0.9.2"
dependencies = [
"anyhow",
"axum",
@@ -876,11 +876,11 @@ dependencies = [
[[package]]
name = "codewhale-build-support"
version = "0.9.1"
version = "0.9.2"
[[package]]
name = "codewhale-cli"
version = "0.9.1"
version = "0.9.2"
dependencies = [
"anyhow",
"chrono",
@@ -914,7 +914,7 @@ dependencies = [
[[package]]
name = "codewhale-config"
version = "0.9.1"
version = "0.9.2"
dependencies = [
"anyhow",
"codewhale-execpolicy",
@@ -934,7 +934,7 @@ dependencies = [
[[package]]
name = "codewhale-core"
version = "0.9.1"
version = "0.9.2"
dependencies = [
"anyhow",
"async-trait",
@@ -955,7 +955,7 @@ dependencies = [
[[package]]
name = "codewhale-execpolicy"
version = "0.9.1"
version = "0.9.2"
dependencies = [
"anyhow",
"codewhale-protocol",
@@ -964,7 +964,7 @@ dependencies = [
[[package]]
name = "codewhale-hooks"
version = "0.9.1"
version = "0.9.2"
dependencies = [
"anyhow",
"async-trait",
@@ -979,7 +979,7 @@ dependencies = [
[[package]]
name = "codewhale-lane"
version = "0.9.1"
version = "0.9.2"
dependencies = [
"anyhow",
"chrono",
@@ -995,7 +995,7 @@ dependencies = [
[[package]]
name = "codewhale-mcp"
version = "0.9.1"
version = "0.9.2"
dependencies = [
"anyhow",
"serde",
@@ -1005,7 +1005,7 @@ dependencies = [
[[package]]
name = "codewhale-protocol"
version = "0.9.1"
version = "0.9.2"
dependencies = [
"chrono",
"serde",
@@ -1015,7 +1015,7 @@ dependencies = [
[[package]]
name = "codewhale-release"
version = "0.9.1"
version = "0.9.2"
dependencies = [
"anyhow",
"reqwest 0.13.4",
@@ -1028,7 +1028,7 @@ dependencies = [
[[package]]
name = "codewhale-secrets"
version = "0.9.1"
version = "0.9.2"
dependencies = [
"dirs",
"keyring",
@@ -1041,7 +1041,7 @@ dependencies = [
[[package]]
name = "codewhale-state"
version = "0.9.1"
version = "0.9.2"
dependencies = [
"anyhow",
"chrono",
@@ -1056,7 +1056,7 @@ dependencies = [
[[package]]
name = "codewhale-tools"
version = "0.9.1"
version = "0.9.2"
dependencies = [
"anyhow",
"async-trait",
@@ -1070,7 +1070,7 @@ dependencies = [
[[package]]
name = "codewhale-tui"
version = "0.9.1"
version = "0.9.2"
dependencies = [
"ahash",
"anyhow",
@@ -1163,7 +1163,7 @@ dependencies = [
[[package]]
name = "codewhale-workflow"
version = "0.9.1"
version = "0.9.2"
dependencies = [
"serde",
"serde_json",
@@ -1175,7 +1175,7 @@ dependencies = [
[[package]]
name = "codewhale-workflow-js"
version = "0.9.1"
version = "0.9.2"
dependencies = [
"async-trait",
"jsonschema 0.48.5",
+1 -1
View File
@@ -23,7 +23,7 @@ default-members = ["crates/cli", "crates/app-server", "crates/tui"]
resolver = "2"
[workspace.package]
version = "0.9.1"
version = "0.9.2"
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
+1 -1
View File
@@ -8,5 +8,5 @@ repository.workspace = true
description = "Model/provider registry and fallback strategy for Codewhale"
[dependencies]
codewhale-config = { path = "../config", version = "0.9.1" }
codewhale-config = { path = "../config", version = "0.9.2" }
serde.workspace = true
+10 -10
View File
@@ -13,16 +13,16 @@ autobins = false
anyhow.workspace = true
axum.workspace = true
clap.workspace = true
codewhale-agent = { path = "../agent", version = "0.9.1" }
codewhale-config = { path = "../config", version = "0.9.1" }
codewhale-core = { path = "../core", version = "0.9.1" }
codewhale-execpolicy = { path = "../execpolicy", version = "0.9.1" }
codewhale-hooks = { path = "../hooks", version = "0.9.1" }
codewhale-mcp = { path = "../mcp", version = "0.9.1" }
codewhale-protocol = { path = "../protocol", version = "0.9.1" }
codewhale-release = { path = "../release", version = "0.9.1" }
codewhale-state = { path = "../state", version = "0.9.1" }
codewhale-tools = { path = "../tools", version = "0.9.1" }
codewhale-agent = { path = "../agent", version = "0.9.2" }
codewhale-config = { path = "../config", version = "0.9.2" }
codewhale-core = { path = "../core", version = "0.9.2" }
codewhale-execpolicy = { path = "../execpolicy", version = "0.9.2" }
codewhale-hooks = { path = "../hooks", version = "0.9.2" }
codewhale-mcp = { path = "../mcp", version = "0.9.2" }
codewhale-protocol = { path = "../protocol", version = "0.9.2" }
codewhale-release = { path = "../release", version = "0.9.2" }
codewhale-state = { path = "../state", version = "0.9.2" }
codewhale-tools = { path = "../tools", version = "0.9.2" }
serde.workspace = true
serde_json.workspace = true
rustls.workspace = true
+11 -11
View File
@@ -20,16 +20,16 @@ path = "src/bin/codew_legacy_shim.rs"
anyhow.workspace = true
clap.workspace = true
clap_complete.workspace = true
codewhale-agent = { path = "../agent", version = "0.9.1" }
codewhale-app-server = { path = "../app-server", version = "0.9.1" }
codewhale-config = { path = "../config", version = "0.9.1" }
codewhale-lane = { path = "../lane", version = "0.9.1" }
codewhale-workflow = { path = "../workflow", version = "0.9.1" }
codewhale-execpolicy = { path = "../execpolicy", version = "0.9.1" }
codewhale-mcp = { path = "../mcp", version = "0.9.1" }
codewhale-release = { path = "../release", version = "0.9.1" }
codewhale-secrets = { path = "../secrets", version = "0.9.1" }
codewhale-state = { path = "../state", version = "0.9.1" }
codewhale-agent = { path = "../agent", version = "0.9.2" }
codewhale-app-server = { path = "../app-server", version = "0.9.2" }
codewhale-config = { path = "../config", version = "0.9.2" }
codewhale-lane = { path = "../lane", version = "0.9.2" }
codewhale-workflow = { path = "../workflow", version = "0.9.2" }
codewhale-execpolicy = { path = "../execpolicy", version = "0.9.2" }
codewhale-mcp = { path = "../mcp", version = "0.9.2" }
codewhale-release = { path = "../release", version = "0.9.2" }
codewhale-secrets = { path = "../secrets", version = "0.9.2" }
codewhale-state = { path = "../state", version = "0.9.2" }
chrono.workspace = true
dirs.workspace = true
serde.workspace = true
@@ -44,7 +44,7 @@ tempfile.workspace = true
tracing.workspace = true
[build-dependencies]
codewhale-build-support = { path = "../build-support", version = "0.9.1" }
codewhale-build-support = { path = "../build-support", version = "0.9.2" }
# Parent-death cleanup for delegated server children (#3259): on Linux the
# dispatcher sets PR_SET_PDEATHSIG so the child is signalled if the dispatcher
+2 -2
View File
@@ -9,8 +9,8 @@ description = "Config schema and precedence model for Codewhale"
[dependencies]
anyhow.workspace = true
codewhale-execpolicy = { path = "../execpolicy", version = "0.9.1" }
codewhale-secrets = { path = "../secrets", version = "0.9.1" }
codewhale-execpolicy = { path = "../execpolicy", version = "0.9.2" }
codewhale-secrets = { path = "../secrets", version = "0.9.2" }
dirs.workspace = true
fd-lock = "4.0.4"
libc = "0.2"
+8 -8
View File
@@ -10,14 +10,14 @@ description = "Core runtime boundaries for Codewhale"
[dependencies]
anyhow.workspace = true
chrono.workspace = true
codewhale-agent = { path = "../agent", version = "0.9.1" }
codewhale-config = { path = "../config", version = "0.9.1" }
codewhale-execpolicy = { path = "../execpolicy", version = "0.9.1" }
codewhale-hooks = { path = "../hooks", version = "0.9.1" }
codewhale-mcp = { path = "../mcp", version = "0.9.1" }
codewhale-protocol = { path = "../protocol", version = "0.9.1" }
codewhale-state = { path = "../state", version = "0.9.1" }
codewhale-tools = { path = "../tools", version = "0.9.1" }
codewhale-agent = { path = "../agent", version = "0.9.2" }
codewhale-config = { path = "../config", version = "0.9.2" }
codewhale-execpolicy = { path = "../execpolicy", version = "0.9.2" }
codewhale-hooks = { path = "../hooks", version = "0.9.2" }
codewhale-mcp = { path = "../mcp", version = "0.9.2" }
codewhale-protocol = { path = "../protocol", version = "0.9.2" }
codewhale-state = { path = "../state", version = "0.9.2" }
codewhale-tools = { path = "../tools", version = "0.9.2" }
serde_json.workspace = true
tokio = { workspace = true, features = ["time"] }
tracing.workspace = true
+1 -1
View File
@@ -9,5 +9,5 @@ description = "Execution policy and approval model for Codewhale"
[dependencies]
anyhow.workspace = true
codewhale-protocol = { path = "../protocol", version = "0.9.1" }
codewhale-protocol = { path = "../protocol", version = "0.9.2" }
serde.workspace = true
+2 -2
View File
@@ -11,8 +11,8 @@ description = "Hook dispatch and notifications support for Codewhale"
anyhow.workspace = true
async-trait.workspace = true
chrono.workspace = true
codewhale-protocol = { path = "../protocol", version = "0.9.1" }
codewhale-release = { path = "../release", version = "0.9.1" }
codewhale-protocol = { path = "../protocol", version = "0.9.2" }
codewhale-release = { path = "../release", version = "0.9.2" }
reqwest.workspace = true
serde.workspace = true
serde_json.workspace = true
+1 -1
View File
@@ -10,7 +10,7 @@ description = "Lane registry and Runtime backends for Codewhale workflow instanc
[dependencies]
anyhow.workspace = true
chrono.workspace = true
codewhale-config = { path = "../config", version = "0.9.1" }
codewhale-config = { path = "../config", version = "0.9.2" }
fd-lock = "4.0.4"
serde.workspace = true
serde_json.workspace = true
+1 -1
View File
@@ -10,7 +10,7 @@ description = "Session/thread persistence and recovery model for Codewhale"
[dependencies]
anyhow.workspace = true
chrono.workspace = true
codewhale-protocol = { path = "../protocol", version = "0.9.1" }
codewhale-protocol = { path = "../protocol", version = "0.9.2" }
dirs.workspace = true
fd-lock = "4.0.4"
rusqlite.workspace = true
+1 -1
View File
@@ -10,7 +10,7 @@ description = "Tool invocation lifecycle, schema validation, and scheduler paral
[dependencies]
anyhow.workspace = true
async-trait.workspace = true
codewhale-protocol = { path = "../protocol", version = "0.9.1" }
codewhale-protocol = { path = "../protocol", version = "0.9.2" }
serde.workspace = true
serde_json.workspace = true
thiserror.workspace = true
+2 -56
View File
@@ -7,6 +7,8 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
## [Unreleased]
## [0.9.2] - 2026-07-27
### Changed — behavior
- **Legacy `model = auto` no longer elects a network classifier on its own.**
@@ -2762,62 +2764,6 @@ folds in several community contributions.
`rustls` (release crate); the orphaned `vendor/schemaui-0.12.0` lockfile
leftover and a machine-specific one-off `scripts/verify_task.sh`.
## [0.8.56] - 2026-06-09
### Added
- **Status picker localization.** The status picker surface (7 MessageIds) is
now localized across all supported locales (#2896, @gordonlu).
- **Approval dialog localization.** The approval dialog surface is now
localized across 7 locales: English, Simplified Chinese, Japanese,
Vietnamese, Portuguese, Spanish, and French (#2891, @gordonlu).
- **Volcengine provider in TUI dispatcher.** The `codewhale` / `codewhale-tui`
CLI dispatcher now allows the Volcengine provider, so users can launch
directly into a Volcengine-backed session (#2923, @hongchen1993).
- **Dispatcher API-key preference.** When a provider-specific API key is
supplied via the CLI dispatcher, it is now preferred over the saved root
key, fixing a regression where saved keys masked explicit CLI keys (#2928,
@hongchen1993).
- **Qwen 3.6 Plus model support.** Added complete Qwen 3.6 Plus model
resolution with dedicated version-bump tests (#2930, @idling11).
- **Oversized paste spill.** Pastes larger than ~10 KB are now written to
`.codewhale/pastes/` instead of being truncated or dropped, preserving the
full content for the session (#2920, @sximelon).
- **Cross-session prompt cache.** Added a disk-backed cross-session prompt
base-section cache so post-mode-flip and post-restart turns reuse the
byte-stable prefix without rebuilding it from scratch.
### Fixed
- **Background shell routing.** Shell commands expected to take >5 seconds are
now automatically guided to background tasks instead of blocking the agent
loop, with the task panel syncing immediately on cancel (#2947, #2941,
@cyq1017, @idling11).
- **`allow_shell` error naming.** Shell-tool refusal errors now explicitly name
`allow_shell = false` as the reason and suggest `/config allow_shell true` as
the escape hatch (#2905, @cyq1017).
- **Prefix-cache stability across mode flips.** `allow_shell` is now decoupled
from the static system-prompt prefix, so mode changes (Plan ↔ Agent ↔ YOLO)
no longer rebuild the byte-stable message[0] and invalidate the DeepSeek
prefix cache (#2949, @LeoAlex0).
- **`visibility="internal"` explained.** The Runtime Policy Reference section
of the system prompt now explains the `visibility="internal"` attribute so
models stop narrating their current mode between steps (#2951, @LeoAlex0).
- **Bocha web search response handling.** Updated response parsing for the
Bocha search backend after an upstream API change (#2946, @h3c-hexin).
- **PDF read hang.** Full-PDF reads now use `extract_text_by_pages` to avoid
a hang on large or complex PDFs (#2898, @idling11).
- **9 critical bugs.** Fixed bugs across tools, client, and commands: stale
`ContentBlockStop` cleanup, missing `#[test]` attribute, trailing-space
restoration on English `ApprovalField` labels, and several
correctness/stability issues (#2880, @HUQIANTAO).
### Changed
- **CNB shim cleanup.** Removed deprecated `deepseek` shim references from the
CNB mirror path.
- **Style.** Applied `cargo fmt` to `crates/tools/src/file.rs`.
---
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).
+10 -10
View File
@@ -24,15 +24,15 @@ path = "src/main.rs"
[dependencies]
ahash = "0.8"
anyhow.workspace = true
codewhale-config = { path = "../config", version = "0.9.1" }
codewhale-execpolicy = { path = "../execpolicy", version = "0.9.1" }
codewhale-lane = { path = "../lane", version = "0.9.1" }
codewhale-protocol = { path = "../protocol", version = "0.9.1" }
codewhale-release = { path = "../release", version = "0.9.1" }
codewhale-secrets = { path = "../secrets", version = "0.9.1" }
codewhale-tools = { path = "../tools", version = "0.9.1" }
codewhale-workflow = { path = "../workflow", version = "0.9.1" }
codewhale-workflow-js = { path = "../workflow-js", version = "0.9.1" }
codewhale-config = { path = "../config", version = "0.9.2" }
codewhale-execpolicy = { path = "../execpolicy", version = "0.9.2" }
codewhale-lane = { path = "../lane", version = "0.9.2" }
codewhale-protocol = { path = "../protocol", version = "0.9.2" }
codewhale-release = { path = "../release", version = "0.9.2" }
codewhale-secrets = { path = "../secrets", version = "0.9.2" }
codewhale-tools = { path = "../tools", version = "0.9.2" }
codewhale-workflow = { path = "../workflow", version = "0.9.2" }
codewhale-workflow-js = { path = "../workflow-js", version = "0.9.2" }
schemaui = { version = "0.12.0", default-features = false, optional = true }
async-stream = "0.3.6"
async-trait.workspace = true
@@ -98,7 +98,7 @@ shell-words = "1.1.1"
mimalloc.workspace = true
[build-dependencies]
codewhale-build-support = { path = "../build-support", version = "0.9.1" }
codewhale-build-support = { path = "../build-support", version = "0.9.2" }
[dev-dependencies]
cucumber = "0.23.0"
+1 -1
View File
@@ -14,7 +14,7 @@
"sources": ["Cargo.toml", "LICENSE", "README.md", "npm/codewhale/package.json", "docs/FLEET.md"]
},
"sourceCandidate": {
"version": "0.9.1",
"version": "0.9.2",
"providerCount": 36,
"toolCount": 70,
"sandboxBackends": [
+2 -2
View File
@@ -1,7 +1,7 @@
{
"name": "codewhale",
"version": "0.9.1",
"codewhaleBinaryVersion": "0.9.1",
"version": "0.9.2",
"codewhaleBinaryVersion": "0.9.2",
"description": "Terminal coding agent for supported hosted and local models. One runtime on your machine. Rust, MIT.",
"author": "Hmbown",
"license": "MIT",
+1 -1
View File
@@ -1559,7 +1559,7 @@
}
},
"npm/codewhale": {
"version": "0.9.1",
"version": "0.9.2",
"funding": [
{
"type": "github",
+1 -1
View File
@@ -20,7 +20,7 @@
# Uses prebuilt release binaries instead of a Rust build.
set -euo pipefail
RELEASE_TAG="${RELEASE_TAG:-v0.9.1}"
RELEASE_TAG="${RELEASE_TAG:-v0.9.2}"
REPO_URL="${REPO_URL:-https://github.com/Hmbown/CodeWhale.git}"
REPO_BRANCH="${REPO_BRANCH:-main}"
SECRETS_FILE="${SECRETS_FILE:-/tmp/cw-secrets.env}"
+2 -2
View File
@@ -27,10 +27,10 @@ export interface RepoFacts {
}
export const FACTS: RepoFacts = {
"generatedAt": "2026-07-26T23:49:31.273Z",
"generatedAt": "2026-07-27T12:58:44.404Z",
"sourceRevision": null,
"sourceCommittedAt": null,
"version": "0.9.1",
"version": "0.9.2",
"crates": [
"agent",
"app-server",