Rig v0.35.0 now available! #1632
gold-silver-copper
announced in
Announcements
Replies: 0 comments
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Uh oh!
There was an error while loading. Please reload this page.
-
Hi everyone, Rig v0.35 is available to use!
The main themes this time are better tool-calling compatibility, more reliable streaming behavior, improved Bedrock observability, and a useful step forward for model discovery.
Model listing support
Client::list_models()is now available for Ollama, Anthropic, Mistral, OpenAI, and Gemini.If you're building tooling on top of Rig, this makes it much easier to discover provider-supported models programmatically instead of maintaining your own model lists or checking provider docs.
Better multimodal and local model support
We've added GPT Image 1.5 support in this release.
We also added llama.cpp tool-call handling and followed that up with a few fixes aimed at OpenAI-compatible and local backends more broadly. In particular, Rig now delays
response_format/ JSON schema on initial tool turns so schema enforcement is less likely to get in the way of first-turn tool selection.We also fixed raw string tool outputs so they stay raw instead of being JSON-stringified a second time. That avoids double-escaped tool results and makes it safer to pass structured JSON through
String-returning tools when that is your intended contract.More reliable streaming and tool execution
One of the more important fixes in this release is around multi-turn streaming after tool calls.
Previously, the follow-up request could duplicate the original user prompt, drop the assistant tool-call message, and send only the tool result on the next turn. That is especially problematic for stricter providers that require the assistant tool call and the tool output to stay paired correctly across turns. Rig now preserves that history properly and avoids replaying the pending prompt twice.
OpenAI Responses streaming now also treats
response.failedandresponse.incompleteas real provider errors instead of silently returning an empty final response.On the tool-execution side,
ToolServernow does less internal blocking during lookup and execution, which should improve behavior in more concurrent and tool-heavy workloads.Bedrock improvements
rig-bedrocknow records OpenTelemetry metadata for non-streaming completion responses, which brings its completion path much closer to the observability support available in Rig's built-in providers.This release also adds prompt caching support in
rig-bedrock. The first version is intentionally scoped to explicit cache checkpoints forsystemcontent and messages, which keeps the API straightforward while covering the main caching path.Breaking changes
This release updates Rig's direct Anthropic constants to the current Claude families and removes several older public constants.
Migration path:
CLAUDE_4_OPUS->CLAUDE_OPUS_4_6CLAUDE_4_SONNET->CLAUDE_SONNET_4_6CLAUDE_3_5_HAIKU->CLAUDE_HAIKU_4_5If you're still using
CLAUDE_3_5_SONNETorCLAUDE_3_7_SONNET, move to the current constants or pass an explicit current model string instead.There were also changes to
rig::tool::server::*internals as part of the tool concurrency work. Most users won't need to do anything, but direct users of those lower-level APIs may need to update their code.Fixed
response_formaton initial tool turns for OpenAI Chat Completionsresponse.failed/response.incompletestream endings as provider errorsStringtool outputs instead of double-escaping themOther
1.3Full changelog: #1592
Thanks for reading! We build rig, rig builds us.
Beta Was this translation helpful? Give feedback.
All reactions