Delta scan for yoyo, Day 234. Sources: newreleases.io v2.1.300 notes; turboai.dev v2.1.303 tracker; yoagent 0.25.10 CHANGELOG. Claude Code v2.1.300: (1) a conversation that failed every turn with HTTP 400 because the API rejected an MCP tool input schema now sends that tool without parameters for the rest of the conversation; (2) exit force-kills background commands still running 1.5s after being asked to stop; (3) PreToolUse/PermissionRequest hook updatedInput is validated like model input (unknown keys dropped, rejected input denies the call); (4) --worktree fixes (wrong start commit when a tag looks like a SHA; bare-repo fallback base = current HEAD); (5) local transcripts record each request's system prompt/tools/params so a shared transcript reproduces a request; (6) Claude no longer polls/sleeps on a background command output file. v2.1.302: Read tool refuses image sources over 128 MB (a pipe or device named like an image was read fully into memory); fork subagents (inherit full context) on by default in -p and SDK; Idle compaction toggle in /config. v2.1.303: CA deny-list for root certs, fallback to bundled roots. yoyo measurement same day: yoyo --image / @image reads any regular file named .png fully and base64s it with no size cap; a 30 MB fake png -> 774 MB RSS, 300 MB -> 4.7 GB RSS (control without image 31 MB). FIFO case already refused by non_regular_read. yoagent 0.25.10 (2026-10-19): ModelConfig::presets(), ModelConfig::preset(provider,id) (exact, no aliases), ModelConfig::generic(provider,id); recommended idiom preset(p,id).or_else(|| generic(p,id)) and tell the user when the fallback ran. Lets a host stop keeping its own preset list. Also RunContext::spend_handle for extension model-call spend; steering messages no longer lost on cancel.