diff --git a/CHANGELOG.md b/CHANGELOG.md index d2121d44..a9d55080 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -10,6 +10,8 @@ breaking entries are marked **BREAKING**. ## [Unreleased] +## [0.17.2] - 2026-09-09 + ### Fixed - Literal paths such as `.git/HEAD`, `2026/report`, `./`, and `../` now parse @@ -2657,7 +2659,8 @@ Initial public release of **kaish** (会sh) — a predictable Bourne-like shell - **REPL** (`kaish-repl`) with multi-line input, completion, and history; **MCP server** (`kaish-mcp`) exposing `kaish_execute` with help resources and structured + plain-text content blocks. - **`KernelClient` trait** + `EmbeddedClient` for in-process embedding; topic-based help system; `kaish-wasi` `wasm32-wasip1` target. -[Unreleased]: https://github.com/tobert/kaish/compare/v0.17.1...HEAD +[Unreleased]: https://github.com/tobert/kaish/compare/v0.17.2...HEAD +[0.17.2]: https://github.com/tobert/kaish/compare/v0.17.1...v0.17.2 [0.17.1]: https://github.com/tobert/kaish/compare/v0.17.0...v0.17.1 [0.17.0]: https://github.com/tobert/kaish/compare/v0.16.0...v0.17.0 [0.16.0]: https://github.com/tobert/kaish/compare/v0.15.0...v0.16.0 diff --git a/Cargo.lock b/Cargo.lock index a2a97786..3f1e62dc 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -1011,7 +1011,7 @@ dependencies = [ [[package]] name = "kaish-client" -version = "0.17.1" +version = "0.17.2" dependencies = [ "anyhow", "async-trait", @@ -1027,7 +1027,7 @@ dependencies = [ [[package]] name = "kaish-glob" -version = "0.17.1" +version = "0.17.2" dependencies = [ "async-trait", "ignore", @@ -1039,14 +1039,14 @@ dependencies = [ [[package]] name = "kaish-help" -version = "0.17.1" +version = "0.17.2" dependencies = [ "kaish-types", ] [[package]] name = "kaish-kernel" -version = "0.17.1" +version = "0.17.2" dependencies = [ "anyhow", "ariadne", @@ -1108,7 +1108,7 @@ dependencies = [ [[package]] name = "kaish-repl" -version = "0.17.1" +version = "0.17.2" dependencies = [ "anyhow", "chrono", @@ -1130,7 +1130,7 @@ dependencies = [ [[package]] name = "kaish-tool-api" -version = "0.17.1" +version = "0.17.2" dependencies = [ "async-trait", "clap", @@ -1139,7 +1139,7 @@ dependencies = [ [[package]] name = "kaish-tools-host" -version = "0.17.1" +version = "0.17.2" dependencies = [ "async-trait", "clap", @@ -1150,7 +1150,7 @@ dependencies = [ [[package]] name = "kaish-types" -version = "0.17.1" +version = "0.17.2" dependencies = [ "base64", "schemars", @@ -1163,7 +1163,7 @@ dependencies = [ [[package]] name = "kaish-vfs" -version = "0.17.1" +version = "0.17.2" dependencies = [ "async-trait", "getrandom 0.3.4", @@ -1175,7 +1175,7 @@ dependencies = [ [[package]] name = "kaish-wasi" -version = "0.17.1" +version = "0.17.2" dependencies = [ "kaish-kernel", "kaish-types", diff --git a/Cargo.toml b/Cargo.toml index 2b75fbc8..30455d80 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -14,7 +14,7 @@ members = [ ] [workspace.package] -version = "0.17.1" +version = "0.17.2" edition = "2024" rust-version = "1.85" authors = ["Amy Tobey "] diff --git a/crates/kaish-client/Cargo.toml b/crates/kaish-client/Cargo.toml index 09c1aa74..539779a0 100644 --- a/crates/kaish-client/Cargo.toml +++ b/crates/kaish-client/Cargo.toml @@ -16,8 +16,8 @@ readme = "../../README.md" # Feature-neutral on purpose: the embedder decides the kernel's feature set # (kaish-web builds no-default for wasm; native hosts add localfs etc.). # Unification means enabling defaults here would trample that choice. -kaish-kernel = { path = "../kaish-kernel", version = "0.17.1", default-features = false } -kaish-types = { path = "../kaish-types", version = "0.17.1" } +kaish-kernel = { path = "../kaish-kernel", version = "0.17.2", default-features = false } +kaish-types = { path = "../kaish-types", version = "0.17.2" } # Async traits only — no runtime: the library spawns nothing itself, and a # tokio dep here would drag net/mio into wasm builds (kaish-extras). @@ -39,7 +39,7 @@ tracing = { workspace = true } # this, `cargo test -p kaish-client` alone sees a no-localfs kernel while a # whole-workspace run gets localfs unified in by the REPL, and outcomes # depend on which crates happened to build. -kaish-kernel = { path = "../kaish-kernel", version = "0.17.1", features = ["localfs"] } +kaish-kernel = { path = "../kaish-kernel", version = "0.17.2", features = ["localfs"] } proptest = { workspace = true } tempfile = { workspace = true } # Tests drive the async client API; the library itself needs no runtime — diff --git a/crates/kaish-help/Cargo.toml b/crates/kaish-help/Cargo.toml index 11a3c775..f1d30602 100644 --- a/crates/kaish-help/Cargo.toml +++ b/crates/kaish-help/Cargo.toml @@ -13,7 +13,7 @@ categories.workspace = true readme = "../../README.md" [dependencies] -kaish-types = { path = "../kaish-types", version = "0.17.1" } +kaish-types = { path = "../kaish-types", version = "0.17.2" } [lints] workspace = true diff --git a/crates/kaish-kernel/Cargo.toml b/crates/kaish-kernel/Cargo.toml index 102b2832..0c15d5d3 100644 --- a/crates/kaish-kernel/Cargo.toml +++ b/crates/kaish-kernel/Cargo.toml @@ -14,11 +14,11 @@ readme = "../../README.md" exclude = ["tests/snapshots/"] [dependencies] -kaish-glob = { path = "../kaish-glob", version = "0.17.1" } -kaish-types = { path = "../kaish-types", version = "0.17.1", features = [] } -kaish-help = { path = "../kaish-help", version = "0.17.1" } -kaish-tool-api = { path = "../kaish-tool-api", version = "0.17.1" } -kaish-vfs = { path = "../kaish-vfs", version = "0.17.1", features = ["memory", "overlay"] } +kaish-glob = { path = "../kaish-glob", version = "0.17.2" } +kaish-types = { path = "../kaish-types", version = "0.17.2", features = [] } +kaish-help = { path = "../kaish-help", version = "0.17.2" } +kaish-tool-api = { path = "../kaish-tool-api", version = "0.17.2" } +kaish-vfs = { path = "../kaish-vfs", version = "0.17.2", features = ["memory", "overlay"] } # Async runtime — minimal base; `localfs` adds tokio/fs, `subprocess` adds # tokio/process + tokio/rt-multi-thread (see [features]). @@ -90,7 +90,7 @@ jaq-json = { workspace = true } # Optional deps, each pulled in by its capability feature: # kaish-tools-host → host, trash/directories → os-integration, # tiktoken-rs → tokens. -kaish-tools-host = { path = "../kaish-tools-host", version = "0.17.1", optional = true } +kaish-tools-host = { path = "../kaish-tools-host", version = "0.17.2", optional = true } trash = { workspace = true, optional = true } directories = { workspace = true, optional = true } tiktoken-rs = { workspace = true, optional = true } diff --git a/crates/kaish-repl/Cargo.toml b/crates/kaish-repl/Cargo.toml index 19ecefe2..0998b8ad 100644 --- a/crates/kaish-repl/Cargo.toml +++ b/crates/kaish-repl/Cargo.toml @@ -19,9 +19,9 @@ path = "src/main.rs" [dependencies] # The REPL is the full interactive human shell: it needs every capability # (external commands + job control, git, host introspection, tokens, trash). -kaish-kernel = { path = "../kaish-kernel", version = "0.17.1", features = ["full"] } -kaish-client = { path = "../kaish-client", version = "0.17.1" } -kaish-types = { path = "../kaish-types", version = "0.17.1" } +kaish-kernel = { path = "../kaish-kernel", version = "0.17.2", features = ["full"] } +kaish-client = { path = "../kaish-client", version = "0.17.2" } +kaish-types = { path = "../kaish-types", version = "0.17.2" } # Line editing rustyline = { workspace = true } diff --git a/crates/kaish-tool-api/Cargo.toml b/crates/kaish-tool-api/Cargo.toml index 4e6b8841..1e9eee86 100644 --- a/crates/kaish-tool-api/Cargo.toml +++ b/crates/kaish-tool-api/Cargo.toml @@ -13,7 +13,7 @@ categories.workspace = true readme = "../../README.md" [dependencies] -kaish-types = { path = "../kaish-types", version = "0.17.1", features = [] } +kaish-types = { path = "../kaish-types", version = "0.17.2", features = [] } async-trait = { workspace = true } clap = { workspace = true } diff --git a/crates/kaish-tools-host/Cargo.toml b/crates/kaish-tools-host/Cargo.toml index 4cd9c86e..c12cd1e2 100644 --- a/crates/kaish-tools-host/Cargo.toml +++ b/crates/kaish-tools-host/Cargo.toml @@ -13,8 +13,8 @@ categories.workspace = true readme = "../../README.md" [dependencies] -kaish-types = { path = "../kaish-types", version = "0.17.1", features = [] } -kaish-tool-api = { path = "../kaish-tool-api", version = "0.17.1" } +kaish-types = { path = "../kaish-types", version = "0.17.2", features = [] } +kaish-tool-api = { path = "../kaish-tool-api", version = "0.17.2" } async-trait = { workspace = true } clap = { workspace = true } diff --git a/crates/kaish-vfs/Cargo.toml b/crates/kaish-vfs/Cargo.toml index bbd068f9..d92323d0 100644 --- a/crates/kaish-vfs/Cargo.toml +++ b/crates/kaish-vfs/Cargo.toml @@ -13,7 +13,7 @@ categories.workspace = true readme = "../../README.md" [dependencies] -kaish-types = { path = "../kaish-types", version = "0.17.1", features = [] } +kaish-types = { path = "../kaish-types", version = "0.17.2", features = [] } async-trait = { workspace = true } # DevFs's /dev/urandom pulls from the OS CSPRNG. Pure (no tokio); works on # Unix/macOS/WASI.