Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
8 changes: 7 additions & 1 deletion CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,9 @@ All notable changes to `yoagent` are documented here. The format loosely
follows [Keep a Changelog](https://keepachangelog.com/), and the project
adheres to [Semantic Versioning](https://semver.org/).

## Unreleased
## 0.25.2 (2026-10-09)

Patch release. yoagent-rutis (0.1.1) and yoagent-workers (0.2.0) are unchanged. **Behaviour change on Unix** (`BashTool`, below): a running command no longer receives the terminal's Ctrl+C; hosts should cancel or drop the call on Ctrl+C.

### Added

Expand All @@ -14,6 +16,10 @@ adheres to [Semantic Versioning](https://semver.org/).

- **`BashTool` kills what a command started** (#277, suggested by @shahidcodes). On Unix, `bash` now leads its own process group, and a timeout, a cancel or dropping the call kills the whole group: pipeline stages, `&&` lists and background jobs no longer keep running. Only a process that starts its own session (`setsid`) escapes. A command that finishes on its own leaves a background job alone when the job's output is redirected (`cmd >log 2>&1 &`); one still writing to the tool's output keeps the call open until the timeout, which now kills it. **Behaviour change:** the command is no longer in the terminal's foreground group, so the terminal's Ctrl+C does not reach it — cancel or drop the call on Ctrl+C (the `cli` example now aborts the run), and a command prompting on `/dev/tty` (`sudo`, SSH) stops until the timeout. Windows is unchanged (the `bash` process only). Adds `libc` as a Unix-only dependency (already in the tree through tokio). Tests: timeout, cancel, drop and normal completion in `tests/tools_test.rs`, mutation-checked.

### Docs

- **README:** a new loop diagram (the `Extension` hooks at their real points, `on_stop`'s continue, limits as a second exit), "Why yoagent", "Extend it" (a policy example, plugins and the pi / DSH adapters), "Runs where agents run" (Workers), What's in the box as a table, Contributing, Security and Acknowledgements.

### Tests

- **HTTP MCP on wasm32.** `tests/wasm32.rs` runs an agent that connects to an HTTP MCP server, discovers its tool and calls it from the loop, through the host's `fetch` (a scripted server replaces the global `fetch`): handshake, `Mcp-Session-Id` replay and the tool result. The Workers guide notes that a stalled MCP stream has no idle read timeout of its own on wasm32.
Expand Down
2 changes: 1 addition & 1 deletion Cargo.toml
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
[package]
name = "yoagent"
version = "0.25.1"
version = "0.25.2"
edition = "2021"
# MSRV-aware dependency resolution (cargo 1.84+): prefer dependency versions
# whose own rust-version fits ours. Without it CI re-resolves to whatever is
Expand Down
Loading