Skip to content

release: 0.18.0 - #152

Merged
yuanhao merged 1 commit into
mainfrom
release/0.18.0
Aug 22, 2026
Merged

release: 0.18.0#152
yuanhao merged 1 commit into
mainfrom
release/0.18.0

Conversation

@yuanhao

@yuanhao yuanhao commented Aug 22, 2026

Copy link
Copy Markdown
Collaborator

Twelve commits since v0.17.0. Six breaking changes, so a minor bump.

Breaking

  • CostConfig::new and ContextTier::new take two rates; cache rates move to with_cache_read / with_cache_write
  • CostConfig::context_tier: Option<ContextTier>context_tiers: Vec<ContextTier>, kept sorted
  • CostConfig and ExecutionLimits are now #[non_exhaustive] — build with new() / Default::default() plus with_*
  • ExecutionLimits gained max_consecutive_identical_tool_calls (on by default, Some(3))
  • AgentLoopConfig gained tool_output_sink

ExecutionTracker also lost struct-literal construction; it is recorded in the CHANGELOG.

Headline

  • Retrievable tool output — truncation stashes the full text and the marker names a key the model can fetch
  • Loop detection — steers on the third consecutive identical call, stops on the next
  • Price drift audit against models.dev, gating every shipped rate
  • Context tiers in CostConfig (no preset uses one; see gpt_5_5's docs for why)
  • Fixed: tools with no parameters were uncallable on Anthropic — pre-existing, affects released versions

Verification

Tests 619 passed, 0 failed
Clippy clean under -Dwarnings
Feature combos default / openapi / gasp all green
Live price audit 26 compared, 0 drifted
Live smoke 6/6 Sonnet 5, 5/5 DeepSeek
Long-horizon transcript valid across compaction, 67.2% cache hit rate
Packaging cargo package builds
Docs reference updated to the new API, mdbook build clean

Known, not blocking

#150LlmCompaction takes the deterministic fallback on tool-heavy workloads, root-caused to compact_headroom_turns driving the target ratio to its floor. Byte-identical in v0.16.5 and v0.17.0, so holding this release protects nobody; the fix is a defaults change that wants measurement.

Release commit is exactly two files — Cargo.lock is gitignored.

🤖 Generated with Claude Code

Twelve commits since v0.17.0. Six breaking changes, so a minor bump.

Breaking:
  - CostConfig::new and ContextTier::new take two rates; cache rates move
    to with_cache_read/with_cache_write
  - CostConfig::context_tier becomes context_tiers: Vec, kept sorted
  - CostConfig and ExecutionLimits are #[non_exhaustive]
  - ExecutionLimits gained max_consecutive_identical_tool_calls
  - AgentLoopConfig gained tool_output_sink

Verified: 619 tests, clippy clean under -Dwarnings, all three feature
combos green, live price audit 26 compared / 0 drifted, cargo package
builds, and live smoke on two providers (6/6 Sonnet 5, 5/5 DeepSeek)
plus a long-horizon compaction run.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
@yuanhao
yuanhao merged commit 4dbee87 into main Aug 22, 2026
16 checks passed
@yuanhao
yuanhao deleted the release/0.18.0 branch August 22, 2026 22:20
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant