This release adds dynamic MCP HTTP headers, new shell safety policies, per-model custom pricing, and cache-stable dynamic prompts, along with fixes for elicitation delivery and session cost tracking.
What's New
- Adds dynamic MCP HTTP headers via a header factory, enabling context-aware HTTP header resolution instead of static headers fixed at startup
- Adds a
safe-autosafety policy for shell operations, providing a middle ground between prompting for every tool call and--yolomode; safe calls beyond shell are auto-approved under this policy, with an opt-insafermode available viaapprove-saferresume - Adds an optional
costblock to model configuration, allowing explicit per-model token pricing for custom, locally-hosted, or uncatalogued models - Adds opt-in cache-stable dynamic prompts (
cache_stable_promptsuser setting), persisting frozen instruction snapshots and appending chronological updates when trusted context changes
Bug Fixes
- Fixes elicitation requests from concurrent background jobs being silently dropped and blocking the requesting handler indefinitely
- Fixes session cost dropping after compaction (e.g., from $49 to $12) by keeping cost monotonic across compaction and preserving cost accounting across reload
What's Changed
- feat: implement dynamic MCP HTTP headers via header factory by @Piyush0049 in #3583
- fix(runtime): reliable, correlation-safe, non-blocking elicitation delivery (#3584) by @aheritier in #3587
- docs: update CHANGELOG.md for v1.109.0 by @docker-read-write[bot] in #3661
- Add opt-in cache-stable dynamic prompts by @rumpl in #3662
- fix(session): keep cost monotonic across compaction by @Sayt-0 in #3663
- feat(safer_shell): add safe-auto safety policy by @trungutt in #3647
- feat(config): declare explicit per-model token pricing with cost by @dgageot in #3664
Full Changelog: v1.109.0...v1.110.0