From 66444d9920a630d9ec56ae90935dbd966e534b94 Mon Sep 17 00:00:00 2001 From: Yuanhao Li Date: Fri, 16 Oct 2026 15:43:43 +0200 Subject: [PATCH] release: 0.25.6 and yoagent-rutis 0.4.0 Co-Authored-By: Claude Opus 5.5 (1M context) Claude-Session: https://claude.ai/code/session_01T7iq5hpndSiHQcnAsywKuG --- CHANGELOG.md | 8 ++++---- Cargo.toml | 2 +- integrations/yoagent-rutis/Cargo.toml | 2 +- integrations/yoagent-rutis/README.md | 2 +- skills/yoagent/SKILL.md | 11 ++++++++++- 5 files changed, 17 insertions(+), 8 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index de408f86..e9cd1d4e 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -4,13 +4,13 @@ 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 - -### yoagent +## 0.25.6 (2026-10-16) - **DeepSeek is priced** (after `prices::enable_bundled()`): `deepseek-flash`, `deepseek-v4-pro` and the legacy `deepseek-v4-flash` (billed as Flash), from DeepSeek's pricing page. **At the peak rate:** DeepSeek bills half of it off-peak (all hours but 01:00–04:00 and 06:00–10:00 UTC on weekdays), and a `CostConfig` has no time of day, so costs are an upper bound — off-peak they read up to twice the bill, and a `Budget` stops early rather than late. Install the off-peak rates as an override to count those instead (`docs/concepts/pricing.md`). `ModelConfig::deepseek(..)` for those ids now has a `cost`; `Budget::for_model` works for them. The price audit checks the rates as exactly twice models.dev's off-peak ones, and models.dev data (`enable_live`, a fetch or a price cache written by an earlier version) never brings DeepSeek's off-peak rates back over the bundled peak ones. `examples/llm_compaction_live.rs` reads DeepSeek's rates from the snapshot instead of its own literals. -### yoagent-rutis (0.4.0) +## yoagent-rutis 0.4.0 (2026-10-16) + +yoagent-rutis only; requires yoagent 0.25, rutis 0.9 and Rust 1.88. A minor bump: new public API (`adapters`, the `probe` feature). - **`yoagent_rutis::adapters`: where the pi and DSH adapters are.** `adapters()` returns the folders of the adapter files the crate ships (`plugins/pi`, `plugins/dsh`, `plugins/yoagent.d.ts`), so a host can copy them and `npm ci` the copy instead of keeping its own copy of them in step with the crate's. - **`yoagent_rutis::probe` (feature `probe`): vet a plugin package without running it as an agent.** `probe::pi` and `probe::dsh` load a pi extension or DSH plugin rows through the adapter, as an agent would, and report what an agent gets — tools, prompt additions, which DSH services it needs and whether they exist, skills, and what the plugin logged — without calling a tool or a model. Both take `plugins`, a copy of `adapters().root` with `npm ci` run in its `pi/` and `dsh/`. Each report's `problem()` is the verdict (`None` = a clean load). Probes in one process run one at a time, so each report carries its own plugin logs. It is what `examples/ecosystem_probe.rs` (the compatibility matrix's probe, now with `--plugins`) ran; the example now calls it, with the same verdicts. The feature adds `rutis-loader`, `tempfile` and `tracing-subscriber`; the default build is unchanged. diff --git a/Cargo.toml b/Cargo.toml index f1fb10f2..b18157d9 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "yoagent" -version = "0.25.5" +version = "0.25.6" 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 diff --git a/integrations/yoagent-rutis/Cargo.toml b/integrations/yoagent-rutis/Cargo.toml index e9752a99..ba0c2cc7 100644 --- a/integrations/yoagent-rutis/Cargo.toml +++ b/integrations/yoagent-rutis/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "yoagent-rutis" -version = "0.3.1" +version = "0.4.0" edition = "2021" resolver = "3" description = "Extend yoagent agents at runtime with rutis plugins, as one yoagent Extension: tools, tool policy, output filters, turn notes, input checks, verifiers and events" diff --git a/integrations/yoagent-rutis/README.md b/integrations/yoagent-rutis/README.md index 51237a10..664c7819 100644 --- a/integrations/yoagent-rutis/README.md +++ b/integrations/yoagent-rutis/README.md @@ -713,7 +713,7 @@ as `yoagent-rutis`: a crates.io `yoagent` next to a git `yoagent-rutis` is two ```toml yoagent = "0.25" -yoagent-rutis = "0.3" +yoagent-rutis = "0.4" ``` ## License diff --git a/skills/yoagent/SKILL.md b/skills/yoagent/SKILL.md index 9f1db336..a225fc04 100644 --- a/skills/yoagent/SKILL.md +++ b/skills/yoagent/SKILL.md @@ -5,7 +5,7 @@ description: Use when building, extending or upgrading an agent on the yoagent R # yoagent: which feature for which job -Written for **yoagent 0.25.5** (and yoagent-rutis 0.3.0); the recipes +Written for **yoagent 0.25.6** (and yoagent-rutis 0.4.0); the recipes below are compiled by `tests/skill_test.rs`, line for line. Check what you build against: `cargo tree -p yoagent` or `Cargo.lock`. If you are on an older version, read [What changed](#what-changed) first. @@ -198,6 +198,11 @@ and its examples. Newest first; the full list is `CHANGELOG.md`. +- **0.25.6** — DeepSeek is priced (after `prices::enable_bundled()`): + `deepseek-flash`, `deepseek-v4-pro`, `deepseek-v4-flash`, at the **peak** + rate (off-peak is half; a flat price has no time of day), so its costs are + an upper bound and a `Budget` stops early rather than late. Install the + off-peak rates as an override to count those (`docs/concepts/pricing.md`). - **0.25.5** — the built-in `search` tool ignores the user's ripgrep config (`--no-config`) and `GREP_OPTIONS`, finds `rg` without `which` (`details.engine` says `"rg"` or `"grep"`), and reports a search that @@ -230,6 +235,10 @@ Newest first; the full list is `CHANGELOG.md`. - **0.24.2** — built-in tool sandbox fixes (path escapes, `search` flag injection, Gemini key out of the URL, tool panics contained). - **0.24.1** — `retry_safe_events`. +- **yoagent-rutis 0.4.0** — `adapters()` (the pi and DSH adapter files the + crate ships: copy `root`, `npm ci` the copy) and the `probe` feature: vet + a pi extension or DSH plugin without running it as an agent; each + report's `problem()` is the verdict. - **yoagent-rutis 0.3.0** — rutis 0.9 (Rust 1.88); Bun and Go plugins; the 16 MiB guard.